ImageVerifierCode 换一换
格式:DOC , 页数:49 ,大小:540KB ,
资源ID:3107907      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3107907.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(小型学生成绩管理系统设计报告正文.doc)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

小型学生成绩管理系统设计报告正文.doc

1、目 录目 录第1章 引言11.1 设计目的11.2 设计目标11.3 研究思路21.4小组分工21.5 本章小结3第2章 总体设计42.1 系统需求42.2功能结构42.3 本章小结5第3章 详细设计63.1 学生信息定义63.2 功能模块83.3 本章小结9第4章 系统实现104.1系统主界面104.2 学生信息录入界面124.3 学生成绩管理界面144.4 学生成绩统计界面224.5学生成绩查询界面304.6保存和读取364.7 本章小结38第5章 测试和调试395.1 测试和调试395.2 系统存在的问题395.3 收获及心得395.4 本章小结40参考文献41致 谢42I第1章 引言第

2、1章 引言1.1 设计目的目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入社会,但还未普及,而对于学生信息管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的学生管理系统是很有必要的。1.2 设计目标设计一个小型学生成绩管理系统。该系统将完成学生信息的查询、添加、修改,学生成绩的查询等功能。1.2.1 基本功能对学校学生信息管理的系统,主要划分为以下三个模块:录入:包括录入学生基本个人信息。管理:包括对学生成绩信息的修改,增加,删除。查询:按学号,姓名查询、输出学生所有信息。统计:按总分和平均分进行排名,以及统计及格人数,优秀的人数。学生成绩管理系统的功能结

3、构图如图1-1所示。 图1-1 学生成绩管理系统功能模块图1.2.2 扩展功能可以增加新学生的信息,统计及格人数和优秀人数,以及以TXT文件格式保存至当前文件夹和从当前文件夹的TXT文件内读取数据。1.3 研究思路首先确定要实现的功能,在我们的学生成绩管理系统中主要体现对学生成绩信息的操作如添加,查询,修改等;其次体现了学生对自己信息的查询,及浏览本人成绩信息的功能。在具体实现时,利用C+的输出格式显示操作的界面,利用函数实现相应的模块功能,再利用循环、选择可灵活进行重复操作。1.4小组分工本次实训由衡欣、魏千森、王跃霖、王晓峰我们四位同学一组,每位同学的具体分工如下:衡 欣:负责整个系统的框

4、架以及整个界面的实现和学生成绩管理、保存以及读取函数的实现以及各个函数的衔接;王晓峰:负责学生成绩信息录入函数的实现;王跃霖:负责学生成绩统计函数的实现;魏千森:负责学生成绩查询函数的实现;1.5 本章小结本章主要对学生成绩管理系统以及研究思路进行了简单的介绍,为后面的工作做铺垫。47第2章 总体设计第2章 总体设计2.1 系统需求管理人员在学生成绩信息录入界面可以录入多位学生信息,录入完毕后可以在学生成绩管理界面完成修改、增加、查询学生成绩信息等功能。管理人员也可以在学生信息查询界面完成查询学生的基本信息的功能,以及在学生成绩统计界面查询学生成绩的总分排名和平均分排名以及学生及格的人数和优秀

5、的人数。2.2功能结构通过前面的分析,可以得到学生成绩管理系统如图2-1所示。其功能如下:(1)录入学生信息 管理员输入学生基本信息和成绩信息。(2)学生成绩操作 成绩管理界面,可以对学生成绩信息进行修改,增加,删除。(3)学生成绩统计 进入成绩统计界面,可以查询学生成绩的排名和及格,优秀人数信息。(4)学生成绩查询 进入查询界面可查询所有学生的成绩或按学号以及姓名查询学生成绩。 图2-1 学生成绩管理系统体系结构图2.3 本章小结本章主要从总体上对学生成绩管理系统的各功能模块进行了分析。第3章 详细设计第3章 详细设计3.1 学生信息定义本系统中主要考虑了学生的姓名、学号、性别、班级、科任老

6、师、高等数学、大学英语、c+成绩等信息,利用结构体来定义每个学生的具体信息,利用结构体数组来存放多个学生的信息。学生结构定义如下:class student /定义一个student类 private:int number; /学生学号char name20; /学生姓名char sex20; /性别int grade; /班级char teacher20; /科任老师float math; /高等数学float english; /大学英语float c; /c+语言float java; /java成绩float sum; /总成绩float ave; /平均成绩 public: clas

7、s student *next; public: void menu();void input(); /主菜单1的学生成绩录入函数void menu2();void revamp_student(); /主菜单2的学生成绩修改,增加,删除void increase_student();void delete_student();void menu3(); /菜单3下的总分排名,平均分排名函数void rank_total_score();void rank_average_score();void menu3_3(); /菜单3.3及格人数函数int pass_score(float m);i

8、nt pass_total_score(float m);void menu3_4(); /菜单3.4优秀人数函数int excellent_score(float m);int escellent_total_score(float m);void menu4(); void display(); /菜单4下的所有学生成绩显示,按姓名,学号查询函数void number_check();void name_check();void exit(); /退出菜单函数void save(); /保存void sload(); /读取stu;class student *L,*M,*N,*Q,*b,

9、*A,*a; /全局变量类指针3.2 功能模块(1)主模块这一模块是系统的主界面,在main()函数中包括以下几个函数,它们的函数名以及主要功能如下:void menu():主菜单功能。(2)学生信息录入,管理模块学生信息录入模块由input()函数实现,具体实现学生信息的录入。学生成绩管理模块由menu2()函数实现,具体实现学生成绩修改、增加、删除等操作通过调用三个函数完成,分别为:void revamp_student(); /主菜单2的学生成绩修改void increase_student(); /增加void delete_student(); /删除(3)学生成绩统计,查询模块学生

10、成绩统计,查询模块由menu3()和menu4()函数实现,可以统计学生的总成绩和平均成绩排名、及格和优秀人数。查询所有学生和按学号和姓名查询学生成绩信息。通过调用如下函数来实现:void rank_total_score(); /总成绩排名void rank_average_score(); /平均成绩排名int pass_score(float m); /及格人数int pass_total_score(float m); /总分及格人数int excellent_score(float m); /优秀人数int escellent_total_score(float m); /总分优秀人

11、数void display(); /菜单4下的所有学生成绩显示 void number_check(); /按姓名查询void name_check(); /按学号查询3.3 本章小结本章主要对学生成绩管理系统学生的结构定义、管理员的操作做简单描述,为下一章的具体实现做准备。第4章 系统实现第4章 系统实现4.1系统主界面在学生成绩管理系统主界面有五个选项,分别为学生成绩录入、学生成绩管理、学生成绩统计、学生成绩查询以及退出系统。运行效果如图4-1所示。图4-1 学生成绩管理系统主界面设计思路:利用do-while循环实现反复显示主界面各信息,利用cout语句输出主界面的各信息,利用switc

12、h-case实现选择操作,input函数实现学生信息录入,menu2()函数实现学生成绩管理,利用menu3()函数实现学生成绩统计,利用menu4()函数实现学生成绩查询,利用exit()函数实现退出系统。核心代码如下:void student:menu() /定义一个主界面函数system(cls);docoutntt-学 生 成 绩 管 理 系 统-endln;couttt 1. 学生成绩录入 endln;couttt 2. 学生成绩管理 endln;couttt 3. 学生成绩统计 endln;couttt 4. 学生成绩查询 endln;couttt 5. 保 存 endln;cou

13、ttt 6. 读 取 endln;couttt 0. 退 出 系 统 endln;couttt请输入0-4之间的任意一数字(仅限数字) endl;coutchoose;switch(choose) case 1: stu.input(); break; /录入学生信息 case 2: stu.menu2(); break; /学生成绩管理,包括修改、增加、删除 case 3: stu.menu3(); break; /学生成绩统计,包括总分排名、及格人数等 case 4: stu.menu4(); break; /学生成绩查询,按姓名,学号 case 5: stu.save(); break;

14、 /保存至当前目录 case 6: stu.sload(); break; case 0: stu.exit(); break; /退出系统 default: coutt对不起,输入有误next=NULL;M=L;coutn; /学生数量for(i=0;in;i+)N=new student;coutn请输入第i+1个学生信息:endl; /输入信息 cout学号:N-number; cout姓名:N-name; cout性别:N-sex; cout班级:N-grade;cout科任老师:N-teacher; cout高等数学成绩:N-math; cout大学英语成绩:N-english; c

15、outc+语言成绩:N-c;coutjava成绩:N-java; N-sum=N-math+N-english+N-c+N-java; /总分计算 N-ave=(N-sum)/4.0; /平均分计算N-next=NULL;M-next=N;M=N; coutn输入成功,0 返回主界面endl; coutpress; switch(press) /选择操作 case 0 :stu.menu();break; default: stu.menu(); 4.3 学生成绩管理界面在学生信息操作界面有四个选项,分别为学生成绩修改、学生成绩、学生成绩删除以及返回到学生成绩管理系统主界面。运行效果如图4-3

16、所示。图4-3 学生成绩管理界面设计思路:利用do-while循环反复显示这一子界面的信息,利用cout语句输出信息,利用revamp_student()函数实现学生成绩的修改,increase_student()函数实现学生成绩的增加,delete_student()函数实现新学成绩的删除。核心代码如下:void student:menu2() /主界面下2号菜单函数 system(cls); do coutntt-学 生 成 绩 管 理-endln;couttt 1. 学生成绩修改 endln;couttt 2. 学生成绩增加 endln;couttt 3. 学生成绩删除 endln;co

17、uttt 4. 返回主界面 endln;couttt 请输入1-4之间的任意一数字(仅限数字) endl;coutchoose;switch(choose) case 1: stu.revamp_student();break; /学生信息修改 case 2: stu.increase_student();break; /学生信息增加 case 3: stu.delete_student();break; /学生成绩删除 case 4: menu(); break; /返回主界面 default:coutt对不起,输入有误next; cout请输入你想修改的学生姓名:rs; for(i=L;i

18、-next!=NULL;i=i-next)if(strcmp(rs,v-name)=0)o=v; cout你要修改的学生信息如下:endlendl; cout学号:numberendl; cout姓名:nameendl; cout性别:sexendl; cout班级:gradeendl; cout科任教师:teacherendl; cout高等数学成绩:mathendl; cout大学英语成绩:englishendl; coutc+语言成绩:cendl; coutjava成绩:javaendl; cout总分数:sumendl; cout平均成绩:aveendlendl;cout确认修改请按1

19、,返回请按2:endlchoose_2_1;switch(choose_2_1) case 1: cout学号:o-number; cout姓名:o-name; cout性别:o-sex; cout班级:o-grade; cout科任老师:o-teacher; cout高等数学成绩:o-math; cout大学英语成绩:o-english; coutc+语言成绩:o-c; coutjava成绩:o-java; o-sum=o-math+o-english+o-c+o-java; o-ave=(o-sum)/4.0; cout修改成功。next; 4.3.2 学生成绩增加界面在学生成绩增加界面可

20、以对学生成绩进行增加。运行效果如图4-5。图4-5 学生成绩增加界面设计思路:定义一个i_s来保存要增加的学生人数,利用for循环来录入新增加的学生成绩信,在for循环累利用类似学生录入的方法构建一个新的student型空间C,录入完后利用b-next指针把其与原链表L连接起来。核心代码如下:void student:increase_student() class student *Z,*X,*C; Z=new student; Z-next=NULL; X=Z; cout请输入你想增加的学生人数:i_s; for(i=0;ii_s;i+) C=new student; cout请输入你要增

21、加的学生的数据:; cout请输入你要增加的第i+1个学生信息:endl; /输入信息 cout学号:C-number; cout姓名:C-name; cout性别:C-sex; cout班级:C-grade; cout科任老师:C-teacher; cout高等数学成绩:C-math; cout大学英语成绩:C-english; coutc+语言成绩:C-c; coutjava成绩:C-java; C-sum=C-math+C-english+C-c+C-java; /总分计算 C-ave=(C-sum)/4.0; /平均分计算 C-next=NULL; X-next=C; X=C; b=L

22、-next; while(b-next!=NULL)b=b-next;b-next=Z-next;4.3.3 学生成绩删除界面在学生信息删除界面管理员可以删除学生的信息,运行效果如图4-6所示。图4-6 学生成绩删除界面设计思路:利用if和for循环来匹配要删除的学生的姓名然后构造V和O指针,O在表头,V在表头的下一个位置,当找到要删除的位置V了后,就利用O-next=O-next-next来删除V指针的位置。在删除对象前利用cout语句以及cin语句来实现根据提示要删除的学生的信息。利用switch-case确认删除。核心代码如下:void student:delete_student()c

23、lass student *o,*v,*i; v=L-next; o=L; char ds20; int choose_2_3; cout请输入你想要删除的学生姓名:ds; for(i=L;i!=NULL;i=i-next)if(strcmp(ds,v-name)=0) cout你要删除的学生信息如下:endlendl; cout学号:numberendl; cout姓名:nameendl; cout性别:sexendl; cout班级:gradeendl; cout科任教师:teacherendl; cout高等数学成绩:mathendl; cout大学英语成绩:englishendl; c

24、outc+语言成绩:cendl; coutjava成绩:javaendl; cout总分数:sumendl; cout平均成绩:aveendlendl; cout确认删除请按1,返回请按2:choose_2_3;switch(choose_2_3) case 1: o-next=o-next-next;cout删除成功。next;o=o-next; 4.4 学生成绩统计界面在学生成绩统计界面可以统计学生总分和平均分的排名,也可以统计成绩及格和优秀的学生人数。运行效果如图4-7所示。图4-7 学生成绩统计界面分析:利用do-while语句实现反复显示学生成绩统计界面,利用switch-case语

25、句来选择需要统计的内容。利用rank_total_score()函数实现总分的排名,利用rank_average_score()实现平均分的排名,利用pass_score(float m)函数统计及格人数,利用pass_total_score(float m)统计总分及格人数,利用excellent_score(float m)和escellent_total_score(float m)函数实现统计优秀人数和总分优秀人数。核心代码如下:void student:menu3() system(cls); do coutntt-学 生 成 绩 统 计-endln;couttt 1. 总 分 排

26、名 endln;couttt 2. 平均成绩排名 endln;couttt 3. 及 格 人 数 endln;couttt 4. 优 秀 人 数 endln;couttt 5. 返 回 主界面 endln;couttt 请输入1-5之间的任意一数字(仅限数字) endl;coutchoose;switch(choose) case 1: stu.rank_total_score();break; /总分排名 case 2: stu.rank_average_score();break; /平均成绩排名 case 3: stu.menu3_3();break; /及格人数 case 4: stu

27、.menu3_4();break; /优秀人数 case 5:menu();break; /返回主界面 default:coutt对不起,输入有误next;Q=new student;Q-next=NULL;a=Q;for(j=L-next;j-next!=NULL;j=j-next) for(i=L-next;i-next!=NULL;i=i-next) if(b-sum)next-sum) a-ave=b-ave; a-c=b-c;a-english=b-english;a-grade=b-grade;a-java=b-java;a-math=b-math;a-sum=b-sum; a-n

28、umber=b-number;for(u=0;usexu=b-sexu; a-nameu=b-nameu; a-teacheru=b-teacheru; b-ave=b-next-ave; b-c=b-next-c;b-english=b-next-english; b-grade=b-next-grade;b-java=b-next-java;b-math=b-next-math;b-sum=b-next-sum;b-number=b-next-number;for(u=0;usexu=b-next-sexu; b-nameu=b-next-nameu;b-teacheru=b-next-t

29、eacheru;b-next-ave=a-ave;b-next-c=a-c;b-next-english=a-english;b-next-grade=a-grade;b-next-java=a-java;b-next-math=a-math;b-next-sum=a-sum;b-next-number=a-number;for(u=0;unext-sexu=a-sexu;b-next-nameu=a-nameu;b-next-teacheru=a-teacheru;b=b-next;Else b=b-next; b=L-next;int I=1;A=L-next;for(h=L;h-next

30、!=NULL;h=h-next) cout第I名;endl;cout姓名:nameendl;cout总分:sumendlnext;4.4.2及格人数,优秀人数统计设计思路:利用if语句对成绩大于及格和优秀标准的学生成绩进行判断,利用cout语句输出学生成绩信息并返回1,然后再调用函数的时候利用for循环对函数进行反复调用并用num来统计人数,且注意在用num来统计人数的时候要对其进行初始化即num=0,在循环函数的时候要使b=b-next。核心代码如下:int student:pass_score(float m)if(m=60) cout姓名;nameendl;cout分数:mendl=240) cout姓名;nameendl; cout分数:mendlendl; return 1;return 0;调用函数如下(判断优秀和及格大都一致只出示判断及格做代表):void student:menu3_3() system(cls);class student *i; do coutntt-及 格 人 数 统 计-endln;couttt 1. 高 等 数 学 endln;couttt 2. 大 学 英 语 endln;couttt 3. c+ 语 言 endln;couttt 4. java 成 绩 endln;couttt 5. 总

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服