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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

李伟课程设计报告学生测评系统.docx

1、李伟课程设计报告学生测评系统C语言程序设计课程设计报告题 目: 学生测评系统院 (系): 信息科学与工程学院 专业班级:软件工程 1202班学生姓名: 李伟 学 号: 20121611052 指导教师: 梁洁 20 13 年 6 月 8 日至20 13 年 6 月 21 日华中科技大学武昌分校制C语言程序设计 课程设计任务书一、设计题目学生测评系统 (难度系数)二、设计主要内容该系统通过结构体数组或链表实现了对学生测评信息的批量录入、浏览、修改、删除、添加、查询以及考试平均成绩和综合测评总分自动计算功能。具体要求如下:学生的测评信息为:学号、姓名、性别、家庭住址、联系电话、语文成绩、数学成绩、

2、外语成绩、考试平均成绩、同学互评分、品德成绩、教师评分、综合测评总分,试设计学生测评信息管理系统,使之能提供以下功能:(1) 基本功能:系统以菜单方式工作:提供一个字符主菜单使用户可以选择不同的字符来实现系统的各个功能,各个功能实现后又能够返回到主菜单。批量录入功能:在录入的过程中,通过询问用户是否继续录入的方法来录入多个学生的测评信息(每个学生考试平均成绩和综合测评总分信息不用录入)。平均成绩和综合测评总分自动计算:根据考试平均成绩(语文+数学+外语)/3 ,计算出学生的考试平均成绩,根据综合测评总分考试成绩*0.6+同学互评分*0.1+品德成绩*0.1+老师评分*0.2,计算出学生的综合测

3、评总分。浏览功能:按一定的格式显示所有学生测评信息。修改功能:输入要修改的学号,先对该学号进行查询,如果查询成功,则可以根据提示对该学生测评每项信息(学生考试平均成绩和综合测评总分信息除外)进行修改,当修改了语文成绩、数学成绩、外语成绩、同学互评分、品德成绩、教师评分后,能够自动修改学生的考试平均成绩和综合测评总分的信息,如果查询不成功,则显示相应的提示信息。删除功能:输入要删除的学号,先对该学号进行查询,如果查询成功,则删除该学生测评所有信息,如果查询不成功,则显示相应的提示信息。添加功能:输入要添加的学号,先对该学号进行查询,如果查询成功,则提示输入的学号已存在的信息,并要求能够重新输入,

4、如果查询不成功,则输入该学生测评的其他信息(考试平均成绩和综合测评总分信息不添加),并实现对考试平均成绩和综合测评总分自动计算,从而完成一个学生测评信息的录入。查询功能:能够分别按输入的学号和姓名查询学生测评的信息,如果查询成功,则按一定的格式显示查询结果,如果查询不成功,则显示相应的提示信息。(2)扩展功能: 保存功能:首先提示用户输入保存的文件名,将结构体数组或链表中的通讯录信息保存在指定的文件中。 三、原始资料无四、要求的设计成果(1) 实现该系统功能的程序代码(2) 撰写符合规范要求的课程设计报告五、进程安排序号课程设计内容学时分配备注1选题与搜集资料1天2分析与设计1天3模块实现4天

5、4系统调试与测试2天5撰写课程设计报告2天合计10天六、主要参考资料1梁旭,谷晓琳,黄明C语言课程设计第2版北京:电子工业出版社,20092王新C语言课程设计北京:清华大学出版社,20093 谭浩强C语言程序设计北京:清华大学出版社,2011指导教师(签名): 20 年 月 日目 录1 系统需求分析5 1.1系统概述5 1.2 系统功能分析52 系统结构设计63 系统实现8214 系统测试2228结论29(要求:目录题头用三号黑体字居中书写,隔行书写目录内容。目录中各级题序及题标用小四号黑体字)1 系统需求分析11 系统概述 现代人社会交往越来越多,纸质的测评系统已经不能满足我们的要求,更新麻

6、烦,查询困难,录入也不方便等缺点是纸质测评系统所不能克服的。在此情况下,迫切需要一个电子版的学生测评系统来满足我们的需求,对学生测评系统进行必要的管理,满足人们对记录提供了极大的方便。考虑到要对学生测评系统进行快速检索,所以采用结构体数组实现通讯录信息管理系统。要求实现插入、查找、删除、修改、保存等基本功能,人机界面友好,使用文字化界面。所以便产生该学生测评系统。1.2 系统功能分析 该系统通过结构体数组或链表实现了对学生测评信息的批量录入、浏览、修改、删除、添加、查询以及考试平均成绩和综合测评总分自动计算功能。具体要求如下:学生的测评信息为:学号、姓名、性别、家庭住址、联系电话、语文成绩、数

7、学成绩、外语成绩、考试平均成绩、同学互评分、品德成绩、教师评分、综合测评总分,试设计学生测评信息管理系统,使之能提供以下功能:(1) 基本功能:系统以菜单方式工作:提供一个字符主菜单使用户可以选择不同的字符来实现系统的各个功能,各个功能实现后又能够返回到主菜单。批量录入功能:在录入的过程中,通过询问用户是否继续录入的方法来录入多个学生的测评信息(每个学生考试平均成绩和综合测评总分信息不用录入)。平均成绩和综合测评总分自动计算:根据考试平均成绩(语文+数学+外语)/3 ,计算出学生的考试平均成绩,根据综合测评总分考试成绩*0.6+同学互评分*0.1+品德成绩*0.1+老师评分*0.2,计算出学生

8、的综合测评总分。浏览功能:按一定的格式显示所有学生测评信息。修改功能:输入要修改的学号,先对该学号进行查询,如果查询成功,则可以根据提示对该学生测评每项信息(学生考试平均成绩和综合测评总分信息除外)进行修改,当修改了语文成绩、数学成绩、外语成绩、同学互评分、品德成绩、教师评分后,能够自动修改学生的考试平均成绩和综合测评总分的信息,如果查询不成功,则显示相应的提示信息。删除功能:输入要删除的学号,先对该学号进行查询,如果查询成功,则删除该学生测评所有信息,如果查询不成功,则显示相应的提示信息。添加功能:输入要添加的学号,先对该学号进行查询,如果查询成功,则提示输入的学号已存在的信息,并要求能够重

9、新输入,如果查询不成功,则输入该学生测评的其他信息(考试平均成绩和综合测评总分信息不添加),并实现对考试平均成绩和综合测评总分自动计算,从而完成一个学生测评信息的录入。查询功能:能够分别按输入的学号和姓名查询学生测评的信息,如果查询成功,则按一定的格式显示查询结果,如果查询不成功,则显示相应的提示信息。(2)扩展功能: 保存功能:首先提示用户输入保存的文件名,将结构体数组或链表中的通讯录信息保存在指定的文件中。 2 系统结构设计2.1 系统结构图2.2 函数详细说明main();主函数 indesk(); 主界面函数luru();录入函数 liulan();浏览函数update_record(

10、);修改函数 delete_record();删除函数add(); 添加函数 search(); 查找函数save_to_file();保存函数 read(); 读取数据函数average();求平均值函数 paixu();排序函数 Main是主函数,程序首先是从主函数开始运行的。在主函数中要判断你是第几次进入系统。luru是录入函数,可以批量录入学生的信息,他被主函数所调用,也被主界面函数调用。 Index函数是显示主界面的,提供用户所进行的一些操作选项。被反复调用,与其他函数(除主函数)进行相互调用。 liulan是浏览函数,调用排序函数按学号的从小到大进行排序后浏览所有的学生信息。 Up

11、date-record是更新函数,可以修改学生的信息。 Deleted-record是删除函数,可以删除学生的信息。 add是添加函数,可以添加新的学生信息。 Save_to_file是保存函数,可以保存用户所录入的学生的信息。3 系统实现3.1学生结构体数组的定义和基本的头文件声明#include#include#include#define N 100int n=0,t=0;struct student_assess/定义一个结构体数组。char num30; char name30; char sex10; char address30; char phonenumber30; floa

12、t chinese_score; float math_score; float english_score; float class_a_score; float quality_score; float te_a_score;sN;3.2主函数主函数判断用户是否是第一次进入系统,如果是的话就调用录入函数,不是的话就调用读入函数和主界面函数。 void main()/主函数 char a; void luru(); void indesk(); void read(); printf(你是第一次登陆吗?n); scanf(%c,&a); if(a=y) luru(); if(a=n) rea

13、d(); indesk(); 3.3 主界面函数显示系统的所有功能,让用户选择。 void indesk()/主菜单函数 void luru(); void liulan(); void update_record(); void delete_record(); void add(); void search(); void save_to_file(); int x; printf(*-欢迎来到学生测评系统-*n); printf(*-软工1202-李伟-*n); printf(选择要执行的功能n); printf(1 录入学生信息n2 浏览所有学生信息n3 修改学生信息n4 删除学生记录

14、n5 添加新学生n6 查询学生信息n7 保存学生信息n8 退出系统n); printf(*-*n); scanf(%d,&x); if (x=1) system(cls);luru();/录入学生信息 if(x=2) system(cls);liulan();/浏览所有学生信息 if(x=3) system(cls);update_record();/修改学生信息 if(x=4) delete_record();/删除学生记录 if(x=5) system(cls);add();/添加新学生 if(x=6) system(cls);search();/查询学生信息 if(x=7) save_t

15、o_file();/保存学生信息 if(x=8) exit(0);3.4 录入函数可以批量录入学生的信息。void luru()/批量录入函数 int x; printf(请输入学生信息:n); for(;tN;t+) printf(学号 姓名 性别 家庭住址 联系电话 语文成绩 数学 外语 同学评 品德 教师评n); scanf(%s%s%s%s%s%f%f%f%f%f%f,st.num,st.name,st.sex,st.address,st.phonenumber,&st.chinese_score,&st.math_score,&st.english_score,&st.class_a

16、_score,&st.quality_score,&st.te_a_score); n=n+1; printf(请选择:n1 继续录入学生n2 停止录入返回主菜单n); scanf(%d,&x); if(x=1) continue; if(x=2) indesk(); 3.5浏览函数通过调用排序函数来按学号顺序输出所有学生的信息。void liulan()/浏览函数 int x; void paixu(); paixu(); printf(请输入1可返回主菜单:); scanf(%d,&x); if(x=1) indesk();3.6修改函数先查找学生,然后进行修改。void update_r

17、ecord()/修改学生信息函数 int i,g,count; char b30; printf(请输入学号:); scanf(%s,&b); for(i=0;in) printf(没有找到学号是【%s】的学生。n1 返回主菜单,b);scanf(%d,&g);if(g=1) indesk();3.7删除函数先通过学号来查询然后实现删除。void delete_record()/删除函数 void index(); int i,x,j; char g30; system(cls); printf(请输入要删除的学号:n); scanf(%s,g); for(j=0;jn;j+) if(strc

18、mp(g,sj.num)=0) printf(存在该生信息,删除该生信息:n); for(i=j;in;i+) strcpy(si.num,si+1.num); strcpy(si.name,si+1.name); strcpy(si.sex,si+1.sex); strcpy(si.phonenumber,si+1.phonenumber); strcpy(si.address,si+1.address); strcpy(si.address,si+1.address); si.chinese_score=si+1.chinese_score; si.english_score=si+1.e

19、nglish_score; si.math_score=si+1.math_score; si.class_a_score=si+1.class_a_score; si.quality_score=si+1.quality_score; si.te_a_score=si+1.te_a_score; n=n-1; printf(恭喜你删除成功!n); else if(j=n-1)printf(不存在这个学生n); printf(1 返回主菜单n 2 继续删除n); scanf(%d,&x); if(x=1) indesk(); else delete_record(); 3.8添加函数先查找是否

20、存在该学生,如果不存在就进行添加,存在的话就提示该学生信息存在不用添加。void add()/添加新学生函数 int i,m,x; char b30; void paixu(); printf(请输入要添加学生的学号:); scanf(%s,&b); for(i=0;i=n) printf(该学号不存在可以添加n); printf(请按下列顺序输入n学号 姓名 性别 家庭住址 联系电话 语文成绩 数学 外语 同学评分 品德 教师评分n); scanf(%s%s%s%s%s%f%f%f%f%f%f,sn.num,sn.name,sn.sex,sn.address,sn.phonenumber,&

21、sn.chinese_score,&sn.math_score,&sn.english_score,&sn.class_a_score,&sn.quality_score,&sn.te_a_score); n=n+1; printf(共有%d个学生n,n); printf(您可以选择n1按学号顺序查看所有学生信息。n2继续添加。n); scanf(%d,&m); if(m=1) paixu(); printf(请输入1可返回主菜单:); scanf(%d,&x); if(x=1) indesk(); if(m=2) add();3.9查询函数可以分别按学号和姓名来查询学生的信息。void se

22、arch()/查询函数 int i,x,k; char a20,b30; void average(struct student_assess w); printf(请输入按何种方式查询:n1 按学号n2 按姓名n); scanf(%d,&x); if(x=1) printf(按学号查询,请输入学号:n); scanf(%s,a); for(i=0;i=n) printf(没有找到这个学生n1 继续查找n2 返回主菜单n); scanf(%d,&k); if(k=1) search(); if(k=2) indesk(); if(x=2) printf(按姓名查询,请输入姓名:); scanf

23、(%s,b); for(i=0;in;i+) if(strcmp(b,si.name)=0) printf(存在该生信息n); printf(该学生信息为:n学号%s 姓名%s 性别%s 家庭住址%s 联系电话%sn语文成绩%.2f 数学%.2f 英语%.2f 同学互评%.2f 品德%.2f 老师互评%.2fn,si.num,si.name,si.sex,si.address,si.phonenumber,si.chinese_score,si.math_score,si.english_score,si.class_a_score,si.quality_score,si.te_a_score); average(si

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

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