版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生成绩管理系统-c+课程设计-课程设计学生成绩管理系统-c+课程设计目录一、设计题目1二、设计目的1三、设计分析1四、总体设计:2五、详细设计4六、系统调试6七、结论:6附录:源代码6一、设计题目学生成绩管理系统二、设计目的这次课程设计的目的是让学生运用已学过的知识进行一个简单的应用程序的开发,使学生能够基本掌握设计课题的基本步骤和方法,应用系统开发中的需求分析与数据库设计方法,应用系统开发中数据库设计相关文档的编制等。本课程设计为学生提供了一个既动手又原文请找 动脑、自学、查资料、独立实践的机会。实现对学生个人信息的录入、增加、删改、查询和输出等操作,将本学期课本上的理论知识和实际有机的结
2、合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际,实践编程的能力,使对c+系统编程有一个大致的了解。三、设计分析1、成绩管理系统需求:(1)学生的属性:1)一个学生;2)多项关于此学生的信息(姓名name,学号number,c+成绩cpro,英语成绩english,数学成绩math,体育成绩sport,法律基础成绩law,汇编语言成绩hbpro,微机原理成绩computer)。(2)对学生信息的操作: 1)能够录入学生信息(如姓名、学号、c+成绩、英语成绩、数学成绩、体育成绩、法律基础成绩、汇编语言成绩、微机原理成绩等);2)能够增加学生信息;3)能够修改学生信息;4)能够对学生
3、信息进行查询(包括按学号查询和按成绩查询);5)能够输出所有学生的信息;2、设计模块分析:(1)用户界面设计;(2)输入数据模块设计;(3)增加数据模块设计;(4)修改数据模块设计;(5)查询数据模块;(6)输出所有学生信息模块;(7)退出系统模块。四、总体设计:1、程序功能简介:用switch语句分别执行0-6操作指令,即输入数据、增加数据、修改数据、按姓名查询、按学号查询、输出所有学生的成绩、退出系统等操作;1)当输入0操作指令时,执行输入数据操作,可根据提示录入学生信息,并开辟一个动态存储区域,数据输入完成后,输出语句数据输入成功,想继续输入吗(y/n):可选择是否继续输入信息,若是,则
4、继续输入,若不是,则可选择另一个操作指令。2)当输入1操作指令时,执行增加数据操作,增加数据操作后开辟一个动态存储区域,输出语句数据输入成功,想继续输入吗(y/n):若是,则继续输入,若不是,则可选择另一个操作指令。3)当输入2操作指令时,执行修改数据操作,若之前没有录入信息,则输出管理系统中没有输入数据!;当修改数据操作指令出错时,输出语句您要修改的学生本来就不存在!请检查重新输入!想继续修改吗(y/n):若是,则继续修改,若不是,则可选择另一个操作指令。4)当输入3操作指令时,执行按姓名查询操作,输入要查询的学生姓名即可进行查询,若之前没有录入学生信息,则输出管理系统中没有输入数据!,若输
5、入的学生姓名不存在,则输出对不起!您要查询的学生不存在! 您想继续查询吗?(y/n):,若是,则继续查询,若不是,则可选择另一个操作指令。5)当输入4操作指令时,执行按学号查询操作,输入要查询的学生学号即可进行查询,若之前没有录入学生信息,则输出管理系统中没有输入数据!,若输入的学生学号不存在,则输出对不起!您要查询的学生不存在! 您想继续查询吗?(y/n):,若是,则可继续查询,若不是,则可选择另一个操作指令。6)当输入5操作指令时,执行输出所有学生成绩操作指令,输出本系统所有学生数据如下:,若之前没有录入学生信息。则输出管理系统中没有输入数据!,否则输出所有学生信息。7)当输入6操作指令时
6、,执行退出操作系统操作。2、总体程序功能设计:(1)在main()函数中先输出清晰、友好的界面,界面主要功能如下:1)输入数据2)增加数据3)修改数据4)按姓名查询5)按学号查询6)输出所有学生的成绩7)退出系统(2)定义一个学生(student)类,包括姓名、学号、c+成绩、英语成绩、数学成绩、体育成绩、法律基础成绩、汇编语言成绩、微机原理成绩,内嵌构造函数,去初始化被声明的对象,用friend声明了的main()函数即为student类的友元函数,可以访问student类的任何私有成员。(3)用do语句 /循环体 while(判断表达式);结构判断输入指令是否有效,当指令无效时,输出“指令
7、错误!请重新输入:”,并循环至指令有效,进行下一步操作。(4)用switch语句,当输入0-6操作指令时,分别执行输入学生信息、增加学生信息、修改学生信息、按姓名查询学生信息,按学号查询学生信息、输出学生信息、退出操作系统等操作。1393学生成绩管理系统-c+课程设计五、详细设计1、用户界面设计如下:*欢迎进入学生成绩管理系统!* 学生成绩管理系统 *0、输入数据 *1、增加数据 *2、修改数据 *3、按姓名查询 * *4、按学号查询 *;*5、输出所有学生的成绩 *6、退出系统 *选择0-6数字进行操作=2、定义student类:(1)student类的定义class student pri
8、vate: char name20; /姓名 double cpro,engli原文请找 sh,math,sport,law,hbpro,computer;/课程 int order, number; /名次,学号 public: student() student(char n20,int nu,double cc,double eng,double ma,double sp,double l,double hb,double com) strcpy(name,n); number=nu; cpro=cc; english=eng;math=ma;sport=sp;law=l;hbpro=h
9、b;computer=com; friend void main();(2)内嵌构造函数student(char n20,int nu,double cc,double eng,double ma,double sp,double l,double hb,double com) strcpy(name,n); number=nu; cpro=cc; english=eng;math=ma;sport=sp;law=l;hbpro=hb;computer=com; 初始化被声明的对象,(3)friend void main();用friend声明main()函数为student类的友元函数,可访
10、问student类的任何私有成员。3、判断指令是否有效:do /flag判断输入是否有效 cinp; if(p=0&p=6) flag=1; else cout 指令错误!请重新输入:endl; while(flag=0);4、对学生信息操作的各项功能实现:switch(p) /接收功能选项case0: /输入数据case1: /增加数据case2: /修改数据case3: /按姓名查询case4: /按学号查询case5: /输出case6: /退出 六、系统调试在定义student类时,没有用friend声明main()函数为这个类的友元函数,student类的私有成员不能被main()函
11、数访问,声明了友元函数后,main()函数不仅可访问student类中的公开成员,而且可以访问它的任何私有成员,免去再调用类的成员函数所需的开销,提高程序的效率。七、结论:这次c+课程设计让我可以将书本的知识应用到实际编程中,让我体验到了实战的感觉,在实践中积累了宝贵的经验,使我对此门课充满了兴趣,也学到了很多知识,c+在社会中的用处也随处可见,它的作用也是不会被忽视的。在编程过程中,我曾遇到很多问题,也失败了很多次,不过最终在老师的指导下,在同学的帮助下,并通过自己坚持不懈的努力,较为理想的完成了。在这次课程设计的过程中,在老师的精心指导下,我的编程,理解,动手及思维能力有了提高,同时也了解
12、到若想完满的完成任务需坚持不懈的努力,不要轻言放弃,也很深刻的认识到团队合作的重要性。附录:源代码#include#include#include#include#includeclass student private: char name20; /姓名 double cpro,english,math,sport,law,hbpro,computer;/课程 int order, number; /名次,学号 public: student() student(char n20,int nu,double cc,double eng,double ma,double sp,double l
13、,double hb,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 *原文请找 *endl;cout *0、输入数据 *endl;cout *1、增加数据 *endl;cout *2、修改数据 *endl;cout *3、按
14、姓名查询 *endl;cout *4、按学号查询 *endl;cout *5、输出所有学生的成绩 *endl;cout *6、退出系统 *endl;cout *endl;cout 选择0-6数字进行操作endl;cout =p; if(p=0&p=6) flag=1; else cout 指令错误!请重新输入:endl;while(flag=0);do switch(p) /接收功能选项 case 0: /输入数据 char c; char name20;int number;double cpro,english,math,sport,law,hbpro,computer; do cout
15、请输入姓名:; coutcpro; coutendlenglish; coutendlmath; coutendlsport; coutendllaw; coutendlhbpro; coutendlcomputer; coutendl; filej=new ofstream(d:,ios:ate); *filej 姓名 name 学号 number c+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 法律基础成绩 law 汇编成绩 hbpro 微机原理成绩 computerendl; j+; si=new student(name, number,cpro
16、,english,math,sport,law,hbpro,computer); i+; coutc; coutendl; do if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; else flag=1; while(flag=0); while(c=y); break; case 1: /增加数据 char name20; int number;double cpro,english,math,sport,law,hbpro,computer; char c; do coutname; coutendlnumber; coutendlcpro; coutendlen原
17、文请找 glish; coutendlmath; coutendlsport; coutendllaw; coutendlhbpro; coutendlcomputer; coutendl; filej=new ofstream(d:,ios:ate); *filej 姓名 name 学号 number c+成绩 cpro 英语成绩 english 数学成绩 math 体育成绩 sport 法律基础成绩 law 汇编成绩 hbpro 微机原理成绩 computerendl; j+; si=new student(name, number, cpro,english,math,sport,law
18、,hbpro,computer); i+; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); char name20;int nu;double cc,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; c
19、outendll; 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(c=y); break原文请找 ; case 3: /按姓名查询 ch
20、ar n20;int j=0;char c; if(i=0) cout 管理系统中没有输入数据!endl;break; do int flag=0; coutn; coutendl; for(int j=0;ji;j+) flag=1; cout 您要查询的学生是:(*sj).nameendl; cout(*sj).name的成绩是: c+: (*sj).cpro 英语: (*sj).english 数学:(*sj).math 体育:(*sj).sport 法律:(*sj).law 汇编:(*sj).hbpro 微机原理 (*sj).computerendl; if(flag=0) cout
21、对不起!您要查询的学生不存在!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y); break; case 4: /按学号查询 int n,j=0;char c; if(i=0) cout 管理系统中没有输入数据!endl;break; do int flag=0; coutn; coutendl; for(int j=0;jnumber=n) flag=1; cout 您要查询的学生是:(*sj).nameendl; cout(*sj).name的成绩是: c+:(*sj).cpro 英语:(*sj).englis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度数据中心运营维护承包人工合同模板4篇
- 2025年度互联网数据中心搭建服务合同协议3篇
- 2025年度化工原料采购与储存协议3篇
- 2025年度环保型绿色打印设备承包合同范本3篇
- 2025年度汽车4S店集团购车优惠及售后服务协议3篇
- 2024衣柜墙板吊顶装修工程施工安全与环境保护合同
- 创新集成电路设计与制造技术项目可行性研究报告范文模板
- 《融资租赁行业培训》课件
- 2025年度房产中介服务佣金结算标准合同4篇
- 2025年度别墅装修工程承包与监理协议4篇
- 二零二五年度数据存储与备份外包服务协议2篇
- 家政服务与社区合作方案
- 2024年深圳市龙岗区城市建设投资集团有限公司招聘笔试真题
- 2024-2025学年北京市朝阳区高三上学期期末考试数学试卷(含答案)
- 第五单元《习作例文:风向袋的制作》说课稿-2024-2025学年五年级上册语文统编版
- 四年级数学(除数是两位数)计算题专项练习及答案
- 四川省绵阳市涪城区2024-2025学年九年级上学期1月期末历史试卷(含答案)
- 2025年山东水发集团限公司社会招聘高频重点提升(共500题)附带答案详解
- JJG 1204-2025电子计价秤检定规程(试行)
- 2024年计算机二级WPS考试题库(共380题含答案)
- 《湖南省房屋建筑和市政工程消防质量控制技术标准》
评论
0/150
提交评论