课程设计学生信息管理系统.docx

上传人:scccc 文档编号:10567969 上传时间:2021-05-23 格式:DOCX 页数:28 大小:138.79KB
返回 下载 相关 举报
课程设计学生信息管理系统.docx_第1页
第1页 / 共28页
课程设计学生信息管理系统.docx_第2页
第2页 / 共28页
课程设计学生信息管理系统.docx_第3页
第3页 / 共28页
课程设计学生信息管理系统.docx_第4页
第4页 / 共28页
课程设计学生信息管理系统.docx_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计学生信息管理系统.docx(28页珍藏版)》请在三一文库上搜索。

1、课程设计报告 课程名称:面向对象程序设计C+ 设计题目: 学生信息管理系统 专 业:计算机科学与技术 姓 名: 学 号 指导教师:李 晓 虹2015 年 1 月 5 日一、 系统需求分析随着计算机的普及,计算机在生活中得到越来越多的应用,其中在计算机上运行的各种软件在解决生活中的实际问题中起着重大的作用,而目前在编写应用程序时,C+以其高效及灵活性成为大多程序设计者的首选。其次对于普通用户的应用者,利用C+语言设计出适用的小型软件对解决生活中的繁琐问题有很大的作用。在学校或班级,我们经常会对某次考试中所有学生的成绩进行统计和管理,由于学生数目经常繁多,所以在处理统计学生总成绩和平均成绩时工作会

2、相对繁琐,所以针对这种情况,同时我们分析了成绩管理系统所需要的功能,在利用C+语言及VC+6.0程序运行平台之下,设计了一种小型的成绩管理系统,该系统具有学生成绩相关信息的录入、显示、查询、修改、删除和统计等功能。二、 总体设计图2-1学生成绩管理系统总体框架图三、 详细设计程序的主要功能:1. 录入功能:录入一些学生的基本信息,包括姓名、学号、7门课堂的课程的成绩(C+、英语、数学、体育、网络基础、C语言、数据库)。2. 显示功能:显示所有学生的主要信息包括姓名、学号、7门课程的课程成绩。3. 查询功能:根据学号、姓名查询这个学生的所有课程成绩。4. 修改功能:对学生信息进行修改。5. 删除

3、功能:根据输入的学生姓名,删除其信息。6. 统计功能:对所有录入的学生的所有课程成绩进行统计。四、 系统调式由于用了switch-case语句,调试代码如下:case 1: /增加数据 char name20;intnumber;doublecpro,english,math,sport,law,hbpro,computer;char c;do coutname;coutendlnumber;coutendlcpro;coutendlenglish;coutendlmath;coutendlsport;coutendllaw;coutendlhbpro;coutendlcomputer;cou

4、tendl;filej=new ofstream(d:document,ios:ate); *filej 姓名 name 学号 number C+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 网络基础成绩 law C成绩 hbpro 数据库成绩 computerendl;j+; si=new student(name, number, cpro,english,math,sport,law,hbpro,computer);i+;coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y);br

5、eak; case 2: /修改数据 char name20;intnu;doublecc,eng,ma,sp,l,hb,com;flag=0;char c;if(i=0) cout 管理系统中没有输入数据!endl;break; do coutname;coutendl; for(int h=0;hname)=0) flag=1;coutnu;coutendlcc;coutendleng;coutendlma;coutendlsp;coutendll;coutendlhb;coutendlcom;coutcpro=cc;sh-english=eng;sh-math=ma;sh-sport=s

6、p;sh-law=l;sh-hbpro=hb;sh-computer=com;sh-number=nu;cout 数据修改成功!endl; if(flag=0) cout 您要修改的学生本来就不存在!请检查重新输入!endl; coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y);break; case 3: /按姓名查询 char n20;int j=0;char c;if(i=0) cout 管理系统中没有输入数据!endl;break; doint flag=0;coutn;coutendl;for(int j=0;

7、ji;j+) if(strcmp(n,(*sj).name)=0) flag=1;cout 您要查询的学生是:(*sj).nameendl;cout(*sj).name的成绩是: C+: (*sj).cpro 英语: (*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law C:(*sj).hbpro 数据库 (*sj).computerendl; if(flag=0)cout 对不起!您要查询的学生不存在!endl;coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y);bre

8、ak; case 4: /按学号查询 intn,j=0;char c;if(i=0)cout 管理系统中没有输入数据!endl;break; doint flag=0;coutn;coutendl;for(int j=0;jnumber=n) flag=1;cout 您要查询的学生是:(*sj).nameendl;cout(*sj).name的成绩是: C+:(*sj).cpro 英语:(*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law C:(*sj).hbpro 数据库 (*sj).computerendl; if(flag=0)c

9、out 对不起!您要查询的学生不存在!endl;coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y);break; case 5: /输出 cout 本系统所有学生数据如下:endl;if(i=0)cout 管理系统中没有输入数据!endl;cout 姓名 学号 c+ 英语 数学 体育 网络基础 C语言 数据库 endl;for(int k=0;ki;k+) coutnamesetw(7)numbersetw(6)(*sk).cprosetw(6)(*sk).englishsetw(6)(*sk).mathsetw(6)(*sk)

10、.sportsetw(7)(*sk).law setw(10)(*sk).hbprosetw(10)(*sk).computersetw(10)endl; break; case6:/退出 exit(0); coutBye bye!endl;coutw;coutendl;if(w!=y&w!=n)cout 指令错误!请重新输入!endl;elseflag=1;while(flag=0);if(w=y)cout 请输入操作代码:0 输入数据endl;cout 1 增加数据endl;cout 2 修改数据endl;cout 3 按姓名查询endl;cout 4 按学号查找endl;cout 5 输

11、出所有学生成绩endl;cout 6 退出系统p;while(w=y);五、 结果分析调试代码正确,每一个case都能执行,但是有很多的地方都不够完善,例如:在总成绩排序中,只能输出总成绩,不能单独的输出学生的相应的信息;每次进行别的操作之前都要在进行一次数据的录入,不能直接对原有的文件进行读取。六、 总结此次c+课程设计,在指导教师的精心教导下,我学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。 根据C+课程所学的概念、理论和方法,

12、按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。源代码:#include#include#include#include#includeclass student private: char name20; /姓名 double cpro,english,math,sport,law,hbpro,computer;/课程int order, number; /名次,学号p

13、ublic:student() student(char n20,intnu,doublecc,doubleeng,doublema,doublesp,doublel,doublehb,double com) strcpy(name,n);number=nu;cpro=cc; english=eng;math=ma;sport=sp;law=l;hbpro=hb;computer=com; friend void main();void main()cout 欢迎进入*学生成绩管理系统*!endl;cout *endl;cout * 学生成绩管理系统 *endl;cout *endl;cout

14、 *endl;cout *0、输入数据 *endl;cout *1、增加数据 *endl;cout *2、修改数据 *endl;cout *3、按姓名查询 *endl;cout *4、按学号查询 *endl;cout *5、输出所有学生的成绩 *endl;cout *6、退出系统 *endl;cout *endl;cout 选择0-6数字进行操作p;if(p=0&p=6)flag=1;elsecout 指令错误!请重新输入:endl;while(flag=0);do switch(p) /接收功能选项 case 0: /输入数据 char c; char name20;intnumber;do

15、ublecpro,english,math,sport,law,hbpro,computer;docoutname;coutendlnumber;coutendlcpro;coutendlenglish;coutendlmath;coutendlsport;coutendllaw;coutendlhbpro;coutendlcomputer;coutendl;filej=new ofstream(D:document,ios:ate); *filej 姓名 name 学号 number C+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 网络基础成绩 law

16、 C成绩 hbpro 数据库成绩 computerendl;j+; si=new student(name, number,cpro,english,math,sport,law,hbpro,computer);i+;coutc;coutendl;do if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; elseflag=1;while(flag=0);while(c=y);break; case 1: /增加数据 char name20;intnumber;doublecpro,english,math,sport,law,hbpro,computer;char c;d

17、o coutname;coutendlnumber;coutendlcpro;coutendlenglish;coutendlmath;coutendlsport;coutendllaw;coutendlhbpro;coutendlcomputer;coutendl;filej=new ofstream(d:document,ios:ate); *filej 姓名 name 学号 number C+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 网络基础成绩 law C成绩 hbpro 数据库成绩 computerendl;j+; si=new studen

18、t(name, number, cpro,english,math,sport,law,hbpro,computer);i+;coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y);break; case 2: /修改数据 char name20;intnu;doublecc,eng,ma,sp,l,hb,com;flag=0;char c;if(i=0) cout 管理系统中没有输入数据!endl;break; do coutname;coutendl; for(int h=0;hname)=0) flag=1;coutn

19、u;coutendlcc;coutendleng;coutendlma;coutendlsp;coutendll;coutendlhb;coutendlcom;coutcpro=cc;sh-english=eng;sh-math=ma;sh-sport=sp;sh-law=l;sh-hbpro=hb;sh-computer=com;sh-number=nu;cout 数据修改成功!endl; if(flag=0) cout 您要修改的学生本来就不存在!请检查重新输入!endl; coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(

20、c=y);break; case 3: /按姓名查询 char n20;int j=0;char c;if(i=0) cout 管理系统中没有输入数据!endl;break; doint flag=0;coutn;coutendl;for(int j=0;ji;j+) if(strcmp(n,(*sj).name)=0) flag=1;cout 您要查询的学生是:(*sj).nameendl;cout(*sj).name的成绩是: C+: (*sj).cpro 英语: (*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law C:(*sj)

21、.hbpro 数据库 (*sj).computerendl; if(flag=0)cout 对不起!您要查询的学生不存在!endl;coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y);break; case 4: /按学号查询 intn,j=0;char c;if(i=0)cout 管理系统中没有输入数据!endl;break; doint flag=0;coutn;coutendl;for(int j=0;jnumber=n) flag=1;cout 您要查询的学生是:(*sj).nameendl;cout(*sj).name

22、的成绩是: C+:(*sj).cpro 英语:(*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law C:(*sj).hbpro 数据库 (*sj).computerendl; if(flag=0)cout 对不起!您要查询的学生不存在!endl;coutc;coutendl;if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y);break; case 5: /输出 cout 本系统所有学生数据如下:endl;if(i=0)cout 管理系统中没有输入数据!endl;cout 姓名 学号 c+ 英语 数学

23、 体育 网络基础 C语言 数据库 endl;for(int k=0;ki;k+) coutnamesetw(7)numbersetw(6)(*sk).cprosetw(6)(*sk).englishsetw(6)(*sk).mathsetw(6)(*sk).sportsetw(7)(*sk).law setw(10)(*sk).hbprosetw(10)(*sk).computersetw(10)endl; break; case6:/退出 exit(0); coutBye bye!endl;coutw;coutendl;if(w!=y&w!=n)cout 指令错误!请重新输入!endl;elseflag=1;while(flag=0);if(w=y)cout 请输入操作代码:0 输入数据endl;cout 1 增加数据endl;cout 2 修改数据endl;cout 3 按姓名查询endl;cout 4 按学号查找endl;cout 5 输出所有学生成绩endl;cout 6 退出系统p;while(w=y);运行截图: (注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1