学生信息管理系统(控制台)
学生信息管理系统(控制台)
1.运行截图:注: 1.按c++,数学,英语依次排序;2.多出信息为文件原有信息。
2.源代码(所有代码均在.cpp文件中,所以有点乱; 另:在vs2013下编译通过,在vc6.0下需要将strcpy_s改为strcpy,某处的循环变量i 会出现错误,改为j 即可;文件需事先创建)#include<iostream>#include<string.h>#include<fstream>#include<iomanip>using namespace std;//------------------------------------------------------------////------------------------类----------------------------------////------------------------------------------------------------//////------------------------成绩类------------------------------//class CGrade{public:CGrade(){}CGrade(float fCpp, float fMath, float fEnglish);~CGrade();void setCpp(float fCpp);void setMath(float fMath);void setEnglish(float fEnglish);float getCpp();float getMath();float getEnglish();private:float fCpp, fMath, fEnglish;};//------------------SET方法------------------------------//void CGrade::setCpp(float fCpp){this->fCpp = fCpp;}void CGrade::setMath(float fMath){this->fMath = fMath;}void CGrade::setEnglish(float fEnglish){this->fEnglish = fEnglish;}//---------------------GET方法--------------------------//float CGrade::getCpp(){return this->fCpp;};float CGrade::getMath(){return this->fMath;};float CGrade::getEnglish(){return this->fEnglish;};//-------------------------------------------------------CGrade::CGrade(float fCpp, float fMath, float fEnglish){this->fCpp = fCpp;this->fMath = fMath;this->fEnglish = fEnglish;};CGrade::~CGrade(){};////-------------------------------学生类---------------------------------------// class CStudent{public:CStudent(){}CStudent(char sName[30],int nAge,char cSex,float fCpp,float fMath,float fEnglish);~CStudent();void setStudent(char sName[30], int nAge, char cSex, float fCpp, float fMath, float fEnglish);void showStudent();char* getStudentName();float getStudentCppGrade();float getStudentMathGrade();float getStudentEnglishGrade();private:char sName[30];char cSex;int nAge;CGrade Grade;};//---------------------------------------------------------------------------------------------------------void CStudent::setStudent(char sName[30], int nAge, char cSex, float fCpp, float fMath, float fEnglish){strcpy_s(this->sName, sName);this->nAge = nAge;this->cSex = cSex;Grade.setCpp(fCpp);Grade.setMath(fMath);Grade.setEnglish(fEnglish);};//----------------------------------------------------------------------------------------------------------float CStudent::getStudentCppGrade(){return Grade.getCpp();};float CStudent::getStudentMathGrade(){return Grade.getMath();};float CStudent::getStudentEnglishGrade(){return Grade.getEnglish();};//-----------------------------------------------------------------------------------------------------------CStudent::CStudent(char sName[30], int nAge, char cSex, float fCpp, float fMath, float fEnglish) :Grade(fCpp,fMath,fEnglish){strcpy_s(this->sName, sName);this->nAge = nAge;this->cSex = cSex;};void CStudent::showStudent(){cout << setw(10) << setiosflags(ios::left) << sName << setw(5) << setiosflags(ios::left) << nAge << setw(5) << setiosflags(ios::left) << cSex;cout << setw(5) << setiosflags(ios::left) << Grade.getCpp()<< setw(5) <<setiosflags(ios::left) << Grade.getMath() << setw(5) << setiosflags(ios::left) << Grade.getEnglish() << endl;}char* CStudent::getStudentName(){return sName;}CStudent::~CStudent(){};/////////////////////////////////////////////////////////////////////////////////-------------------------------函数----------------------------------------/////////////////////////////////////////////////////////////////////////////////////-----------------------------输入函数--------------------------------------//void Grade_input(int n, CStudent *student){float fCpp, fMath, fEnglish;char cSex;int nAge;student = new CStudent[n];cout << "请输入学生的基本信息,包括:姓名,年龄,性别(M/F),C++、数学、英语成绩"<< endl;for (int i = 0; i < n; i++){char sName[30] = { "\0" };cin >> sName >> nAge >> cSex >> fCpp >> fMath >> fEnglish;if (nAge >= 200 || nAge <= 0 || (cSex != 'm'&&cSex != 'M'&&cSex != 'f'&&cSex != 'F') || (fCpp>100 || fCpp <= 0 || fMath > 100 || fMath <= 0 || fEnglish > 100 || fEnglish <= 0))cout << "输入错误,请重新输入:" << endl;i--;continue;}student[i].setStudent(sName,nAge,cSex,fCpp,fMath,fEnglish);}ofstream Studentfile("F://student.dat",ios::in|ios::out|ios::ate|ios::binary);if (Studentfile.is_open()){for (int i = 0; i < n; i++){Studentfile.write((char*)&student[i], sizeof(student[i]));}}delete[] student;};//-------------------------重载函数:查找---------------------------------//bool Find(char* arr_1,char* arr_2){return !strcmp(arr_1,arr_2);};bool Find(float a, float b){if (a == b) return true;else return false;return false;};//--------------------------模板函数comp----------------------------------// template<class T>int comp(T a, T b){if (a > b) return 1;else if (a == b) return 0;else return -1;};//---------------------------Swap-----------------------------------//template <class T>void Swap(T &a,T &b){T temp;temp = a;b = temp;}//---------------------------排序函数(交换排序)-------------------------------//void Sort(CStudent* student,int n){for (int i = 0; i < n-1; i++){for (int j = i + 1; j < n; j++){if (comp(student[i].getStudentCppGrade(), student[j].getStudentCppGrade()) == -1)Swap(student[i], student[j]);else if (comp(student[i].getStudentCppGrade(),student[j].getStudentCppGrade()) == 0){if (comp(student[i].getStudentMathGrade(),student[j].getStudentMathGrade()) == -1)Swap(student[i], student[j]);else if (comp(student[i].getStudentMathGrade(),student[j].getStudentMathGrade()) == 0){if (comp(student[i].getStudentEnglishGrade(),student[j].getStudentEnglishGrade()) == -1)Swap(student[i], student[j]);}}}}};//-------------------------------获取人数---------------------------------//int getStudentNumber(){fstream Studentflie("F://student.dat", ios::in | ios::out | ios::binary);Studentflie.seekg(0, ios::end); //设置文件指针到文件流的尾部int ps = Studentflie.tellg(); //读取文件指针的位置return ps / sizeof(CStudent);}//////////////////////////////////////////////////////////////////////////////-------------------------------主函数-----------------------------------//////////////////////////////////////////////////////////////////////////////int main(){CStudent *student = NULL;int n=0,sum=getStudentNumber();char judge;fstream Studentflie("F://student.dat", ios::in | ios::out | ios::binary); fstream studentfile("F://sortst.dat", ios::out | ios::in |ios::binary); cout << "是否添加信息?Y/N" << endl;cin >> judge;if (judge == 'Y' || judge == 'y'){cout << "输入学生数目:";cin >> n;Grade_input(n, student);}n += sum;student = new CStudent[n];if (studentfile.is_open()){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));}Sort(student,n);cout << "排序如下:" << endl;for (int i = 0; i < n; i++){studentfile.write((char*)&student[i], sizeof(student[i]));student[i].showStudent();}}else{cout << "文件打开失败!" << endl;abort();}if (Studentflie.is_open()){for (int i=0;;i++){int Way=0,Err=0;float grade;char Judge;char Name[30] = { "\0" };//if (i != 0){cout << "是否继续查找:Y/N" << endl;cin >> Judge;if (Judge == 'N' || Judge == 'n'){break;}}//cout << "输入查询方式:" << endl;cout << "1.按姓名查找;" << endl;cout << "2.按成绩查找." << endl;cout << "输入:1/2:";cin >> Way;if (Way > 2 || Way < 0){cout << "输入错误,请重新输入!" << endl;continue;}if (Way == 1){cout << "输入姓名:";cin >> Name;for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(Name, student[i].getStudentName())){Err = 1;student[i].showStudent();}}}else if (Way==2){int way=0;cout << "输入查询科目:" << endl;cout << "1.C++;" << endl;cout << "2.数学;" << endl;cout << "3.英语;" << endl;cout << "4.不限科目." << endl;cout << "输入:1/2/3/4:";cin >> way;if (way>4||way<0){cout << "输入错误,请重新输入!" << endl;continue;}cout << "输入成绩:";cin >> grade;if (way == 1){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentCppGrade())){Err = 1;student[i].showStudent();}}}else if (way == 2){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentMathGrade())){Err = 1;student[i].showStudent();}}}else if (way == 3){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentEnglishGrade())){Err = 1;student[i].showStudent();}}}else if (way==4){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentCppGrade())){Err = 1;student[i].showStudent();}else if ( Find(grade, student[i].getStudentMathGrade()) ){Err = 1;student[i].showStudent();}else if ( Find(grade, student[i].getStudentEnglishGrade())){Err = 1;student[i].showStudent();}}}}if (Err != 1) cout << "没有找到对应项!" << endl;}}else{cout << "文件打开失败!" << endl;abort();}Studentflie.close();studentfile.close();delete[] student;return 0;}。
java控制台实现学生信息管理系统
java控制台实现学⽣信息管理系统简介最近学了java基础后对以前不会写的作业深有感触,想起以前各种在⽹上找资料找别⼈的代码参考,所以今天特地写了了简单的基于控制台的学⽣信息管理系统供还在学基础的同学参考,写的有问题的地⽅也希望能指出来,好了,下⾯开始进⼊正题。
环境我使⽤的是idea编译器和1.8的jdk版本,有使⽤1.7以下jdk版本的同学运⾏会报错,解决⽅法是把ArrayLis<Student> arrayList=new Array<>();改成 ArrayLis<Student> arrayList=new Array<Student>(),下⾯开始讲解学⽣信息管理系统的实现过程。
系统分析学⽣信息管理系统主要是实现让⽼师登⼊账号(账号和密码我设置的都是“123”,你们也可以改成其他的字符串)后可以对学⽣进⾏增删改查的操作和查看所有学⽣的信息,所以我各⾃定义了⼀个⽅法来实现它的功能。
代码实现⾸先定义⼀个学⽣类Student.java,关于toString是重写了⽗类也就是Object的⽅法,是⽤于⽅便查看结果的,学⽣的属性可以按需求添加多个,这⾥我为了⽅便只写了四个。
public class Student {//学号private int sno;//姓名private String name;//性别private String xes;//年龄private int age;//创建get/set⽅法public int getSno() {return sno;}public void setSno(int sno) {this.sno = sno;}public String getName() {return name;}public void setName(String name) { = name;}public String getXes() {return xes;}public void setXes(String xes) {this.xes = xes;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//重写toString⽅法⽅便打印@Overridepublic String toString() {return "Student{" +"sno=" + sno +", name='" + name + '\'' +", xes='" + xes + '\'' +", age=" + age +'}';}}然后定义⼀个结构类Structure.java,把需要实现的功能⽅法写出来。
学生信息管理系统用户使用说明书[修改版]
第一篇:学生信息管理系统用户使用说明书学生管理系统使用说明书配置源程序配置ODBC 运行本实例需要配置用户DSN,在ODBC数据源管理器中配置用户DSN连接指定的SQL Server 数据库。
关键操作步骤如下:(1)单击“开始”按钮,选择“程序”→“管理工具”→“数据源(ODBC)”命令,打开“ODBC数据源管理器”对话框,打开“用户DSN”选项卡。
(2)单击“添加”按钮,打开“创建新数据源”对话框,选择安装数据源的驱动程序,这里选择“SQL Server”。
(3)单击“完成”按钮,打开“创建到SQL Server的新数据源”对话框,在“名称”文本框中设置数据源名称为“mystudentsys”,在“描述”文本框设置数据源描述为“配置SQL Server数据库DSN”,在“服务器”下拉列表框中选择连接的数据库所在服务器为“(local)”。
(4)单击“下一步”按钮,选择“使用用户输入登录ID和密码的SQL Server验证”单选框,在“登录ID”文本框中输入SQL Server用户登录ID,这里为“sa”,在“密码”文本框中输入SQL Server用户登录密码。
(5)单击“下一步”按钮,选择“更改默认的数据库为”复选框,并在其下拉列表框中选择连接的数据库名称,这里选择“tb_student”,单击“下一步”按钮。
(6)单击“完成”按钮,打开“ODBC Microsoft SQL Server安装”对话框,显示新创建的ODBC数据源配置信息。
(7)单击“测试数据源”按钮测试数据库连接是否成功,如果测试成功,单击“确定”按钮,完成数据源配置。
附加SQL Server 2000数据库(1)将database文件夹中的两个文件拷贝到SQL Server 2000安装路径下的Data文件夹中。
(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。
学生综合管理系统使用说明
学生综合管理系统使用说明一、学生用户1.系统登录用户在IE栏输入网址:登录到学生综合管理系统首页,如下图所示:图1-1在系统首页中输入用户名、密码和验证码,单击“登录”命令按钮进入学生综合管理系统主页面。
用户名为学生学号,初始密码为1111。
2.修改密码学生登录系统后在系统维护管理——个人信息中可以自己修改密码,如下图所示:图1-2学生进入系统以后,先修改密码,然后将自己的信息填写完整。
页面左边菜单工具栏里面点击学生基本信息——学籍管理,如图1-3显示灰色的地方学生没有办法修改,如果需要修改可以向辅导员申请,由辅导员进行修改,蓝色标注的地方学生可以自行修改。
图1-3然后再点击顶端的家庭基本信息,如图1-4学生如实填写信息。
这里有一个个人银行名称和银行卡号,刚开始可以不填,但是如果该学生评选上了国家助学金,这里应该根据学生资助中心要求选择银行,填写完成以后点击保存。
图1-43.奖助学金申请学生登录系统后看到的页面如图1-5:在资助项目中,学生可以看到资助名称、资助时间、申请状态、申请开始时间和申请结束时间等信息。
学生查看信息后可以根据自己的实际情况来填写申请理由进行申请。
学生点击不同的资助时间,即可进行相应的申请。
图1-5学生点击申请某项奖助学金以后,进入如图1-6所示界面,认真仔细填写。
申请理由字数必须在100-250之间,填写完成以后,先点击保存。
系统会保存学生的申请信息,但不会提交至辅导员,学生还可以修改申请信息。
如果学生对自己的信息进行确认后,点击提交,申请材料则上交至辅导员,此时学生不可修改自己的申请信息。
首页待办工作的状态栏显示辅导员审核中。
图1-6二、辅导员用户1.系统登录用户在IE栏输入网址:登录到学生综合管理系统首页,如下图所示:图2-1在系统首页中输入用户名、密码和验证码,单击“登录”命令按钮进入学生综合管理系统主页面。
用户名为辅导员名字的小写拼音,初始密码为888888。
2.修改密码辅导员登录系统后在系统维护管理——个人信息中可以自己修改密码,如下图所示:辅导员所带班级图2-23.奖助学金审核辅导员登录系统后看到的页面如图2-3:图2-3右边待办工作里面会显示最新需要处理的工作,点击操作栏的“审核”即可进行奖学金审核工作,进入如图2-4页面。
学生信息管理系统
学生信息管理系统学生信息管理系统是一种管理和记录学生信息的应用软件,它帮助学校、教育机构或任何需要追踪学生信息的组织管理学生数据。
学生信息管理系统能够帮助学校提高工作效率、更好地管理学生和家长之间的沟通,并确保学生信息的安全和保密。
一、系统架构学生信息管理系统通常分为三层:表示层、业务逻辑层和数据访问层。
表示层:表示层通常是一个网页或桌面应用程序,它提供了一个用户界面,以便用户与系统进行交互。
用户可以在表示层输入和查看学生信息,进行各种操作。
业务逻辑层:业务逻辑层控制着系统的功能和行为。
它处理用户操作和数据处理的逻辑,根据用户提供的指令将数据传递给数据访问层。
数据访问层:数据访问层负责与数据库交互,从数据库中存取数据,以供业务逻辑层使用。
数据访问层还负责验证用户输入的数据是否有效和准确,并将修改后的数据存回到数据库中。
二、系统功能1.学生管理学生信息管理系统可以存储和管理学生的个人信息、家庭背景、教育背景、成绩记录、考试安排、学费记录和缴费历史等信息。
学生信息可以根据不同的条件进行搜索和筛选,以便快速找到所需信息。
2.家长管理家长信息也可以存储在系统中,并与学生信息关联。
学生信息管理系统还可以处理家长与学校之间的沟通,例如查看成绩和课程表、约定会议时间、收取付款账单等。
3.教师管理教师信息可以存储在系统中,以便管理课程、考试和教学进度。
教师可以登录系统,并创建课程、设定考试时间、记录出勤和成绩,以及向系统添加课程资源和作业。
4.报表和分析学生信息管理系统可以生成各种报表和分析数据,以帮助学校和教育机构更好地了解学生的情况并做出决策。
例如,它可以生成出勤表、成绩单、排名榜、学生预测、学费收入等报表和图表。
5.考试管理学生信息管理系统能够处理考试管理,例如创建和安排考试、收集考试答案并计算分数等。
6.课程管理学生信息管理系统可以管理学校的全部课程信息,例如课程名称、课程编号、老师名称、教学地点、上课时间和课程资料等。
C实现简单的学生信息管理系统控制台程序
// StudentInformationSystem.cpp : Defines the entry point for the console application. //#include "stdafx.h"#include <cstring>#include <iostream>#include <conio.h>#include<vector>#include<algorithm>class Student{private:char idNumber[13]; // 学号char name[30]; // 姓名char address[50]; // 地址char telephone[14]; // 电话号码int gradeMath; // 数学成绩int gradePhysics; // 物理成绩int gradeEnglish; // 英语成绩double gradeMaPhEgAverage; // 物数外平均int rankGrade; // 成绩排名int gradeClassmate; // 同学评分int gradeTeacher; // 老师评分int gradeEthic; // 道德评分{double gradeAll; // 综合成绩int rankAll; // 综合排名public:Student(); // 默认构造函数void Student_WritePersonalInformation(char *iD, char *nam, char *add, char *tel); // 更改学生信息void Student_WriteMaPhEgGrade(int graMa, int graPh, int graEg); // 考试成绩void Student_WriteOtherGrade(int graCl, int graTe, int graEth); //其他成绩void Student_DisplayInformation(); // 显示学生信息char *Student_ReadID();double Student_ReadGrade();double Student_ReadTotalGrade();int Student_ReadGradeRank();int Student_ReadTotalGradeRank();void Student_WriteGradeRank(int ranGr); // 更改学生成绩排名void Student_WriteTotalGradeRank(int ranAl); // 更改学生综合排名char *Student_ReadName();};Student::Student() // 默认构造函数更改学生更改学生strncpy_s(idNumber, "000000000000",12);strncpy_s(address, " 空", 50);strncpy_s(name," 空",30);{{strncpy_s(telephone, " 空", 14); // 电话号码gradeMath=0; // 数学成绩gradePhysics=0; // 物理成绩gradeEnglish=0; // 英语成绩gradeMaPhEgAverage=0; // 物数外平均rankGrade=0; // 成绩排名gradeClassmate=0; // 同学评分gradeTeacher=0; // 老师评分gradeEthic=0; // 道德评分gradeAll=0; // 综合成绩rankAll=0; // 综合排名}void Student::Student_WritePersonalInformation(char *iD, char *nam, char *add, char *tel) {strncpy_s(idNumber,iD,12);strncpy_s(name, nam, 30);strncpy_s(address, add,50);strncpy_s(telephone, tel, 14);}void Student::Student_WriteMaPhEgGrade(int graMa, int graPh, int graEg) gradeMath = graMa;strncpy_s(address, "空", 50);{gradePhysics = graPh; gradeEnglish = graEg; gradeMaPhEgAverage = (gradeMath + gradePhysics + gradeEnglish) / 3; }void Student::Student_WriteOtherGrade(int graCl, int graTe, int graEth) {gradeClassmate = graCl;gradeTeacher = graTe;gradeEthic = graEth;gradeAll = gradeMaPhEgAverage*0.6 + gradeClassmate*0.1 + gradeEthic*0.1 gradeTeacher*0.2;}void Student::Student_WriteGradeRank(int ranGr){rankGrade = ranGr;}void Student::Student_WriteTotalGradeRank(int ranAl){rankAll = ranAl;}void Student::Student_DisplayInformation()using namespace std;cout << " ------------------------------------ " << endl;{cout << " 姓名:" << name << endl<< " 学号:" << idNumber << endl<< " 地址:" << address << endl<< " 电话:" << telephone << endl<< " 数学成绩:" << gradeMath << endl<< " 物理成绩:" << gradePhysics << endl<< " 英语成绩:" << gradeEnglish << endl<< " 三科平均成绩:" << gradeMaPhEgAverage << endl << " 学习成绩排名:" << rankGrade << endl<< " 同学评价得分:" << gradeClassmate << endl<< " 教师评价得分:" << gradeTeacher << endl<< " 道德修养评分:" << gradeEthic << endl<< " 综合成绩:" << gradeAll << endl<< " 综合成绩排名:" << rankAll << endl;cout << " ------------------------------------- " << endl;}char *Student::Student_ReadID(){return idNumber;}double Student::Student_ReadGrade()return gradeMaPhEgAverage;cout << 学生信息" << endl;double Student::Student_ReadTotalGrade(){return gradeAll;}int Student::Student_ReadGradeRank(){return rankGrade;}int Student::Student_ReadTotalGradeRank(){return rankAll;}namespace studentInformation{std::vector<Student> studentVector;int flagStudentChoose=0;int flagStudentFound=1;}char *Student::Student_ReadName(){return name;}以上是基本数据结构的定义,同时定义了对数据的基//本操作。
C实现简单的学生信息管理系统控制台程序
C实现简单的学生信息管理系统控制台程序 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-<< endl << endl;cout << "按下1:进入学生信息管理系统." << endl;cout << "按下0:退出." << endl;cout << "-----------------------------------------------------" << endl<<endl<<endl;cin >> flagOperateInformation;();cout << endl;if (flagOperateInformation)EditMenu();}}<< endl;cout << "按下2:修改学生信息." << endl;cout << "按下3:删除学生信息." << endl;cout << "按下4:显示学生信息." << endl;cout << "按下5:按学号升序排序" << endl;cout << "按下6:读入已有信息(暂时没实现)" << endl;cout << "按下7:将信息输出(暂时没实现)" << endl;cout << "按下8:显示系统内所有学生的信息" << endl;cout << "按下0:返回上一级." << endl;cout << "--------------------------------------------" << endl << endl;cin >> flagContinueOperation;();cout << endl;switch (flagContinueOperation){case 1:AddStudentPersonalInformation(1); break;case 2:ModifyStudentInformation(); break;case 3:DeleteStudentInformation(); break;case 4:DisplayStudentInformation(); break;case 5:RankByID(); break;case 6:cout << "功能暂未实现" << endl; break;case 7:cout << "功能暂未实现" << endl; break;case 8:DisplayAllStudentInformation(); break;case 0:break;}}}tudent_WritePersonalInformation(iD,name,address,phone);cout << "基本信息输入成功!" << endl<< "------------------------------" << endl;}tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade);cout << "学习成绩输入成功!" << endl<< "------------------------------" << endl;}tudent_WriteOtherGrade(peerGrade, teacherGrade, ethicGrade);cout << "其他成绩输入成功!" << endl<< "------------------------------" << endl;}RankByGrade();RankByTotalGrade();cout << "学生成绩录入成功!" << endl;cout << "-------------------------------------" << endl<<endl;}void SearchStudent(){using namespace std;using namespace studentInformation;char ID[13];cout << "请输入学生的学号:"<<endl;cin >> ID;();cout << "------------------------------"<<endl;int vectorSize = ();int i = 0;while ((i<vectorSize) & (flagStudentFound!=0)){flagStudentFound = strcmp(ID, studentVector[i].Student_ReadID());i = i + 1;}if (flagStudentFound == 0){flagStudentChoose = i - 1;flagStudentFound = 1;cout << "您所查找的学生信息如下:"<<endl;studentVector[flagStudentChoose].Student_DisplayInformation();}else{cout << "未找到该学生" << endl;}}void ModifyStudentInformation(){using namespace std;using namespace studentInformation;int searchVectorSize = ();if (searchVectorSize == 0){cout << "---------------------------------------" << endl;cout << "当前系统中没有学生信息,请先添加学生信息!" << endl;cout << "---------------------------------------" << endl;}else{SearchStudent();cout << "您想对该学生的信息进行修改吗" << endl;cout << "按下1:是的。
学生信息管理系统使用说明
学生信息管理系统系统使用说明功能标签:A用户登陆B管理员功能:浏览基本表、成绩查询、统计、添加、删除、修改C学生功能:个人信息、密码修改、课程信息、成绩查询使用说明:·本系统没用注册功能,需要管理员提前在数据库中将用户信息录入。
·系统测试使用的账号(管理员:99901,学生:66601)初始密码均为“123“用户登陆1、登陆网址:http://localhost/ttt打开学生信息管理系统登陆页面,在系统登陆页面中输入用户名和密码,并选择用户身份——学生和管理员分别具有不同的权限,登陆系统如图:输入用户名和密码选择用户身份系统登陆成功后,进入用户主页面,主页面分为学生主页面和管理员主页面。
一、管理员页面各功能:在管理员主页面有友好的欢迎信息、当前日期及供管理员使用的功能菜单,分别为:浏览基本表、成绩查询、统计、添加、删除、修改、退出登陆。
如下图:浏览基本表 菜单使用:1.点击“浏览基本表”单项,打开如下图所示页面2.选择要查询的表,然后点击“查询”按钮。
以查询学生基本信息表为例,查询结果如下图所示:在此安全退出系统选择要查询表,然后点击查询功能菜单成绩查询菜单使用:1.点击“成绩查询”菜单项,打开如下图所示页面:输入查询条件。
然后单击“查询”按钮2.输入查询条件。
若未输入姓名则查询忽略姓名一项。
班级、课程、所在系需进行选择。
查询“1班、数学、信息系”为例,查询结果如下“查询条件为:1班、数学、信息系”,查询结果如下统计菜单使用:1.点击“统计”菜单项,打开如下图所示页面:选择查询条件。
然后单击“查询”按钮2.输入查询条件。
查询“各门课的选修人数”的结果如下添加菜单使用:1.点击“添加”菜单项,打开如下图所示页面:选择要添加的表。
然后单击“添加”按钮2.选择查询条件后,单击“查询”按钮,打开如下页面:输入要添加的信息。
然后单击“确定”按钮删除菜单使用:1.点击“删除”菜单项,打开如下图所示页面:选择要删除信息的表。
学生信息管理系统(详细步骤)
目录前言................................................................2第一章编程环境基础知识.............................................31.1ASP的特点..................................................31.2程序使用的对象及其属性和方法...............................51.3Web服务器的选择.............................................61.4IIS简介....................................................7 第二章需求分析.....................................................7 2.1功能需求....................................................7 2.2性能需求....................................................7 第三章总体设计.....................................................72.1 系统功能分析................................................72.2 系统功能模块划分...........................................102.3 系统结构设计图.............................................16 第四章详细设计.....................................................17 4.1 模块详细设计..............................................17结束语.............................................................44参考文献..........................................................44前言今天的中国已经加入了WTO,利用计算机进行现代化管理已经接近于普及。
学生信息管理系统操作手册
学生信息管理系统操作手册一、简介学生信息管理系统是一种用于学校管理学生信息的工具。
它可以用来记录学生的个人信息、课程安排、成绩等内容,并提供一系列功能供教师、学生和家长使用。
本篇文章将为您详细介绍学生信息管理系统的操作手册,帮助您熟悉该系统的各项功能和使用方法。
二、登录与注册1. 用户登录a. 打开学生信息管理系统的登录页面,输入用户名和密码;b. 点击“登录”按钮,进入系统的主界面。
2. 用户注册a. 打开学生信息管理系统的注册页面,填写必要的个人信息;b. 点击“注册”按钮,完成注册。
三、个人信息管理1. 查看个人信息a. 在系统主界面,点击个人信息选项卡;b. 查看自己的个人信息,如姓名、学号、性别、出生日期等。
2. 修改个人信息a. 在个人信息页面,点击“修改”按钮;b. 修改需要更新的个人信息,如联系方式、地址等;c. 点击“保存”按钮,更新个人信息。
四、课程信息管理1. 查看课程信息a. 在系统主界面,点击课程信息选项卡;b. 查看自己所选修的课程信息,如课程名称、课程时间、授课教师等。
2. 选择课程a. 在课程信息页面,点击“选择课程”按钮;b. 在弹出的课程列表中选择需要选修的课程;c. 点击“确认选择”按钮,完成选课。
五、成绩查询与管理1. 成绩查询a. 在系统主界面,点击成绩查询选项卡;b. 查看自己的成绩信息,如课程成绩、平均成绩等。
2. 成绩管理a. 对于教师用户,可以在教师专用界面进行成绩录入;b. 在成绩管理页面,选择相应的课程和学生,录入对应的成绩;c. 点击“保存”按钮,完成成绩录入。
六、考勤管理1. 查看考勤记录a. 在系统主界面,点击考勤管理选项卡;b. 查看考勤记录,如出勤次数、请假记录等。
2. 考勤记录管理a. 对于教师用户,可以在教师专用界面进行考勤记录管理;b. 在考勤记录管理页面,选择相应的课程和学生,录入考勤记录;c. 点击“保存”按钮,完成考勤记录管理。
学生信息管理系统使用说明 学生
浙江工商大学学生信息管理系统使用说明书(学生)学工部2012年11月目录1.系统登录打开浏览器,输入统登陆页面。
图1 学生信息管理系统登陆页面键入登录名和密码进入系统,学生登录名和初始密码均为学号。
图2 系统主界面为了账户的安全,请在首次登入系统后,修改登录密码。
“修改密码”选项在页面右上角,点击进入,输入密码,并提交完成修改。
图3 密码修改2.个人信息填写与修改a.功能介绍:存储学生的相关个人信息,如姓名、学号、出生日期等。
图4 个人信息界面b.个人信息修改:学生可通过图34所示页面的【修改】按钮进入图35的界面修改自己的信息,确认无误后,点击【提交】按钮提交自己修改后的信息。
图5 个人信息修改界面3.经济困难生申请与查看此模块包括经济困难生申请和申请结果两个子模块。
经济困难生申请此模块提供学生的申请年度、申请时间、当前状态(包括“未开始”、“已结束”、“申请/已申请”三个状态)信息,界面如图36所示。
如学生想申请本年度经济困难生,点击图36中【申请】按钮,进入图37界面,按规定填写相关信息后,点击【提交】按钮即可。
图6 经济困难生界面图7 经济困难生填报界面申请结果如果学生已申请经济困难生,即可在此模块查看审核状态,如图38所示。
学生亦可查看自己申请所填信息,如信息有误,则可点击【修改】按钮进行相应修改,并提交。
图8 经济困难生申请结果界面4.勤工助学此模块包括勤工岗位申请、我的岗位及我的工资单三个子模块。
勤工岗位申请勤工岗位申请界面如图39,显示岗位发布部门、联系人、联系电话、要求人数以及查看功能。
图9 勤工岗位申请界面i.点击【查看】按钮,可显示岗位具体信息,如图40。
图10 勤工岗位查看界面ii.再点击【申请】按钮,即会出现如图41所示的申请填报界面,填写完相关信息后,点击界面下方【申请】按钮即可,每位学生仅限同时申请两个部门。
图11 勤工岗位申请填报界面我的岗位此模块可显示学生申请部门、申请岗位、申请时间、审核状态的信息,并提供查看与撤销申请功能。
C实现简单的学生信息管理系统控制台程序
C实现简单的学生信息管理系统控制台程序学生信息管理系统是一种用于管理学生的基本信息的应用程序。
在这个系统中,可以实现学生信息的录入、修改、查询和删除等功能,以便对学生信息进行有效的管理和维护。
下面是一个用C语言实现的简单学生信息管理系统的示例代码。
```c#include <stdio.h>#include <stdlib.h>//定义学生结构体struct studentint id;char name[50];int age;};//全局变量,用于存储学生信息struct student students[100];int count = 0;//函数声明void menu(;void addStudent(;void listStudents(;void searchStudent(;void deleteStudent(;void updateStudent(;//主函数int maimenu(;return 0;//菜单函数void menint choice;doprintf("\n====== Student Information Management System ======\n");printf("1. Add student\n");printf("2. List students\n");printf("3. Search student\n");printf("4. Delete student\n");printf("5. Update student\n");printf("0. Exit\n");printf("Please enter your choice: "); scanf("%d", &choice);switch (choice)case 1:addStudent(;break;case 2:listStudents(;break;case 3:searchStudent(;break;case 4:deleteStudent(;break;case 5:updateStudent(;break;case 0:printf("Exit the system\n");break;default:printf("Invalid choice! Please try again\n");break;}} while (choice != 0);//添加学生函数void addStudenif (count >= 100)printf("The number of students has reached the upper limit!\n");return;}struct student newStudent;printf("Please enter student ID: ");scanf("%d", &newStudent.id);printf("Please enter student name: ");scanf("%s", );printf("Please enter student age: ");scanf("%d", &newStudent.age);students[count] = newStudent;count++;printf("Add student successfully!\n");//列出学生函数void listStudentif (count == 0)printf("No student information is available!\n");return;}printf("====== Student List ======\n");printf("ID\tName\t\tAge\n");for (int i = 0; i < count; i++)printf("%d\t%s\t\t%d\n", students[i].id, students[i].name, students[i].age);}void searchStudenif (count == 0)printf("No student information is available!\n"); return;}int id;printf("Please enter student ID: ");scanf("%d", &id);for (int i = 0; i < count; i++)if (students[i].id == id)printf("Student Information:\n");printf("ID: %d\n", students[i].id);printf("Name: %s\n", students[i].name);printf("Age: %d\n", students[i].age);return;}}printf("Student with ID %d does not exist!\n", id);void deleteStudenif (count == 0)printf("No student information is available!\n"); return;}int id;printf("Please enter student ID: ");scanf("%d", &id);for (int i = 0; i < count; i++)if (students[i].id == id)for (int j = i; j < count - 1; j++)students[j] = students[j+1]; // 将后面的学生信息往前移动}count--;printf("Delete student successfully!\n");return;}}printf("Student with ID %d does not exist!\n", id); //更新学生函数void updateStudenif (count == 0)printf("No student information is available!\n"); return;}int id;printf("Please enter student ID: ");scanf("%d", &id);for (int i = 0; i < count; i++)if (students[i].id == id)printf("Please enter student name: ");scanf("%s", students[i].name);printf("Please enter student age: ");scanf("%d", &students[i].age);printf("Update student information successfully!\n"); return;}}printf("Student with ID %d does not exist!\n", id);```这是一个简单的学生信息管理系统控制台程序,实现了学生的添加、列出、查询、删除和更新等功能。
学生信息管理系统使用说明
学生信息管理系统使用说明欢迎使用学生信息管理系统!本系统致力于帮助您高效地管理学生信息。
请仔细阅读以下使用说明,以便更好地了解系统功能和操作方法。
1. 登录与注册1.1 登录1.打开浏览器,输入系统网址:[学生信息管理系统网址];2.进入登录页面,输入用户名和密码;3.点击“登录”按钮,进入系统主界面。
1.2 注册1.点击登录页面中的“注册”按钮;2.填写注册信息,包括用户名、密码、邮箱等;3.点击“提交”按钮,完成注册。
2. 学生信息管理2.1 添加学生信息1.在主界面点击“添加学生”按钮;2.填写学生信息,包括姓名、学号、性别、年龄、班级等;3.点击“保存”按钮,完成学生信息的添加。
2.2 查询学生信息1.在主界面点击“查询学生”按钮;2.输入查询条件,如姓名、学号等;3.点击“搜索”按钮,查看查询结果。
2.3 修改学生信息1.在查询结果页面,点击需要修改的学生信息;2.修改相关信息,如姓名、学号等;3.点击“保存”按钮,完成学生信息的修改。
2.4 删除学生信息1.在查询结果页面,点击需要删除的学生信息;2.点击“删除”按钮,确认删除;3.删除成功后,刷新页面查看更新。
3. 班级管理3.1 添加班级1.在主界面点击“添加班级”按钮;2.填写班级信息,如班级名称、班主任等;3.点击“保存”按钮,完成班级的添加。
3.2 查询班级1.在主界面点击“查询班级”按钮;2.输入查询条件,如班级名称等;3.点击“搜索”按钮,查看查询结果。
3.3 修改班级1.在查询结果页面,点击需要修改的班级;2.修改相关信息,如班级名称、班主任等;3.点击“保存”按钮,完成班级信息的修改。
3.4 删除班级1.在查询结果页面,点击需要删除的班级;2.点击“删除”按钮,确认删除;3.删除成功后,刷新页面查看更新。
4. 系统设置4.1 修改密码1.在主界面点击“修改密码”按钮;2.输入原密码和新密码;3.点击“保存”按钮,完成密码的修改。
《学生管理信息系统》使用说明书
《学生管理信息系统》使用说明书一、系统概述《学生管理信息系统》是一款专为学校管理学生信息而设计的应用程序。
该系统基于用户友好的界面设计,使得学校管理员、教师和学生可以轻松地通过系统进行学生信息的录入、查询、修改和删除等操作。
系统采用安全的数据库存储模式,确保学生信息的安全性和准确性。
二、系统特点1、用户界面友好:系统采用直观的图形用户界面,易于学习和使用。
2、数据安全性高:采用多层加密和安全防护机制,确保学生信息的安全性。
3、查询功能强大:支持多种查询方式,可以根据学生信息的关键字、学号、姓名等进行查询。
4、数据完整性保障:系统具备数据校验和完整性保障功能,确保数据的准确性和完整性。
5、报表功能丰富:系统支持生成各类报表,如学生花名册、成绩单等,方便学校进行学生信息的管理和分析。
三、系统功能1、学生信息录入:管理员和教师可以在系统中录入学生的基本信息,如姓名、性别、出生日期、学号等。
2、学生信息查询:通过系统,管理员和教师可以查询学生的基本信息,了解学生的详细情况。
3、学生信息修改:当学生信息发生变化时,管理员和教师可以及时修改学生的信息。
4、学生信息删除:对于已经毕业或转学的学生,管理员可以将其信息从系统中删除。
5、报表生成:系统支持生成各类报表,方便学校进行学生信息的管理和分析。
6、系统设置:管理员可以对系统进行一些基本设置,如用户管理、权限设置等。
四、系统操作流程1、登录系统:管理员和教师使用分配的用户名和密码登录系统。
2、选择操作:在系统主界面上选择需要进行的操作,如录入学生信息、查询学生信息等。
3、填写或查询:根据选择的操作,填写相应的信息或查询条件。
4、提交操作:确认填写或查询的信息无误后,提交操作。
5、查看结果:提交操作后,系统会显示操作结果,如成功或失败。
6、保存数据:对于需要保存的数据,系统会自动将其保存到数据库中。
7、退出系统:完成操作后,退出系统。
五、常见问题及解决方案1、忘记密码:如果忘记密码,可以系统管理员重置密码。
学生信息管理系统说明书
学生信息管理系统说明书一、引言学生信息管理系统是为了方便学校管理学生信息而设计和开发的软件系统。
本系统可以高效地存储、处理和管理学生的个人信息、课程信息、成绩信息等,以提高学校学生管理工作的效率和准确性。
本说明书旨在为用户提供详细的操作指南,以便顺利使用学生信息管理系统。
二、系统概述学生信息管理系统是一个基于数据库的应用系统,采用图形用户界面(GUI)进行操作。
系统主要具有以下功能:1. 学生信息管理:包括学生的基本信息、联系方式、入学信息等。
2. 课程信息管理:记录学生所选修的课程信息、上课时间地点及授课教师等。
3. 成绩管理:录入学生的考试成绩,自动生成成绩报告。
4. 查询与统计:根据学生学号、姓名、课程等条件进行信息查询,同时提供各类统计报表功能。
三、系统安装与配置1. 硬件要求:学生信息管理系统建议在配置较高的计算机设备上运行,建议至少配置4GB内存和100GB磁盘空间。
2. 软件要求:系统适用于Windows、Mac等主流操作系统,需要预先安装Java运行环境。
3. 数据库配置:系统采用MySQL数据库进行数据存储,需要在安装前进行数据库的配置,包括创建数据库和相关表结构。
四、系统登录与用户权限1. 安装完成后,打开学生信息管理系统登录界面。
2. 输入用户名和密码进行登录,系统将根据用户权限不同分配不同的操作权限。
3. 管理员用户拥有最高权限,可以对系统进行设置和管理,包括添加、修改和删除用户信息。
4. 普通用户可以进行学生信息的浏览、查询、统计和修改。
五、系统功能详解1. 学生信息管理1.1 添加学生信息:根据提示输入学生的基本信息和联系方式,点击保存按钮即可完成信息添加。
1.2 修改学生信息:选择需要修改的学生信息,进行相应修改,点击保存即可更新信息。
1.3 删除学生信息:选择需要删除的学生信息,点击删除按钮即可删除选中学生的信息。
2. 课程信息管理2.1 添加课程信息:输入课程名称、授课教师、上课时间地点等信息,并保存。
学生信息管理系统使用说明书
学生信息管理系统使用说明书使用说明运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。
其运行效果如图17.1所示。
在主界面上输入0——8内的数字,实现相应的功能。
图17.1 学生信息管理系统主界面主界面输入1时,进入录入学生信息的界面,当没有存储记录时,根据提示对学生的信息进行输入,运行效果如图17.2所示。
图17.2 输入学生信息在存在学生信息的情况下继续添加学生信息时,会首先显示存在的学生信息,运行效果如图17.3所示。
图17.3 添加学生信息主界面输入2时,进入查询学生信息模块,根据学生学号,对学生信息进行查询。
运行效果如图17.4所示。
图17.4 查询学生信息在主界面输入3时,进入到删除学生信息模块,输入需要删除的学生学号,即可在文件中将该学号的所有信息删除,运行效果如图17.5所示。
图17.5 删除学生信息当在主界面输入4时,系统进入到修改学生信息模块,首先会显示出所有学生的信息,输入要修改的学生学号,系统会对输入的学号进行匹配,若在显示出来的学生信息中存在,则会提示输入修改的内容。
运行效果如图17.6所示。
图17.6 修改学生信息在主界面输入5时,可以插入学生信息,根据提示输入想要插入的位置,以及插入的学号等信息。
运行效果如图17.7所示。
图17.7 插入学生信息在主界面输入6时,可以根据学生的总成绩从高到低进行排序。
排序完成后,将排序结果保存,但是排序后的结果并不现实在该界面。
运行效果如图17.8所示。
图17.8 排序效果图当在主界面输入7时,可以对学生的人数进行统计,显示出统计的人数。
运行效果如图17.9所示。
图17.9 统计效果图当在主界面输入8时,可以对学生的信息进行显示,运行效果如图17.10所示。
该图为对成绩进行排序后的显示结果。
图17.10 显示学生信息在主界面中输入0,退出系统。
学生信息管理系统功能说明书
学生信息管理系统功能说明书学生信息管理系统功能说明书1、引言该文档旨在详细说明学生信息管理系统的功能和使用方法,以便用户可以充分了解和正确使用该系统。
本文档包括系统简介、功能模块、操作流程、系统要求、附录等内容。
2、系统简介2.1 系统概述学生信息管理系统是为学校或教育机构设计的一种信息管理工具,用于记录、查询和统计学生相关信息。
该系统结构清晰,操作简便,可以大大提高学校数据管理的效率。
2.2 系统特点- 支持学生基本信息的录入、修改和删除。
- 支持学生课程信息的录入、查询和统计。
- 支持学绩的录入、查询和分析。
- 支持教师信息的管理和查询。
- 支持管理员权限的设置和管理。
3、功能模块3.1 学生管理模块- 学生信息录入:包括基本信息(姓名、性别、年龄等)和联系方式(方式、邮箱等)的录入。
- 学生信息查询:按照学生姓名、班级、年级等条件进行查询。
- 学生信息统计:统计学生人数、男女比例、各年级人数等。
3.2 课程管理模块- 课程信息录入:包括课程名称、课程编号、教师名称等的录入。
- 课程信息查询:按照课程名称、课程编号等条件进行查询。
- 课程信息统计:统计每门课程的选课人数、平均成绩等。
3.3 成绩管理模块- 成绩录入:包括学生姓名、课程名称、成绩等的录入。
- 成绩查询:按照学生姓名、课程名称等条件进行查询。
- 成绩分析:统计学生的平均成绩、最高成绩、最低成绩等。
3.4 教师管理模块- 教师信息录入:包括教师姓名、教师编号、联系方式等的录入。
- 教师信息查询:按照教师姓名、教师编号等条件进行查询。
3.5 管理员模块- 权限设置:设置教师和学生的权限,例如只有管理员可以修改学生信息。
- 管理员信息查询:查询管理员的基本信息和权限设置。
4、操作流程4.1 学生信息管理操作流程1、登录系统。
2、进入学生管理模块。
3、进行学生信息录入、查询或统计操作。
4.2 课程信息管理操作流程1、登录系统。
2、进入课程管理模块。
学生信息管理系统操作手册
学生信息管理系统操作手册第一节:系统介绍学生信息管理系统是一种针对学校管理学生信息的软件系统。
它能够方便快捷地对学生信息进行录入、查询、统计和管理。
本操作手册将详细介绍系统的操作方法,帮助用户熟练运用该系统。
第二节:登录系统1. 打开学生信息管理系统软件,进入登录界面。
2. 输入正确的用户名和密码,点击登录按钮。
3. 如果输入的用户名或密码错误,系统会提示错误信息,请重新输入。
4. 如果忘记密码,可以点击“找回密码”按钮,按照系统提示进行操作。
第三节:学生信息录入1. 登录系统后,进入学生信息录入界面。
2. 依次填写学生的基本信息,如姓名、性别、年龄、班级等。
3. 确保填写的信息准确无误,点击保存按钮。
4. 系统会提示信息录入成功,可以继续录入下一位学生的信息。
第四节:学生信息查询1. 登录系统后,进入学生信息查询界面。
2. 按照所需查询的条件选择相应的选项,如姓名、班级、年级等。
3. 点击查询按钮,系统会自动筛选符合条件的学生信息。
4. 查询结果将显示在界面上,可以查看所需的学生信息。
第五节:学生信息修改1. 登录系统后,进入学生信息查询界面。
2. 按照所需查询的条件选择相应的选项,找到需要修改的学生信息。
3. 点击编辑按钮,进入编辑页面。
4. 修改需要更改的学生信息,并点击保存按钮。
5. 系统会提示信息修改成功。
第六节:学生信息删除1. 登录系统后,进入学生信息查询界面。
2. 按照所需查询的条件选择相应的选项,找到需要删除的学生信息。
3. 点击删除按钮,系统会弹出确认删除的提示框。
4. 点击确认按钮,学生信息将被永久删除。
第七节:学生信息统计1. 登录系统后,进入学生信息统计界面。
2. 选择需要统计的条件,如年级、班级、性别等。
3. 点击统计按钮,系统将根据所选条件进行学生信息的统计。
4. 统计结果将以图表或表格的形式展示在界面上。
第八节:班级信息管理1. 登录系统后,进入班级信息管理界面。
学生信息管理系统功能说明书
学生信息管理系统功能说明书学生信息管理系统功能说明书目录1. 系统登录模块功能说明1.1 管理员端1.2 普通用户端2. 用户模块功能说明2.1 用户信息管理端2.2删除用户信息模块功能说明2.3更新用户信息模块功能说明2.4添加用户信息模块功能说明3. 学生模块功能说明4. 宿舍模块功能说明5. 班级模块功能说明6. 课程模块功能说明7. 奖惩模块功能说明7.1 奖惩查询功能说明7.2 奖惩信息管理功能说明8. 缴费模块功能说明8.1 缴费查询功能说明8.2 缴费信息管理功能说明9. 成绩模块功能说明1.1管理员端a.点击用户登录管理进入用户登录管理界面b.点击学生信息管理进入学生管理端,对学生信息进行添加,删除,修改,查询c.点击班级信息管理进入班级管理端,对班级信息进行添加,删除,修改,查询d.点击成绩信息管理进入成绩管理端,对成绩信息进行添加,删除,修改,查询e.点击宿舍信息管理进入宿舍管理端,对宿舍信息进行添加,删除,修改,查询f.点击缴费信息管理进入缴费管理端,对缴费信息进行添加,删除,修改,查询g.点击课程信息管理进入课程管理端,对课程信息进行添加,删除,修改,查询h.点击奖惩信息管理进入奖惩管理端,对奖惩信息进行添加,删除,修改,查询i.点击返回页面回到登录端j.点击取消退出页面1.2 学生端a. 点击学生信息查询按钮将显示所有学生信息b. 点击成绩查询按钮进入成绩查询界面c. 点击课程查询按钮进入课程查询界面d. 点击宿舍情况查询按钮将显示所以学生住宿情况e. 点击班级查询按钮进入班级查询界面f. 点击奖惩查询按钮进入奖惩查询界面g. 点击缴费查询按钮进入缴费查询界面i. 点击返回回到登录界面j. 点击取消退出界面2. 用户模块功能说明2.1用户信息管理端a. 点击删除用户登录信息按钮进入删除用户登录信息界面b. 点击更新用户登录信息按钮进入更新用户登录信息界面c. 点击添加用户登录信息按钮进入添加用户登录信息界面d. 点击返回按钮回到管理员端界面e. 点击取消按钮退出页面2.2删除用户信息模块功能说明a. 点击搜索按钮系统将通过学号框中的学号从数据库中搜索对应的信息并在界面中显示出来b.点击删除按钮将从数据库删除界面中搜索到的信息c.点击返回按钮将回到用户登录管理界面d. 点击取消按钮退出界面2.3更新用户信息模块功能说明a. 点击搜索按钮系统将通过学号框中的学号从数据库中搜索对应的信息并在界面中显示出来b.点击更新按钮将从数据库更新界面中修改的信息c.点击返回按钮将回到用户登录管理界面d. 点击取消按钮退出界面2.4添加用户信息模块功能说明a. 点击搜索按钮系统将通过学号框中的学号从数据库中搜索对应的信息并在界面中显示出来b.点击添加按钮将从数据库添加界面中输入的信息c.点击返回按钮将回到用户登录管理界面d. 点击取消按钮退出界面3. 学生模块功能说明您可以根据学生的学号来查找学生的基本信息情况。
java控制台实现学生信息管理系统(IO版)
java控制台实现学⽣信息管理系统(IO版)使⽤java语⾔⽤本地⽂件存储数据实现学⽣信息管理系统,在控制台上编译执⾏,也就是学⽣管理系统IO版可以实现基本的学⽣信息增加、删除、修改、查询功能(细化了查询功能)集合版可以参考我的。
代码如下StudentManager提供⽤户界⾯import java.io.IOException;import java.util.Scanner;public class StudentManager {public static void main(String[] args) throws IOException, ClassNotFoundException {while (true) {Scanner sc = new Scanner(System.in);System.out.println();System.out.println();System.out.println("=================================");System.out.println("=========欢迎使⽤学⽣管理系统 =========");System.out.println("=========请选择您要进⾏的操作 =========");System.out.println("= 1 添加学⽣信息 =");System.out.println("= 2 删除学⽣信息 =");System.out.println("= 3 修改学⽣信息 =");System.out.println("= 4 查询学⽣信息 =");System.out.println("= 5 退出系统 =");System.out.println("==================================");System.out.println("请输⼊您的选择");int choose;if (sc.hasNextInt()) {choose = sc.nextInt();if (choose > 0 && choose < 6) {StudentDAO std = new StudentDAO();switch (choose) {case 1:std.add();break;case 2:std.del();break;case 3:std.update();break;case 4:std.query();break;case 5:System.out.println("成功退出……");System.out.println("欢迎下次使⽤");System.exit(0);break;}} else {System.out.println("请正确输⼊");}} else {System.out.println("请您输⼊正确的选项");}}}}Student类public class Student implements Serializable{private static final long serialVersionUID = 3420928184417313845L;private String stuNo;private String name;private int age;public Student() {super();// TODO Auto-generated constructor stub}public Student(String stuNo, String name, int age) {super();this.stuNo = stuNo; = name;this.age = age;}public String getStuNo() {return stuNo;}public void setStuNo(String stuNo) {this.stuNo = stuNo;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + age;result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((stuNo == null) ? 0 : stuNo.hashCode()); return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Student other = (Student) obj;if (age != other.age)return false;if (name == null) {if ( != null)return false;} else if (!name.equals())return false;if (stuNo == null) {if (other.stuNo != null)return false;} else if (!stuNo.equals(other.stuNo))return false;return true;}@Overridepublic String toString() {return "学⽣:学号 " + stuNo + ", 姓名 " + name + ", 年龄 " + age ; }}IOUtil类⽤于从⽂件中读写信息到集合import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;public class IOUtil {//读取⽂件信息public static ArrayList<Student> readStu() {ArrayList<Student> stuList = null;File file = new File("test.txt");if (!file.exists()) {try {file.createNewFile();} catch (Exception e) {e.printStackTrace();}}try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));) {stuList = (ArrayList<Student>) ois.readObject();} catch (Exception e) {e.printStackTrace();}return stuList;}//写⼊⽂件信息public static void writeStu(ArrayList<Student> stu) {try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("test.txt"))); ) {oos.writeObject(stu);} catch (Exception e) {e.printStackTrace();}}}StudentDAO⽤于执⾏数据的增删改查操作import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.ListIterator;import java.util.Scanner;public class StudentDAO {static Scanner sc = new Scanner(System.in);// 增加学⽣信息public void add() throws IOException, ClassNotFoundException {ArrayList<Student> list = IOUtil.readStu();// 学号⾃增String stuNo = null;a: while (true) {// 如果不存在学⽣则学号为1000if (list.size() == 0) {stuNo = "1000";} else {// 创建新的学号,让新的学号在列表中的最后⼀个学⽣学号的基础上加1int sNo = Integer.parseInt(list.get(list.size() - 1).getStuNo()) + 1;// 将学号类型转为String类型stuNo = String.valueOf(sNo);}System.out.println("请输⼊你要添加的学号为" + stuNo + "的学⽣的姓名");String name = sc.next();while (true) {System.out.println("请输⼊你要添加的学号为" + stuNo + "的学⽣的年龄");Scanner sc1 = new Scanner(System.in);if (sc1.hasNextInt()) {int age = sc1.nextInt();list.add(new Student(stuNo, name, age));IOUtil.writeStu(list);break;} else {System.out.println("请正确输⼊");continue a;}}System.out.println("学号为" + stuNo + "的学⽣信息添加成功"); System.out.println("添加信息后,学⽣的信息为:");showStudentInformation();System.out.println("是否继续执⾏添加操作(y/n)");String result = sc.next();if (result.equalsIgnoreCase("n") || result.equalsIgnoreCase("y")) { if (result.equalsIgnoreCase("n")) {break;}} else {}}}// 删除学⽣信息public void del() throws IOException, ClassNotFoundException { ArrayList<Student> list = IOUtil.readStu();if (list.size() != 0) {a: while (true) {showStudentInformation();System.out.println("请输出你要删除的学⽣的学号");String str = sc.next();Iterator<Student> it = list.iterator();while (it.hasNext()) {Student stu = it.next();if (stu.getStuNo().equals(str)) {it.remove();System.out.println("删除成功!");System.out.println("删除操作后,学⽣的信息为:");IOUtil.writeStu(list);showStudentInformation();break a;// 跳出到指定循环外}}System.out.println("查⽆此⼈……请查证后重新输⼊");}} else {System.out.println("还没有添加学⽣信息,快去添加学⽣信息吧"); }}// 修改学⽣信息public void update() {ArrayList<Student> list = IOUtil.readStu();if (list.size() != 0) {a: while (true) {showStudentInformation();System.out.println("请输⼊要修改学⽣的学号:");String stuNo = sc.next();ListIterator<Student> lit = list.listIterator();while (lit.hasNext()) {Student stu = lit.next();if (stu.getStuNo().equals(stuNo)) {System.out.println("请输⼊您要修改的学⽣的姓名");String name = sc.next();System.out.println("请输⼊您要修改的学⽣的年龄");if (sc.hasNextInt()) {int age = sc.nextInt();stu.setName(name);stu.setAge(age);System.out.println("修改操作后,学⽣的信息为:");IOUtil.writeStu(list);showStudentInformation();break a;} else {System.out.println("请正确输⼊年龄");}}}System.out.println("查⽆此⼈……请查证后重新输⼊");}} else {System.out.println("还没有添加学⽣信息,快去添加学⽣信息吧");}}// 显⽰学⽣信息public void showStudentInformation() {ArrayList<Student> list = IOUtil.readStu();if (list.size() != 0) {System.out.println("=============学⽣信息==============");for (Student stu : list) {System.out.println(stu);}System.out.println("=================================");} else {System.out.println("还没有添加学⽣信息,快去添加学⽣信息吧");}}// 查询学⽣信息public void query() {ArrayList<Student> list = IOUtil.readStu();if (list.size() != 0) {int choose = 0;while (true) {System.out.println("请选择您的查询条件:1.查询全部 2.学号 3.姓名 4.年龄"); System.out.println("请输⼊您的选择");try {choose = sc.nextInt();break;} catch (Exception e) {System.out.println("请重新输⼊选择");sc = new Scanner(System.in);}}switch (choose) {case 1:System.out.println("=============学⽣信息==============");for (Student stu : list) {System.out.println(stu);}System.out.println("=================================");break;case 2: {queryStuNo(list);break;}case 3:queryStuName(list);break;case 4:queryStuAge(list);break;default:System.out.println("查询条件不正确,正在退出查询……");break;}} else {System.out.println("还没有添加学⽣信息,快去添加学⽣信息吧");}}// 按学号查询public static void queryStuNo(ArrayList<Student> list) {a: while (true) {System.out.println("请输⼊您要查询的学号");String stuNo = sc.next();for (Student student : list) {if ((student.getStuNo()).equals(stuNo)) {System.out.println(student);break a;}}System.out.println("查⽆此⼈……请查证后重新输⼊");}}// 按姓名查询public static void queryStuName(ArrayList<Student> list) {while (true) {ArrayList<Student> list1 = new ArrayList<>();System.out.println("请输⼊您要查询的姓名");String stuName = sc.next();for (Student student : list) {if ((student.getName()).equals(stuName)) {list1.add(student);}}if (list1.size() == 0) {System.out.println("查⽆此⼈……请查证后重新输⼊");} else {// 遍历集合for (Student student : list1) {System.out.println(student);}break;}}}// 按年龄查询public static void queryStuAge(ArrayList<Student> list) {while (true) {ArrayList<Student> list1 = new ArrayList<>();int age;System.out.println("请输⼊您要查询的年龄");while (true) {try {age = sc.nextInt();break;} catch (Exception e) {System.out.println("请重新输⼊年龄");sc = new Scanner(System.in);}}for (Student student : list) {if (student.getAge() == age) {list1.add(student);}}if (list1.size() == 0) {System.out.println("没有此年龄的⼈,请重新查找");} else {// 遍历集合for (Student student : list1) {System.out.println(student);}break;}}}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.运行截图:注: 1.按c++,数学,英语依次排序;2.多出信息为文件原有信息。
2.源代码(所有代码均在.cpp文件中,所以有点乱; 另:在vs2013下编译通过,在vc6.0下需要将strcpy_s改为strcpy,某处的循环变量i 会出现错误,改为j 即可;文件需事先创建)#include<iostream>#include<string.h>#include<fstream>#include<iomanip>using namespace std;//------------------------------------------------------------////------------------------类----------------------------------////------------------------------------------------------------//////------------------------成绩类------------------------------//class CGrade{public:CGrade(){}CGrade(float fCpp, float fMath, float fEnglish);~CGrade();void setCpp(float fCpp);void setMath(float fMath);void setEnglish(float fEnglish);float getCpp();float getMath();float getEnglish();private:float fCpp, fMath, fEnglish;};//------------------SET方法------------------------------//void CGrade::setCpp(float fCpp){this->fCpp = fCpp;}void CGrade::setMath(float fMath){this->fMath = fMath;}void CGrade::setEnglish(float fEnglish){this->fEnglish = fEnglish;}//---------------------GET方法--------------------------//float CGrade::getCpp(){return this->fCpp;};float CGrade::getMath(){return this->fMath;};float CGrade::getEnglish(){return this->fEnglish;};//-------------------------------------------------------CGrade::CGrade(float fCpp, float fMath, float fEnglish){this->fCpp = fCpp;this->fMath = fMath;this->fEnglish = fEnglish;};CGrade::~CGrade(){};////-------------------------------学生类---------------------------------------// class CStudent{public:CStudent(){}CStudent(char sName[30],int nAge,char cSex,float fCpp,float fMath,float fEnglish);~CStudent();void setStudent(char sName[30], int nAge, char cSex, float fCpp, float fMath, float fEnglish);void showStudent();char* getStudentName();float getStudentCppGrade();float getStudentMathGrade();float getStudentEnglishGrade();private:char sName[30];char cSex;int nAge;CGrade Grade;};//---------------------------------------------------------------------------------------------------------void CStudent::setStudent(char sName[30], int nAge, char cSex, float fCpp, float fMath, float fEnglish){strcpy_s(this->sName, sName);this->nAge = nAge;this->cSex = cSex;Grade.setCpp(fCpp);Grade.setMath(fMath);Grade.setEnglish(fEnglish);};//----------------------------------------------------------------------------------------------------------float CStudent::getStudentCppGrade(){return Grade.getCpp();};float CStudent::getStudentMathGrade(){return Grade.getMath();};float CStudent::getStudentEnglishGrade(){return Grade.getEnglish();};//-----------------------------------------------------------------------------------------------------------CStudent::CStudent(char sName[30], int nAge, char cSex, float fCpp, float fMath, float fEnglish) :Grade(fCpp,fMath,fEnglish){strcpy_s(this->sName, sName);this->nAge = nAge;this->cSex = cSex;};void CStudent::showStudent(){cout << setw(10) << setiosflags(ios::left) << sName << setw(5) << setiosflags(ios::left) << nAge << setw(5) << setiosflags(ios::left) << cSex;cout << setw(5) << setiosflags(ios::left) << Grade.getCpp()<< setw(5) <<setiosflags(ios::left) << Grade.getMath() << setw(5) << setiosflags(ios::left) << Grade.getEnglish() << endl;}char* CStudent::getStudentName(){return sName;}CStudent::~CStudent(){};/////////////////////////////////////////////////////////////////////////////////-------------------------------函数----------------------------------------/////////////////////////////////////////////////////////////////////////////////////-----------------------------输入函数--------------------------------------//void Grade_input(int n, CStudent *student){float fCpp, fMath, fEnglish;char cSex;int nAge;student = new CStudent[n];cout << "请输入学生的基本信息,包括:姓名,年龄,性别(M/F),C++、数学、英语成绩"<< endl;for (int i = 0; i < n; i++){char sName[30] = { "\0" };cin >> sName >> nAge >> cSex >> fCpp >> fMath >> fEnglish;if (nAge >= 200 || nAge <= 0 || (cSex != 'm'&&cSex != 'M'&&cSex != 'f'&&cSex != 'F') || (fCpp>100 || fCpp <= 0 || fMath > 100 || fMath <= 0 || fEnglish > 100 || fEnglish <= 0))cout << "输入错误,请重新输入:" << endl;i--;continue;}student[i].setStudent(sName,nAge,cSex,fCpp,fMath,fEnglish);}ofstream Studentfile("F://student.dat",ios::in|ios::out|ios::ate|ios::binary);if (Studentfile.is_open()){for (int i = 0; i < n; i++){Studentfile.write((char*)&student[i], sizeof(student[i]));}}delete[] student;};//-------------------------重载函数:查找---------------------------------//bool Find(char* arr_1,char* arr_2){return !strcmp(arr_1,arr_2);};bool Find(float a, float b){if (a == b) return true;else return false;return false;};//--------------------------模板函数comp----------------------------------// template<class T>int comp(T a, T b){if (a > b) return 1;else if (a == b) return 0;else return -1;};//---------------------------Swap-----------------------------------//template <class T>void Swap(T &a,T &b){T temp;temp = a;b = temp;}//---------------------------排序函数(交换排序)-------------------------------//void Sort(CStudent* student,int n){for (int i = 0; i < n-1; i++){for (int j = i + 1; j < n; j++){if (comp(student[i].getStudentCppGrade(), student[j].getStudentCppGrade()) == -1)Swap(student[i], student[j]);else if (comp(student[i].getStudentCppGrade(),student[j].getStudentCppGrade()) == 0){if (comp(student[i].getStudentMathGrade(),student[j].getStudentMathGrade()) == -1)Swap(student[i], student[j]);else if (comp(student[i].getStudentMathGrade(),student[j].getStudentMathGrade()) == 0){if (comp(student[i].getStudentEnglishGrade(),student[j].getStudentEnglishGrade()) == -1)Swap(student[i], student[j]);}}}}};//-------------------------------获取人数---------------------------------//int getStudentNumber(){fstream Studentflie("F://student.dat", ios::in | ios::out | ios::binary);Studentflie.seekg(0, ios::end); //设置文件指针到文件流的尾部int ps = Studentflie.tellg(); //读取文件指针的位置return ps / sizeof(CStudent);}//////////////////////////////////////////////////////////////////////////////-------------------------------主函数-----------------------------------//////////////////////////////////////////////////////////////////////////////int main(){CStudent *student = NULL;int n=0,sum=getStudentNumber();char judge;fstream Studentflie("F://student.dat", ios::in | ios::out | ios::binary); fstream studentfile("F://sortst.dat", ios::out | ios::in |ios::binary); cout << "是否添加信息?Y/N" << endl;cin >> judge;if (judge == 'Y' || judge == 'y'){cout << "输入学生数目:";cin >> n;Grade_input(n, student);}n += sum;student = new CStudent[n];if (studentfile.is_open()){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));}Sort(student,n);cout << "排序如下:" << endl;for (int i = 0; i < n; i++){studentfile.write((char*)&student[i], sizeof(student[i]));student[i].showStudent();}}else{cout << "文件打开失败!" << endl;abort();}if (Studentflie.is_open()){for (int i=0;;i++){int Way=0,Err=0;float grade;char Judge;char Name[30] = { "\0" };//if (i != 0){cout << "是否继续查找:Y/N" << endl;cin >> Judge;if (Judge == 'N' || Judge == 'n'){break;}}//cout << "输入查询方式:" << endl;cout << "1.按姓名查找;" << endl;cout << "2.按成绩查找." << endl;cout << "输入:1/2:";cin >> Way;if (Way > 2 || Way < 0){cout << "输入错误,请重新输入!" << endl;continue;}if (Way == 1){cout << "输入姓名:";cin >> Name;for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(Name, student[i].getStudentName())){Err = 1;student[i].showStudent();}}}else if (Way==2){int way=0;cout << "输入查询科目:" << endl;cout << "1.C++;" << endl;cout << "2.数学;" << endl;cout << "3.英语;" << endl;cout << "4.不限科目." << endl;cout << "输入:1/2/3/4:";cin >> way;if (way>4||way<0){cout << "输入错误,请重新输入!" << endl;continue;}cout << "输入成绩:";cin >> grade;if (way == 1){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentCppGrade())){Err = 1;student[i].showStudent();}}}else if (way == 2){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentMathGrade())){Err = 1;student[i].showStudent();}}}else if (way == 3){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentEnglishGrade())){Err = 1;student[i].showStudent();}}}else if (way==4){for (int i = 0; i < n; i++){Studentflie.read((char*)&student[i], sizeof(student[i]));if (Find(grade, student[i].getStudentCppGrade())){Err = 1;student[i].showStudent();}else if ( Find(grade, student[i].getStudentMathGrade()) ){Err = 1;student[i].showStudent();}else if ( Find(grade, student[i].getStudentEnglishGrade())){Err = 1;student[i].showStudent();}}}}if (Err != 1) cout << "没有找到对应项!" << endl;}}else{cout << "文件打开失败!" << endl;abort();}Studentflie.close();studentfile.close();delete[] student;return 0;}。