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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生成绩信息管理系统.docx

1、学生成绩信息管理系统 西安文理学院 信息工程学院软件编程课程设计报告设计题目:学生成绩管理系统课程设计 学生学号: 0204140137 专业班级: 物联网工程一班 学生姓名: 张旺阳 学生成绩: 指导教师(职称): 课题工作时间: 2015-11-25 至 2015-12-9 信息工程学院软件编程课程设计任务书学生姓名张旺阳学号020*专业班级物联网工程一班设计题目学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。主要功能:(1) 能按学期、按班级完成对学生成绩的录入、修改(2) 能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统

2、计报表(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩单(5) 能按班级,按课程,对学生成绩进行排序。指导教师: 日 期:2015年11月25日成绩评定表学生姓名: 张旺阳 学号: 0204140137 专业/班级: 物联网工程一班 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3515报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;

3、报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 指导教师: (签字)日 期: 年 月 日1. 概述 11.1课题背景 11.2系统功能 3 1.3设计要求 42. 概要设计 52.1系统功能模块 52.2各模块流程图 63. 详细设计 83.1 程序中使用

4、的数据结构 83.2 函数列表 104. 设计结果与分析 125. 总结与体会 15参考文献 X附录 主要程序代码 X1.1课题背景 随着计算机的普及,计算机在生活中得到越来越多的应用,其中在计算机上运行的各种软件在解决生活中的实际问题中起到重大的作用,而目前在编写应用程序时,c+以其高效及灵活性成为大多数程序设计者的首选,其次对于普通用户者,利用c+语言设计出适用的小型软件对解决生活中的繁琐问题有很大的作用。 在学校或班级,教师经常会对某次考试中的所有学生的成绩进行统计和管理,由于学生数目经常繁多,所以在处理统计学生总成绩和平均成绩时工作会相对繁琐,所以针对这种情况,同时我分析了成绩管理所需

5、要的功能,在利用C+语言及VC+6.0程序运行平台之下,设计一种小型的学生成绩管理系统。1.2系统功能1.录入2.修改3.求总分4.求平均分5.查询6.排序1.3设计要求学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。主要功能:(1) 能按学期、按班级完成对学生成绩的录入、修改(2) 能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计报表(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩单(5) 能按班级,按课程,对学生成绩进行排序。要求:使用二进制文件方式存储数据,系统以菜单方式工作第二章 概要设计2.1系统功能模块(1)

6、创建主菜单(2)实现学生成绩信息录入(3)实现学生成绩信息查询(4)实现学生成绩信息修改 (一)修改某个学生的成绩 (a)按学期查询学生的成绩 (b)按班级查询学生的成绩 (c)按学号查询学生的成绩 (二)查询不及格的科目和学生名单(5)实现学生成绩统计 (a)按班级统计学生的总分。 (b)按班级统计学生的平均分。(6)实现学生成绩信息输出(7)保存学生的成绩信息于文件2.2系统功能流程图第三章 详细设计3.1主要数据结构 typedef struct studentMark int term; int classes; char name10; int number; char sex7;

7、float chinese; float math; float english; float computer; struct studentMark *next; MARK;这是定义一个结构体,主要包括学期,班级,姓名,学号,性别,语文成绩,数学成绩,英语成绩,计算机成绩,以及包括一个结构体指针。另外还用了typedef这个关键字。因此,在程序的后面也可以用MARK来定义结构体变量或结构体指针变量。int term; 定义学期,学期只能是第一学期或者第二学期。 例如int 1;则表示第一学期。 int classes; 定义班级,班级只能是一班或者二班。 例如 int 2;则是表示定义为二

8、班。 char name10; 定义姓名,在数组中存放字符串。 例如 char name=“yang”;则该学生的姓名为yang int number; 定义学号,例如int 1;则该学生学号为1号。 char sex7; 定义姓别,其性别最大长度为7. 例如 char sex=“man”;说明该学生为男生。同样可以这样定义女生。 float chinese; 定义语文成绩。 float math; 定义数学成绩。 float english; 定义英语成绩。 float computer; 定义计算机成绩。 struct studentMark *next; 定义一个结构体指针。3.1.1

9、主函数int main(); 主函数,程序的入口。void m(MARK *head); 主菜单的函数原型,在函数m(head)中主要有选择创建学生成绩信息,查询学生成绩信息,修改学生成绩信息,统计学生成绩信息,输出学生成绩信息,存储学生成绩信息于文件,以及退出体统等选项可供用户选择。 MARK *creat(void ); 创建函数的函数原型,在函数creat()中用户可以输入初始的学生信息:其中包括学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。3.1.2 查询函数void searchMark(MARK *head); 查询菜单的函数原型,在函数searc

10、hMark(head)中用户可以自由选择是查询某一个学生的成绩还是查询不及格学生的成绩。而这通过调用函数searchMarkStusentone(head)和函数searchMarkFail(head)完成操作。void searchMarkStusentone(MARK *head); 查询某个学生成绩的函数原型,在函数searchMarkStusentone(head)中用户可以按学号或班级或者是按学期来查找某个学生的成绩。通过函数searchnumber(head)和函数 searchclasses(head)以及函数searchterm(head)完成操作。void searchnum

11、ber(MARK *head) 按学号查找学生的函数原型,;void searchclasses(MARK *head); 按班级查找学生的函数原型,void searchterm(MARK *head); 按学期查找学生的函数原型,void searchMarkFail(MARK *head); 查询没有及格的学生的函数原型,通过这个函数可以查找学生不及格科目及学生名单。3.1.3 修改函数MARK *changeMark(MARK *head); 修改学生成绩信息的函数原型,可以修改学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。3.1.4 统计函数void

12、 conuntMark(MARK *head); 统计学生成绩的函数原型,在函数conuntMark(head)中用户可以统计学生的总成绩以及平均成绩,通过调用函数totalMark(head)和函数aveMark(head)完成操作。3.1.5 输出函数void totalMark(MARK *head); 统计学生总成绩的函数原型,void aveMark(MARK *head); 统计学生平均成绩的函数原型,void printClassMark(MARK *head); 输出学生成绩信息的函数原型,通过此函数可以输出学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等

13、相关信息到屏幕上。void saveFileMark(MARK *head); 存储学生成绩信息于文件的函数原型,通过此函数可以输出学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息与文件中。第四章设计 结果及分析4.1程序设计结果4.1.1源程序如下:#include#include#include#include#define MAR (struct studentMark *)malloc(sizeof(struct studentMark)typedef struct studentMark int term; int classes; char name1

14、0; int number; char sex7; float chinese; float math; float english; float computer; struct studentMark *next; MARK;void m(MARK *head); MARK *creat(void );void searchMark(MARK *head);void searchMarkStusentone(MARK *head);void searchnumber(MARK *head);void searchclasses(MARK *head);void searchterm(MAR

15、K *head);void searchMarkFail(MARK *head);MARK *changeMark(MARK *head);void conuntMark(MARK *head);void totalMark(MARK *head); void aveMark(MARK *head);void printClassMark(MARK *head);void saveFileMark(MARK *head);int main(void) MARK *head=NULL; printf( *n); printf( # 欢迎进入学生成绩信息管理系统#n); printf( *n);

16、printf(n); head=creat(); m(head); return(0);void m(MARK *head ) int choose; while(1) printf(*n); printf( 学生成绩信息管理n); printf(*n); printf( 1创建成绩信息n); printf( 2查询成绩信息n); printf( 3修改成绩信息n); printf( 4统计成绩信息n); printf( 5按班级输出学生信息n); printf( 6保存成绩信息于文件n); printf( 7退出系统n); printf(*n); fflush(stdin); printf(

17、请选择:); scanf(%d,&choose); if(1=choose) head=creat(); else if(2=choose) searchMark(head); else if(3=choose) head=changeMark(head); else if(4=choose) conuntMark(head); else if(5=choose) printClassMark(head); else if(6=choose) saveFileMark(head); else printf(退出系统); break; /创建一个学生成绩信息系统MARK *creat() MAR

18、K *head=NULL,*p1=NULL,*p2=NULL; char ch; fflush(stdin); printf(请问是否输入信息?(y 或n)n); scanf(%c,&ch); head=p1=p2=MAR; while(p1!=NULL & ch=y) p1=MAR; printf(请输入要录入学生信息的学期(学期只能为 1 或 2 ):); fflush(stdin); scanf(%d,&p1-term); while(p1-term!=1 & p1-term!=2) getchar(); printf(输入错误!请重新输入:); scanf(%d,&p1-term);

19、printf(请输入要录入学生成绩信息的班级:); fflush(stdin); scanf(%d,&p1-classes); while(p1-classes!=1 & p1-classes!=2) getchar(); printf(输入错误!请重新输入:); scanf(%d,&p1-classes); printf(请输入该班的学生信息!n); printf(请输入学生学号:); fflush(stdin); scanf(%d,&p1-number); printf(请输入学生姓名:); fflush(stdin); scanf(%s,p1-name); printf(请输入学生姓别:

20、); fflush(stdin); scanf(%s,p1-sex); fflush(stdin); printf(请输入语文成绩(0-100):); scanf(%f,&p1-chinese); fflush(stdin); printf(请输入数学成绩(0-100):); scanf(%f,&p1-math); fflush(stdin); printf(请输入英语成绩(0-100):); scanf(%f,&p1-english); fflush(stdin); printf(请输入计算机成绩(0-100):); scanf(%f,&p1-computer); p2-next=p1; p

21、2=p1; printf(是否还要输入信息(y/n):); fflush(stdin); scanf(%c,&ch); p2-next = NULL; /链表结尾 return(head);/查找学生成绩信息void searchMark(MARK *head) int choose1; while(1) printf(*n); printf( 查询学生成绩信息n); printf( 1查询某个学生成绩n); printf( 2查询不及格学生成绩n); printf( 3返回主菜单n); printf(*n); fflush(stdin); printf(请选择:); scanf(%d,&ch

22、oose1); if(1=choose1) searchMarkStusentone(head); else if(2=choose1) searchMarkFail(head); else printf(返回主菜单); break; /修改学生成绩信息(按学期或按学号修改)MARK *changeMark(MARK *head) int choose2; MARK *p=head-next; char name10; char ch; int number; printf(*n); printf( 你所需要修改的n); printf( 1修改学号n); printf( 2修改姓名n); pr

23、intf( 3修改班级n); printf( 4修改性别n); printf( 5修改成绩n); printf(*n); fflush(stdin); printf(请选择:); scanf(%d,&choose2);while(1) while(p!=NULL) if(1=choose2) printf(你要修改的信息是:学号!n); /按姓名修改学号 fflush(stdin); printf(请输入你要修改的学生姓名:); scanf(%s,name); if (strcmp(name,p-name)=0) fflush(stdin); printf(请输入该学生新的学号:); /输入新

24、学号 scanf(%d,&p-number); printf(修改学生的学号后:n); printf(%s学生的新学号是%dn,p-name,p-number); break; else if(2=choose2) printf(你要修改的信息是:姓名!n); fflush(stdin); printf(请输入你要修改的学生的学号:); scanf(%d,&number); if(number=p-number) /输入学号,判断条件 fflush(stdin); printf(请输入该学生的姓名:); scanf(%s,p-name); /输入要做修改的学生姓名 printf(修改学生的姓名

25、后:n); printf(%s是该学生的新姓名n,p-name); break; else if(3=choose2) printf(你要修改的信息是:班级!n); /按学号修改班级 fflush(stdin); printf(请输入你要修改的学生的学号:); scanf(%d,&number); if(number=p-number) fflush(stdin); printf(请输入该学生的班级:); /输入要做修改的班级 scanf(%d,&p-classes); printf(修改班级后n); printf(该学生的新班级为:%dn,p-classes); break; else if

26、(4=choose2) printf(你要修改的信息是:性别!n); /按学号修改性别 fflush(stdin); printf(请输入你要修改的学生的学号:); scanf(%d,&number); if(number=p-number) fflush(stdin); printf(请输入该学生的性别:); /输入要做修改的性别 scanf(%s,p-sex); printf(修改该学生的性别后n); printf(该学生的新性别为:%sn,p-sex); break; else if(5=choose2) printf(你要修改的信息是:成绩!n); /按学号修改成绩 fflush(stdin); printf(请输入你要修改的学生的学号:); scanf(%d,&number); if(number=p-number) /输入学号 fflush(stdin); printf(请输入该学生新的语文成绩:n); scanf(%f,&p-chinese);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2