2020年整理学生管理系统程序源代码.doc
- 格式:doc
- 大小:58.50 KB
- 文档页数:9
cin>>targetNum;modify_Num(targetNum);cout<<endl;display();}if(key == 2){char targetName[20];cout<cin>>targetName;modify_Name(targetName);cout<<endl;display();}if(key == 3){exit(0);}*/show_Start();menu_CMD();return 0;}void show_Start(){void show_Table(){cout<<" <<"\t"<<" "<<"\t"<<"cout<<"\t"<<subject[0]<<"\t"<<subject[1]<<"\t"<<subject[2]; cout<<endl;}void menu_CMD(){int key;while(1){cout<<"1. <<endl; cout<<"2. <<endl; cout<<"3. <<endl; cout<<"4. <<endl; cout<<"5. <<endl; cout<<"6. <<endl; cout<<"cin>>key;while(1){if((key < 1)||(key > 6)) {int key;cout<< "<<endl; cout<< (1 - 5) : " cin>>key;}else{break;}}switch(key){case 1:addRecord();break;case 2:deleteRecord();break;case 3:modifyRecord();break;case 4:queryRecord();break;case 5:display();break;case 6:quit();break;}}}um;cout<<" : "; cin>>record[stuNum].name; cout<<"(M , F) : "; cin>>record[stuNum].sex;int i;for(i = 0;i < SUBJECT_NUM;i++) {cout<<" "<<subject[i]<< cin>>record[stuNum].score[i];}}if((choi == 'N')||(choi == 'n')) {cout<<" <<endl;cout<<endl;}cout<< <<stuNum<<" cout<<endl;!"<<endl;}"<<endl;cout<<"2. <<endl;cout<<"3. "<<endl;}um == tarNum) {if(i = stuNum){cout<<" : "<<endl; show_Table();cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t" <<record[i].score[0]<<record[i].score[1]<<"\t"<<record[i].score[2]; cout<<endl;cout<<endl<<" : "<<endl;show_Table();for(int i = 1;i <= stuNum - 1;i++){ cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(int j = 0;j < SUBJECT_NUM;j++){ cout<<"\t"<<record[i].score[j];} cout<<endl;}/*stuNum--;cout<<" <<stuNum<<";cout<<endl;*/}if(i != stuNum){cout<<" : "<<endl;show_Table();cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score [2];for(int j = i+1;j <= stuNum;j++){record[j-1] = record[j];}um<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(int j = 0;j < SUBJECT_NUM;j++){cout<<"\t"<<record[i].score[j];}cout<<endl;}/*stuNum--;cout<<" "<<stuNum<<"cout<<endl;*/}stuNum--;cout<<" "<<stuNum<< cout<<endl;}}}/*ame,tarName) == 0){um<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"<<record[i].score[0]<<record[i].score[1]<<"\t"<<record[i].score[2];cout<<endl;cout<<endl<<" : "<<endl;show_Table();for(int i = 1;i <= stuNum - 1;i++){cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(int j = 0;j < SUBJECT_NUM;j++){cout<<"\t"<<record[i].score[j];}cout<<endl;}}/if(i != stuNum){cout<<" : "<<endl; show_Table();cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t" <<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score [2];um<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(int j = 0;j < SUBJECT_NUM;j++){ cout<<"\t"<<record[i].score[j];}cout<<endl;}cout<<endl;} void delete_Name(char tarName[]){int i;for(i = 1;i <= stuNum;i++){ ame,tarName) == 0){if(i == stuNum){cout<<" : "<<endl;show_Table();cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score [2];cout<<" : "<<endl;show_Table();for(int i = 1;i <= stuNum-1;i++){cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(int j = 0;j < SUBJECT_NUM;j++){cout<<"\t"<<record[i].score[j];}cout<<endl;}/*stuNum--;cout<<" "<<stuNum<<" ";cout<<endl;*/}/if(i != stuNum){cout<<" "<<endl;show_Table();cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t";cout<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].s core[2];cout<<endl;for(int j = i+1;j <= stuNum;j++){record[j-1] = record[j];}cout<<" : "<<endl;cout<<endl;show_Table();for(int i = 1;i <= stuNum-1;i++){cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(int j = 0;j < SUBJECT_NUM;j++){cout<<"\t"<<record[i].score[j];}cout<<endl;}/*stuNum--;cout<<" "<<stuNum<<cout<<endl;*/}stuNum--;cout<<" <<stuNum<< ";cout<<endl;}}}/***********************************************************************************************************************************************************/void Info_modify(){cout<<"\ : "<<endl;cout<<"1. "<<endl;cout<<"2. "<<endl;cout<<"3. "<<endl;}void modifyRecord(){ int key; cout<<endl;Info_modify(); cout<<" : "; cin>>key;um == tarNum){ cout<<endl<<" "<<endl; cout<<" : ";cin>>record[i].num; cout<<" : ";cin>>record[i].name; cout<<";cin>>record[i].sex; cout<<" "<<subject[0]<<" "; cin>>record[i].score[0];cout<<" "<<subject[1]<<" : "; cin>>record[i].score[1]; cout<<" "<<subject[2]<< "; cin>>record[i].score[2]; } } }void modify_Name(char tarName[]){int i;for(i = 1;i <= stuNum;i++){if(strcmp(record[i].name,tarName) == 0) {cout<<endl<<" : "<<endl;cout<<" : "; cin>>record[i].num;cout<<" : "; cin>>record[i].name;cout<<" : "; cin>>record[i].sex;cout<<" "<<subject[0]<<" : "; cin>>record[i].score[0]; cout<<" "<<subject[1]<<" : " cin>>record[i].score[1]; cout<<" "<<subject[2]<<" : ";cin>>record[i].score[2];}}}void Info_query(){cout<<" : "<<endl; cout<<"1. "<<endl;cout<<"2. "<<endl;cout<<"3. "<<endl;}if(key == 3){while(1){menu_CMD();}void query_Num(int tarNum){int i;for(i = 1;i <= stuNum;i++){if(record[i].num == tarNum){um<<"\t"<<record[i].name<<"\t"<<record[i].sex;cout<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<recor d[i].score[2];cout<<endl;}}}ame,tarName) == 0){cout<<" : "<<endl;show_Table();cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;cout<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<recor d[i].score[2];cout<<endl;}}}um<<"\t"<<record[i].name<<"\t"<<record[i].sex;for(j = 0;j < SUBJECT_NUM;j++){cout<<"\t"<<record[i].score[j];}cout<<endl;}cout<<endl;}//void quit(){char choi;cout<<" "<<endl;cout<<" (Y/N) : ";cin>>choi;if((choi == 'Y')||(choi == 'y')) {cout<< "<<endl;exit(0);}/ else{cout<<endl; menu_CMD();。
JA V A学生管理系统源代码一、程序import java.util.*;public class Test {//主程序public static void main(String[] args){Scanner in = new Scanner(System.in);System.out.println("------请定义学生的人数:------");Student[] stuArr = new Student[in.nextInt()];Admin adminStu = new Admin();while(true){System.out.println("-----请选择你要执行的功能-----");System.out.println("10:添加一个学生");System.out.println("11:查找一个学生");System.out.println("12:根据学生编号更新学生基本信息");System.out.println("13:根据学生编号删除学生");System.out.println("14:根据编号输入学生各门成绩");System.out.println("15:根据某门成绩进行排序");System.out.println("16:根据总分进行排序");System.out.println("99:退出系统");String number = in.next();if(number.equals("10")){System.out.println("请输入学生的编号:");int num = in.nextInt();System.out.println("请输入学生的姓名:");String name = in.next();System.out.println("请输入学生的年龄:");int age = in.nextInt();adminStu.Create(num,name,age,stuArr);//添加学生}else if(number.equals("11")){System.out.println("执行查找学生基本信息的操作");System.out.println("请输入学生的编号进行查找:");int num = in.nextInt();adminStu.find(num,stuArr);//查找学生}else if(number.equals("12")){System.out.println("执行更新学员的基本信息操作");System.out.println("请输入学生的编号:");int num = in.nextInt();System.out.println("请输入学生的姓名:");String name = in.next();System.out.println("请输入学生的年龄:");int age = in.nextInt();adminStu.update(num,name,age,stuArr);//更新学生基本信息}else if(number.equals("13")){System.out.println("执行删除学生操作");System.out.println("请输入学生编号:");int num = in.nextInt();adminStu.delete(num,stuArr);//删除学生}else if(number.equals("14")){System.out.println("执行输入成绩操作");System.out.println("请输入学生编号:");int num = in.nextInt();adminStu.input(num, stuArr);//输入成绩}else if(number.equals("15")){System.out.println("执行根据某科目成绩排序操作");System.out.println("请选择需要排序的科目名(1.java 2.C# 3.html 4.sql):");int num = in.nextInt();adminStu.courseSort(num,stuArr);//按科目排序}else if(number.equals("16")){System.out.println("执行根据总分排序操作");adminStu.sumSort(stuArr);//按总分排序}else if(number.equals("99")){System.out.println("--------程序已退出--------");//break;System.exit(0);}}}}二、学生类public class Student {//学生类private int num;private String name;private int age;private int java;private int C;private int html;private int sql;private int sum;private int avg;public int getNum() {return num;}public void setNum(int num) { this.num = num;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) { this.age = age;}public int getJava() {return java;}public void setJava(int java) { this.java = java;}public int getC() {return C;}public void setC(int c) {C = c;}public int getHtml() {return html;}public void setHtml(int html) { this.html = html;}public int getSql() {return sql;}public void setSql(int sql) { this.sql = sql;}public int getSum() {return sum;}public void setSum() {this.sum = this.java+this.C+this.html+this.sql;}public int getAvg() {return avg;}public void setAvg() {this.avg = this.sum/4;}public String toString(){String str= "\t"+this.num+"\t"++"\t"+this.age+"\t"+this.java+"\t"+this.C+"\t"+this.html+"\t"+this.sql+"\t"+this.sum+"\t"+this.avg;return str;}}三、管理学生类import java.util.*;public class Admin {//用来管理学生的一个类String msg = "\t编号\t姓名\t年龄\tjava\tC#\thtml\tsql\t总分\t 平均分";public void print(Student[] arr){//刷新数据的方法System.out.println(msg);for(int i=0;i<arr.length;i++){if(arr[i]!=null){arr[i].setSum();arr[i].setAvg();System.out.println(arr[i]);}}}public boolean exist(int num,Student stu){//判断学生是否存在的方法if(stu!=null){if(stu.getNum()==num){return true;}else{return false;}}return false;}public void Create(int num,String name,int age,Student[] arr){//添加学生的方法Student stu = new Student();stu.setNum(num);stu.setName(name);stu.setAge(age);int i = this.setIndex(arr);if(i==99999){System.out.println("学生人数已添满,不能再添加了");}else{arr[i]=stu;}this.print(arr);}public int setIndex(Student[] arr){//返回数组为空的下标for(int i=0;i<arr.length;i++){if(arr[i]==null){return i;}}return 99999;}public void find(int num,Student[] arr){//查询学生的方法for(int i=0;i<arr.length;i++){//判断学生是否存在if(this.exist(num,arr[i])==true){System.out.println(msg);System.out.println(arr[i]);return;}}System.out.println("-----没有这个学生的存在-----");}public void update(int num,String name,int age,Student[] arr){//更新学生基本信息的方法for(int i=0;i<arr.length;i++){if(this.exist(num, arr[i])==true){arr[i].setName(name);arr[i].setAge(age);System.out.println("--------更新学生信息成功!-------");this.print(arr);return;}}System.out.println("------没找到这个学生更新信息失败------");}public void delete(int num,Student[] arr){//删除学生的方法for(int i=0;i<arr.length;i++){if(this.exist(num,arr[i])){arr[i] = null;this.print(arr);return;}}System.out.println("您所指定编号的学生不存在");}public void input(int num,Student[] arr){//输入学生成绩的方法for(int i=0;i<arr.length;i++){if(this.exist(num, arr[i])){Scanner in = new Scanner(System.in);System.out.println("请输入"+arr[i].getName()+"java 的成绩:");if(in.hasNextInt()){//输入非整形数则不执行arr[i].setJava(in.nextInt());}else{return;}System.out.println("请输入"+arr[i].getName()+"C#的成绩:");if(in.hasNextInt()){arr[i].setC(in.nextInt());}else{return;}System.out.println("请输入"+arr[i].getName()+"html 的成绩:");if(in.hasNextInt()){arr[i].setHtml(in.nextInt());}else{return;}System.out.println("请输入"+arr[i].getName()+"sql 的成绩:");if(in.hasNextInt()){arr[i].setSql(in.nextInt());}else{return;}this.print(arr);return;}}}public void courseSort(int num,Student[] arr){//根据指定科目排序的方法if(num==1){//这里不能用冒泡排序(因为冒泡排序是相邻的比较,而相邻的可能不存在,那么相隔的两个就不能交换)for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]!=null&&arr[j]!=null){if(arr[i].getJava()<arr[j].getJava()){Student t = arr[i];arr[i] = arr[j];arr[j] = t;}}}}}else if(num==2){for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]!=null&&arr[j]!=null){if(arr[i].getC()<arr[j].getC()){Student t = arr[i];arr[i] = arr[j];arr[j] = t;}}}}}else if(num==3){for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]!=null&&arr[j]!=null){if(arr[i].getHtml()<arr[j].getHtml()){Student t = arr[i];arr[i] = arr[j];arr[j] = t;}}}}}else if(num==4){for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]!=null&&arr[j]!=null){if(arr[i].getSql()<arr[j].getSql()){Student t = arr[i];arr[i] = arr[j];arr[j] = t;}}}}}this.print(arr);}public void sumSort(Student[] arr){//根据总分排序的方法for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]!=null&&arr[j]!=null){if(arr[i].getSum()<arr[j].getSum()){Student t = arr[i];arr[i] = arr[j];arr[j] = t;}}}}this.print(arr);}}。
数据库系统原理及其应用教程课程设计报告题目名称:学生成绩管理系统任课教师:姓名:学号:一.概述1.设计背景学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。
这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率。
所以我想借本次课程设计之际,设计一个简易的学生成绩管理系统。
2. 设计目的1、掌握运用数据库原理进行系统分析和设计的方法;2、掌握关系数据库的设计方法;3、掌握利用SQL Server 2000技术;4、加强C++的编程能力3. 设计内容1.设计一个简易学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输入输出。
2.设计用户的操作界面,主要实现数据的查询,添加,修改,删除基本功能。
二.需求分析1.功能分析在成绩管理系统中最主要的是对学生成绩的管理,管理主要包括:对学生成绩的录入,修改,删除,以及按不同的方式对学生成绩进行查询。
系统中包括学生的基本信息(如:学号,姓名,专业等),学生的各科成绩信息,教师的基本信息(如:教师编号,姓名,性别,所教科目,学历等),学生所学科目科目的基本信息(如:科目编号,名称,出版社等),以便查询。
广东石油化工学院C++程序设计训练专业班级学号姓名指导教师完成时刻一、上机内容用C++语言设计一个简单的学生成绩治理系统,要紧功能包括:1.输入学生的各科成绩;2.运算总分;3.运算平均分;4.运算名次(按平均分);5.可查询任一学生的成绩情形;6.运算可科目的优秀率和合格率。
二、程序源代码解:可输入n个学生,m个科目程序如下:#include<iostream>#include<string>#include<iomanip>using namespace std;int main(){int n,m,i,j,k,t;int stu3[10],stu4[10],stu1[100];string str[10];double max,stu5[100],stu2[100][10],sum[100];cout<<"请分别输入学生总人数和总科目:"<<endl; cin>>n>>m;cout<<"输入各科目的名字用空格隔开:"<<endl;for(i=1;i<=m;i++)cin>>str[i];memset(stu3,0,sizeof(stu3));memset(stu4,0,sizeof(stu4));memset(stu1,0,sizeof(stu1));cout<<"请按学号和科目名称输入学生的成绩:"<<endl; for(i=1;i<=n;i++){ cin>>stu5[i];sum[i]=0;for(j=1;j<=m;j++){cin>>stu2[i][j];sum[i]+=stu2[i][j];if(stu2[i][j]>=60) stu3[j]++;if(stu2[i][j]>=90)stu4[j]++;}}k=0;int k1;for(i=1;i<=n;i++){max=0;for(j=1;j<=n;j++){if(stu1[j]==0){if(sum[j]>max){max=sum[j];k1=j;}}}stu1[k1]=++k;}cout<<"学号总分平均分排名"<<endl;for(i=1;i<=n;i++){cout<<i<<" "<<setiosflags(ios::fixed)<<sum[i]<<" "<<setiosflags(ios::fixed)<<sum[i]/m<<" "<<stu1[i]<<endl;}cout<<" "<<"优秀率"<<"合格率"<<endl;for(i=1;i<=m;i++){cout<<str[i]<<" "<<100.0*stu4[i]/n<<"% "<<100.0*stu3[i]/n<<"%"<<endl;}cout<<"假如你要查成绩请输入1,否则输入0:"<<endl;cin>>t;if(t){cout<<"输入你要查询成绩的学生学号:"<<endl;cout<<"输入0退出"<<endl;while(1){cin>>t;if(t==0)break;for(i=1;i<=m;i++){cout<<str[i]<<":"<<stu2[t][i]<<endl;}cout<<"总分:"<<sum[t]<<endl;cout<<"平均分:"<<sum[t]/n<<endl;}}return 0;}//1.输入学生的各科成绩;//2.运算总分;//3.运算平均分;//4.运算名次(按平均分);//5.可查询任一学生的成绩情形;//6.运算各科目的优秀率和合格率。
软件工程课程设计报告题目:_____学生成绩管理系统____专业班级:___计算机系计科 102 班___姓名:____________________学号:_____________同组姓名:_________________________成绩评定年月日指导教师:第 1 章绪论 (2)第 2 章系统分析 (3)2.1 系统目标 (3)2.2 功能要求 (3)2.3 可行性研究方法 (3)2.4 系统可行性分析 (3)第 3 章需求分析 (4)3.1 引言 (4)3.2 任务概述 (4)3.2.1 编写目的 (4)3.2.2 背景 (4)3.3 功能需求 (4)3.3.1 管理功能部份 (4)管理员功能 (4)学生功能 (4)3.4 数据流图 (5)3.5 学生成绩管理系统逻辑结构图 (5)3.6 用例 (6)第 4 章概要设计 (8)4.1 设计目标 (8)4.2 编写目的 (8)4.3 任务概述 (8)4.4 总体设计 (9)4.4.1 系统设计思想 (9)4.4.2 学生成绩管理系统顺序图 (10)4.5 接口设计 (11)第 5 章详细设计 (12)5.1 根本任务 (12)5.2 程序流程图 (12)5.3 详细设计说明 (14)第六章软件测试 (16)第七章实验结果截图显示 (18)第八章程序源代码 (20)第九章实验总结 (28)第十章参考文献 (28)随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。
服务教学、提高教学水平和教学结果查询是校园网建设的核心目标和核心价值,本系统立足于校园实际,争取做出一个方便快捷的成绩管理系统,实现成绩信息的管理。
该项目主要是服务于学生成绩管理方面,进一步方便教师的工作和学生的成绩查询,从而从侧面达到提高学校的管理质量。
学生考勤管理系统正文:1·系统介绍1·1 目的学生考勤管理系统旨在实现对学生的考勤情况进行有效管理和监控,提高学校考勤工作的效率和准确性。
1·2 背景传统的学生考勤管理方式存在着诸多问题,如人工记录容易出错、管理不便等。
因此,开发学生考勤管理系统能够帮助学校实现自动化考勤,提升工作效率。
1·3 功能概述学生考勤管理系统主要包括以下功能:●学生信息管理:包括学生基本信息、班级信息等。
●考勤记录管理:记录学生的每次考勤情况,包括考勤时间、考勤状态等。
●统计分析功能:根据考勤记录各类统计报表,提供数据分析支持。
●考勤预警功能:根据设定的规则和条件,对学生的考勤情况进行预警。
●系统设置功能:包括权限管理、数据备份与恢复等。
1·4 目标用户本系统主要面向学校教务管理人员、班主任和学生,以及家长等相关人员。
2·系统需求2·1 功能需求2·1·1 学生信息管理●添加学生信息:包括学生姓名、学号、班级等。
●查看学生信息:提供按条件查询学生信息的功能。
●编辑学生信息:可以修改学生的基本信息。
2·1·2 考勤记录管理●添加考勤记录:记录学生的每次考勤情况,包括考勤时间、考勤状态等。
●查询考勤记录:提供按条件查询考勤记录的功能。
●编辑考勤记录:可以修改考勤记录的相关信息。
2·1·3 统计分析功能●考勤报表:根据考勤记录各类统计报表,如学生考勤统计、班级考勤统计等。
●数据分析支持:提供数据分析功能,帮助教务管理人员进行决策。
2·1·4 考勤预警功能●设置预警规则:根据学校的具体需求,设置考勤预警规则。
●预警通知:当学生的考勤情况触发预警规则时,通过系统通知相关人员。
2·1·5 系统设置功能●权限管理:设置不同用户的权限,保证系统安全。
●数据备份与恢复:提供数据备份和恢复的功能,防止数据丢失。
C语言大型作业实践报告计算机1001制作者:李菁华张兆丰秦恒加2011年6月题目:选修课程管理系统要求:假定有N门选修课,每门课有课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等信息。
学生可按要求(如总学分不能少于20学分)选课。
课程信息维护,如录入、修改、删除等,课程信息用文件保存。
课程信息浏览?输出。
学生选课功能。
查询功能包括:按学分、课程性质、学生等查询。
统计功能。
统计各门课程的选修人数。
本系统要有通用性、界面美观、操作方便。
要考虑系统安全。
课程信息录入系统选修课程信息录入选修课程信息保存主程序目录选择总体设计思路(流程图):学生选课系统课程信息读入学生信息输入选课系统数据保存选修课数据维护系统添加修改删除以word格式输出密码系统密码验证系统权限限制系统密码对退出程序密码对选修课程信息查找按各种类型查找密码错3次以上具体算法流程设计思路(流程图):主程序目录选择1.学生选课系统;2.选修课程信息输出;3.选修课程信息查找;4.管理员选项;5.退出系统。
管理员选项密码验证系统读入系统时间,通过强制转换成unsigned long int型数据作为初始密码用户输入密码(若是管理员会拥有密码钥匙,得出现在的密码,该密码每分钟都会变化)密码正确进入管理员管理界面,密码不正确重新输入密码输入错误3次以上 12 3学生选课系统选修课程信息以word2003形式输出返回主菜单选修课程信息查找选修课程信息从文件内读入输入按什么查找1.课程编号;2.课程名;3.课程种类;4.总课时;5.教学课时;6实验课时;7.学分;8.开课学期;9.已选人数。
输入查找的关键字从文件内读入的课程信息与关键字逐一对比,完全匹配输出;查找完毕学生信息输入课程信息浏览不选少于这门20分选课系统课选课成功判断学分是否大于20分大于20分结束选课选课信息储存退出程序管理员模块管理员模块 3目录选择1.学生选课系统;2.选修课程信息管理系统;3.退出系统12 5学生选课系统二级目录选择1.新建选修课程信息;2.管理选修课程信息;3.统计每门课程选择人数;4.选修课程信息输出;5.回到主菜单。
学生管理系统程序源代码简介:学生管理系统是一种用于学校或者教育机构管理学生信息的软件系统。
它可以匡助学校管理学生的个人信息、课程信息、成绩信息等。
本文将提供一个标准格式的学生管理系统程序源代码,用于展示如何设计和实现一个简单的学生管理系统。
源代码:```python# 导入所需库import csv# 定义学生类class Student:def __init__(self, id, name, age, grade):self.id = id = nameself.age = ageself.grade = grade# 定义学生管理系统类class StudentManagementSystem:def __init__(self):self.students = []# 添加学生def add_student(self, student):self.students.append(student)# 删除学生def delete_student(self, student):self.students.remove(student)# 根据学生ID查找学生def find_student_by_id(self, id):for student in self.students:if student.id == id:return studentreturn None# 根据学生姓名查找学生def find_student_by_name(self, name):for student in self.students:if == name:return studentreturn None# 导出学生信息到CSV文件def export_to_csv(self, filename):with open(filename, 'w', newline='') as file:writer = csv.writer(file)writer.writerow(["ID", "Name", "Age", "Grade"])for student in self.students:writer.writerow([student.id, , student.age, student.grade]) # 从CSV文件导入学生信息def import_from_csv(self, filename):with open(filename, 'r') as file:reader = csv.reader(file)next(reader) # 跳过标题行for row in reader:id = row[0]name = row[1]age = row[2]grade = row[3]student = Student(id, name, age, grade)self.add_student(student)# 示例用法if __name__ == "__main__":# 创建学生管理系统对象sms = StudentManagementSystem()# 添加学生student1 = Student("001", "Alice", 18, "A")student2 = Student("002", "Bob", 17, "B")sms.add_student(student1)sms.add_student(student2)# 根据ID查找学生found_student = sms.find_student_by_id("001")if found_student:print("Found student:", found_)else:print("Student not found.")# 根据姓名查找学生found_student = sms.find_student_by_name("Bob") if found_student:print("Found student:", found_)else:print("Student not found.")# 导出学生信息到CSV文件sms.export_to_csv("students.csv")# 从CSV文件导入学生信息sms.import_from_csv("students.csv")```以上是一个简单的学生管理系统程序的源代码示例。
package xsgl;import java.awt。
*;import java.awt。
event。
*;import java。
sql。
*;import java。
util.*;import javax。
swing。
*;import java。
util。
Vector;import javax.swing。
table.*;import java。
awt。
event.*;public class Xsglxt extends JFrame implements ActionListener//继承JFrame 并实现接口ActionListener{JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1; //定义表格对象JScrollPane gd1;Xsxx xsxx2;//定义Xsxx类的一个对象xsxx2 public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt() //XSGLXT构造方法,用于对象初始化。
{mb1=new JPanel();bq1=new JLabel(”请输入姓名”);wbk1=new JTextField(10);an1=new JButton(”查询”);an1.addActionListener(this); //对按钮1添加监听an1。
setActionCommand(”chaxun”);//设置按钮1的监听信息mb1.add(bq1);mb1.add(wbk1); mb1.add(an1);mb2=new JPanel();an2=new JButton("添加”);an2。
addActionListener(this);an2。
setActionCommand("tianjia”);an3=new JButton(”修改”);an3.addActionListener(this);an3。
#include <stdio.h>#include <string.h>struct student{long int num;char name[20];int age;char sex[4];int e;char m[20];char b[30];char p[15];};int n=0;struct student stu[100];struct student *p;void lr();void ll();void cx();void xg();void sc();void bc();void dq();void px();void main(){int z;printf("+---------------------------+\n");printf("| 欢迎使用学生档案管理系统|\n");printf("+---------------------------+\n");printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");do{printf("\n\t\t\t--------------------------------\n");printf("\t\t\t+ 主菜单|\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+ [1]----录入学生信息|\n");printf("\t\t\t+ [2]----浏览学生信息|\n");printf("\t\t\t+ [3]----查询学生信息|\n");printf("\t\t\t+ [4]----删除学生信息|\n");printf("\t\t\t+ [5]----修改学生信息|\n");printf("\t\t\t+ [6]----保存学生信息|\n");printf("\t\t\t+ [7]----读取学生信息|\n");printf("\t\t\t+ [8]----按学号排序|\n");printf("\t\t\t+ [0]----退出系统|\n");printf("\t\t\t--------------------------------\n");printf("请输入您的选择:");scanf("%d", &z);switch(z){case 0 : break;case 1 :lr();break;case 2 :ll();break;case 3 :cx();break;case 4 :sc();break;case 5 :xg();break;case 6 :bc();break;case 7 :dq();break;case 8 :px();break;default:printf("\n无效选项!");}}while(z!= 0);}void lr()/*录入函数*/{int y;if(n==0){p=stu;}else{p=&stu[n];}do{printf("--------------------\n");printf("请输入学生的学号:");scanf("%ld",&p->num);printf("请输入学生的姓名:");scanf("%s",p->name);printf("请输入学生的年龄:");scanf("%d",&p->age);printf("请输入学生的性别:");scanf("%s",p->sex);printf("请输入学生的出生日期:");scanf("%d",&p->e);printf("请输入学生的E-mail:");scanf("%s",p->m);printf("请输入学生的籍贯:");scanf("%s",p->b);printf("请输入学生的电话:");scanf("%s",p->p);n++;p++;printf("\n1.继续输入.\n0.输入完毕.\n");printf("请选择:");scanf("%d",&y);}while(y==1);printf("提示:输入完毕!你一共输入%d个\n",n);}void ll()/*浏览函数*/{int i;if(n!=0){ printf("学生总数:%d\n", n);printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n");printf("-----------------------------------------------------\n");for(i=0;i<n;i++)printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,st u[i].m,stu[i].b,stu[i].p);}else printf("提示:无学生数据,请输入数据!");}void cx()/*查询函数*/{int c;int w,i,j=0;char name[20];if(n!=0){do{ printf("\n");printf("+--------------------+\n");printf("| 按学号查询请按1 |\n");printf("| 按姓名查询请按2 |\n");printf("| 取消请按0 |\n");printf("+--------------------+\n");printf("请输入您的选择:");scanf("%d", &c);switch(c){case 0:break;case 1:printf("请输入学生的学号;");scanf("%ld", &w);printf("\n");for(i=0;i<n;i++)if(stu[i].num==w){printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n");printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,st u[i].m,stu[i].b,stu[i].p);j=1;}if(j==0)printf("提示:没有该学生记录,请核对!");break;case 2:printf("请输入学生的姓名:");scanf("%s", name);printf("\n");for(i=0;i<n;i++)if(strcmp(name,stu[i].name)==0){printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n");j=1;printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,st u[i].m,stu[i].b,stu[i].p);}if(j==0)printf("提示:没有该学生记录,请核对!");break;default:printf("\n提示:无效选项!");break;}}while(c!= 0);}else printf("提示:无学生数据,请输入数据!"); return;}void xg()/*修改函数*/{long int num;int i,j,c;if(n!=0){printf("请输入您要修改的学生的学号:");scanf("%ld", &num);printf("\n");for(i=0;i<n;i++)if(stu[i].num==num)j=i;do{printf("请选择您要修改的学生的内容:\n");printf("+----------------------+\n");printf("| 姓名请按1 |\n");printf("| 年龄请按2 |\n");printf("| 性别请按3 |\n");printf("| 出生年月请按4 |\n");printf("| E-mail 请按5 |\n");printf("| 学号请按6 |\n");printf("| 籍贯请按7 |\n");printf("| 电话请按8 |\n");printf("| 取消请按0 |\n");printf("+----------------------+\n");printf("请输入您的选择:");scanf("%d", &c);printf("\n");switch(c){case 0:break;case 1:printf("请输入新姓名:");scanf("%s",stu[j].name);break;case 2:printf("请输入新年龄:");scanf("%d",&stu[j].age);break;case 3:printf("请输入新性别:");scanf("%s",stu[j].sex);break;case 4:printf("请输入新出生年月:");scanf("%d",&stu[j].e);break;case 5:printf("请输入新E-mail:");scanf("%s",stu[j].m);break;case 6:printf("请输入新学号:");scanf("%ld",&stu[j].num);break;case 7:printf("请输入新籍贯:");scanf("%s",stu[j].b);break;case 8:printf("请输入新电话:");scanf("%s",stu[j].p);break;default:printf("\n无效选项!");break;}}while(c!= 0);}else printf("提示:无学生数据,请输入数据!");}void sc()/*删除函数*/{long int num;int i,j,e;if(n!=0){printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n");printf("-----------------------------------------------------\n");for(i=0;i<n;i++)printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,st u[i].m,stu[i].b,stu[i].p);printf("请输入您要删除的学生的学号:");scanf("%ld", &num);printf("\n");for(i=0;i<n;i++)if(num==stu[i].num)j=i;if(j!=(n-1)){for(e=i-1;e<n;e++,j++){stu[j].num=stu[j+1].num;strcpy(stu[j].name,stu[j+1].name);strcpy(stu[j].sex,stu[j+1].sex);stu[j].e=stu[j+1].age;strcpy(stu[j].m,stu[j+1].m);stu[j].age=stu[j+1].age;strcpy(stu[j].b,stu[j+1].b);strcpy(stu[j].p,stu[j+1].p);n--;p--;}}else {n--;p--;}printf("提示:删除完毕!");}else printf("提示:无学生数据,请输入数据!");}void bc() /*保存学生信息到文件的函数*/{int i;char x='0';FILE *fp;if((fp=fopen("student.txt","wb"))==NULL) /*创建文件并判断是否能够打开成功*/{printf("文件不能打开!\n");return; /*如果不能打开文件,则关闭当前所有的文件*/}for(i=0;i<n;i++) /*将内存中的学生信息写入到磁盘文件中*/if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("文件输入错误!\n");fclose(fp); /*关闭文件*/x=(char)i;if((fp=fopen("math.txt","wb"))==NULL){printf("文件创建失败!");return;}fputc(x,fp);fclose(fp);}void dq(){int i;char x;FILE *fp;if((fp=fopen("math.txt","rb"))==NULL){printf("打开错误!\n");return;}x=fgetc(fp);fclose(fp);n=(int)x;if((fp=fopen("student.txt","rb"))==NULL){printf("打开文件时错误!请按任意键退出!");return;}printf(" 所有学生的信息为:\n \n");printf("学号\t姓名\t年龄\t性别\t出生日期\tE-mail\t\t\t籍贯\t\t电话\n");for(i=0;i<n;i++){fread(&stu[i],sizeof(struct student),1,fp);printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,st u[i].m,stu[i].b,stu[i].p);}fclose(fp);}void px(){int i,j;/*计数变量*/struct student temp;for(i=0;i<n-1;i++) /*运用冒泡排序对结构体数组进行排序*/for (j=i+1;j<n;j++){if(stu[i].num>stu[j].num){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}}printf("\n排序后的学生信息:\n\n");for (i=0;i<n;i++){printf("%ld\t%s\t%d\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].e,st u[i].m,stu[i].b,stu[i].p);}/*输出排序后的学生信息*/return;}。