ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:230.95KB ,
资源ID:23868559      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第六组学生成绩管理.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第六组学生成绩管理.docx

1、第六组学生成绩管理课 程 名 称: C+程序设计 课 程 代 码: 408025 题 目: 学生成绩管理系统 年级/专业/班:09级计算机系软件工程一班 学 生 姓 名:封宏伟 段伟 刘文佑 刘文飞 黄定芳 学 号: 09436127 09436128 09436129 09436130 09436131 指 导 教 师: 袁 辉 勇 开 题 时 间: 2010 年 9 月 5 日完 成 时 间: 2010 年 9 月 27 日目 录一 引 言 3二 设计目的与任务 3三 设计方案 31 总体设计 32 详细设计 43、程序清单 54、程序调试与体会 135、运行结果 14四 结 论 16五

2、致 谢 17六 参考文献 17 摘 要成绩管理是一个教育单位不可缺少的重要组成部分,它的内容对于学校的教务管理人员来说至关重要,作为计算机应用的一部分,利用计算机进行学生成绩信息的管理无疑是一条行之有效且高效的办法。学生成绩管理系统在学校日常管理中占有极其重要的地位,本课程设计中将设计一个实用的小型学生成绩管理系统程序,使用C+语言实现该系统, 要求不用链表。程序有输入学生记录、删除记录、查找学生记录、排序统计学生总分、输出学生成绩的功能,并且能够对指定的文件操作,也可将多个文件组成一个文件。关键词: 输入 修改 删除 查询 排序 文件操作 .AbstractPerformance manag

3、ement is one of the most indispensable and important part in education unit, its content is very important for the educational administration personnel in the school.As a part of computer application, It is no doubt to use computer to manage the information of students achievement effectively and ef

4、ficiently.Student performance management system plays an extremely important role in schools daily management occupies. Well design a small and practical student performance management system in this cause.Bying using c + + language program to realize this system, but no the list. Program includes t

5、he function,inputting records,deleting records,seeking for records ,statistics for records and outputting the achievements.And we can operat the specified file, also we can make multiple files into a file.Keywords: input,change,delete,seek for, operat file.C+程序设计课程设计-学生成绩理系统一 引 言随着人们生活水平的提高,计算机发展异常迅

6、速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类信息的管理已经成为一种高效、快捷的方式。本课程设计就是用C+开发一个学生成绩管理系统,实现对学生成绩信息的查询、添加、删除、更新操作,旨在对学生成绩实现计算机化的管理,提高工作效率,提高管理水平。二 设计目的与任务1、设计目的:这个程序是通过C+语言采用向量的方法来设计的。通过本次的C+课程设计,我们将会把平日书本上的知识真正应用到了实际中来。深入了解C+各类及相关函数的应用,结合其它相关知识,如软件工程等,把所学知识融会贯通。体会团队合作及分工

7、合作的效果。2、设计任务:我们此次做的学生管理系统将要完成以下功能:1、设计菜单实现功能选择; 2、输入功能:输入学生信息,并保存到文件中; 3、计算每个学生的总分与平均分并排序; 4、能根据学号修改学生信息; 5、能根据学号删除学生信息; 6、查询功能: 1)能够根据学号查询学生信息; 2)能够根据姓名、班级查询学生信; 3)统计学生成绩,按照班级和科目计算平均分。三 设计方案1 总体设计按照学生成绩管理系统的设计要求,我们的设计将由六个部分组成,如图1所示。在该程序中用于保存数据的底层数据结构是数组。使用了处理成绩管理操作的面向用户使用的类,它包含了所有功能的用户界面以及用户交互的实现。还

8、有处理学生信息记录的底层类,针对输入记录、删除记录、查询记录以及保存和读取记录等操作进行与底层数据结构相关的处理。该类不涉及任何与用户界面或用户交互的操作。 图1 功能图定义两个类:学生类和操作类,两者的属性和关系下图所示: 图2 类图2 详细设计在该课程设计中,设计要求实现的功能较多,大体可分为:1)输入学生信息 2)修改学生信息3)删除学生信息 4)计算每个学生总分与平均分并排序和显示5)查询学生信息 6)关闭程序程序中用到的函数:通过下列成员函数来说明设计中需要考虑的问题。 1、 void input(student *p); 该函数的功能是输入学生信息. 2、 void alter(s

9、tudent *head); 该函数的功能修改学生信息. 3、 student * delet(student *head); 该函数的功能删除学生信息. 4、 student* find(student *head,char *num1); 该函数的功能查找学生信息. 5、 void FindNum(student * head,char num1);该函数的功能按学号查找学生信息. 6、 void FindName(student * head,char name1);该函数的功能按名字查找学生信息. 7、 void FindClas(student * head,char clas1);

10、该函数的功能按班级查找学生信息. 8、 void SumSort(student * head ); 该函数的功能计算学生成绩总分并排序. 9、 void print(student *p); 该函数的功能输出学生信息.3、程序清单#include /学生成绩管理系统#include using namespace std;#define NULL 0class grade /成绩类public: float chin; float math; float engl; float synt; float toscore; float avscore;class student:public g

11、rade /学生类 char name100; char sex; char num100; char clas100; grade g; student *next,*q,*q1,*q2,*enpt;public : student *insert(student *head); void input(student *p); void alter(student *head); student * delet(student *head); student* find(student *head,char *num1); void FindNum(student * head,char n

12、um1); void FindName(student * head,char name1); void FindClas(student * head,char clas1); void SumSort(student * head ); void print(student *p);void student:input(student *p) /输入学生信息 cout请输入学生的姓名、学号、性别(男b,女g)、班级p-namep-nump-sexp-clas; cout请输入该学生的语、数、英、综合四科的成绩p-chinp-englp-mathp-synt;void student : p

13、rint(student *p) cout姓名name 学号:num; cout 性别:sex 班级:clas; cout 语文:chin 数学:math 英语:engl 综合:syntnext=NULL; input(p1); if(h=NULL) h=p1; h-next=NULL; return h; else h-next=p1; return p1; void student :alter(student *head) /修改学生信息 char num1100; cinnum1; q=find(head,num1); if(q!=NULL) cout请重新输入需要修改的学生的信息:e

14、ndl; input(q); else cout需要修改的学生不存在,请检查是否书写有误num1; q=head;/q-next=NULL; while(q!=NULL) if(strcmp(num1,q-num)=0) break; q1=q; q=q-next; if(q!=NULL) if(q=head) /删除头结点,真麻烦,要小心 q=q-next; free(head); cout删除已完毕,请选择其他功能继续next=q-next; cout删除已完毕,请选择其他功能继续endl; else cout需要删除的学生不存在,请检查是否书写有误num)=0) return q; q=

15、q-next; return q;void student : FindNum(student *head,char num1) q=head; while(q!=NULL) if(strcmp(num1,q-num)=0) print(q); cout查找完毕,请选择其他查询功能继续,返回主菜单请按4next; cout查找完毕,没有找到相关信息!name)=0) print(q); cout查找完毕,请选择其他查询功能继续,返回主菜单请按4next; if(flag=0) cout查找完毕,没有找到相关信息!clas)=0) cout该班第flag+1个学生:next; if(flag=0

16、) cout查找完毕,没有找到相关信息!endl; else cout查找完毕,请选择其他查询功能继续,返回主菜单请按4toscore=q-chin+q-math+q-engl+q-synt; q-avscore=q-toscore/4; q=q-next; q2=head; q1=q2-next; while(q2-next) if(q2-toscore q1-toscore) q2-next=q1-next; q1-next=head; head=q1; /p2=head; q1=q2-next ; else q2=q2-next ; q1=q2-next ; q=head; while(

17、q!=NULL) print(q); cout总分 :toscore平均分 :avscorenext; int main() student *head=NULL,*p,s; couttendl; couttendl; coutt 请选择主菜单功能: endl; coutt endl; coutt1.输入学生信息 2.修改学生信息 endl; coutt3.删除学生信息 4.查询学生信息 endl; coutt5.计算总分与平均分并排序和显示 6.关闭程序 endl; couttendl; couttfun; if(fun6) cout你的指令有误,请重新输入!endl; continue;

18、if(fun=6) cout系统已关闭,谢谢你的使用endl; break; switch(fun) case 1 : if(head=NULL) head=s.insert(head); p=head; else p=s.insert(p); cout输入已完毕,请选择其他功能继续endl; getchar(); break; case 2 : if(head=NULL) cout表为空,没有学生信息endl; else cout请输入需要修改的学生的学号: ; s.alter(head); cout修改已完毕,请选择其他功能继续endl; break; case 3 : if(head=N

19、ULL) cout表为空,没有学生信息,请选择其他功能继续endl; else cout请输入需要删除的学生的学号: ; head=s.delet(head); break; case 5 : if(head=NULL) cout表为空,没有学生信息,请选择其他功能继续endl; else s.SumSort(head); cout执行已完毕,请选择其他功能继续endl; break; case 4 : cout/*endl; cout请选择查询功能:endl; cout1.根据学生学号查询学生信息endl; cout2.根据学生姓名学生查询信息endl; cout3.根据学生班级查询学生信息

20、endl; cout*/search; if(search=4) cout欢迎回到主菜单,请选择其他功能键继续:endl; break; if(search=1) coutnum1; s.FindNum(head,num1); else if(search=2) coutname1; s.FindName(head,name1); else coutclas1; s.FindClas(head,clas1); break; return 0;4、程序调试与体会1)调试在对程序的调过程中,我们遇到了很多不同的问题,在发现问题与解决问题的过程中我们深刻体会到一个程序所要具备的健全性的重要性,我们必

21、须考虑到该程序在解决具体问题的直观性与全面性,也就是要加强程序的可读性,也就是要尽可能地多加注释,这样就大大方便了我们提高了我们的进展。也会方便读者很容易就了解到程序的层次及功能。我们所编写的程序具体要求我们输入一条完整的记录其中包括:学生姓名、学号、性别、班级以及语数外的成绩。然后将系统中的记录进行排序,程序则调用编好的排序函数进行排序。同时可以根据需要输入要查找的对象就可以从系统中搜索到所要找的记录及相关信息,如果系统未发现该对象,系统也会作出“不存在该信息”的提示 。通过删除命令代码就可以实现对要求的记录名进行删除工作。最后还设定了安全退出系统命令。2)体会通过本次课程设计,我们整个团队

22、的每个成员都是受益匪浅:首先,我们深刻感受到平日书本上看似简单的理论知识在真正派上用场的时候当中所涵盖的学问是那么多。理论与实践的距离之间我们今天的努力还只是一个开始。在完成此次课程设计的过程中我们屡屡碰到不同的问题。比如;面向对象的思想。只有理论知识没有实践经验是不可能成为一名出色的软件设计师的。理论是实践的基础,实践是对所学知识的巩固与提高,只有理论与实践相结合才能真正掌握知识。设计思想是很重要的,没有一个人能说自己对于一个问题考虑得面面具到,一个再成功的个人也离不开一个优秀的团体。所以只有通过大家反覆讨论出来的设计思想才是清晰的、全面的,这是一个好的程序最基本的要求,也是我们成功的决定性

23、因素。在本次程序设计过程中,大家共同努力,分工合作,一起到图书馆找资料,找范文,共同学习,相互交流所学知识与经验,促使着我们共同进步并顺利地完成了该项任务。每个人的力量是有限的,但一旦团结起来力量将是无穷的。在竞争如此激烈的当今社会,这些东西都是我们终生受用的,因此对我们以后的工作和学习奠定了不错的基础。总体来说,这次课程设计我们付出了努力但也是获得了很多。5、运行结果图3是学生成绩管理系统启动后的主界面,主界面上显示的是可以完成的各项操作。同时我们也对该程序所能实现的功能作了相应的代码进行了标识。这样用户就可以很方便直观地使用该程序。图3 程序启动图4是输入数字1执行输入学生信息的操作,提示提示输入学生的姓名、学号、性别、班级以及各门功课的成绩,输入后会在成绩表中存储。图4 输入记录图5是输入数字2执行修改学生信息的操作,输入学号则修改系统存储的学生的各息。 图5 修改记录图6是输入数字3执行删除学生信息的操作,输入学生的学号即可删除该学生的相关信息。图6 删除记录图7是输入数字4执行查询学生信息的操作,可以向系统中查询一名学生的信息。如选择操作后,输入张三或学号,再执行4操做查

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1