




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 报 告课程名称 C语言程序设计 课题名称 学生成绩管理系统 专 业 班 级 学 号 姓 名 指导教师 2012年 6月 29 日目 录1 课题综述 1.1课题内容 1.2意义 1.3预期目标2 系统分析 2.1相关基础知识 2.2 总体方案3 系统设计 3.1 输入模块 3.2 输出模块 3.3 平均模块 3.4 成绩排名 3.5 查找模块 3.6 删除模块 3.7 插入模块 总 结附件1 课题综述 1.1课题内容 设计题目:学生成绩管理系统 设计要求:学生成绩管理 主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改; 能按班级统计学生的成绩,求学生的总分及平均分,并能
2、根据 学生的平均成绩进行排序; 能查询学生成绩,不及格科目及学生名单;(4)能按班级输出学生的成绩单 每个学生的信息为:学号、姓名、性别、业务课程单科成绩、考试平均成绩、考试名次、考试排名。1 学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:2学生数据处理:(1) 按考试科目录入学生成绩 计算考试成绩,并计算考试名次。 (2) 学生测评数据输入并计算总分,平均分 (3) 学生数据管理 输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件 (4) 学生数据
3、查询: 输入学号或其他信息,即读出所有数据信息,并显示出来。3、学生综合信息输出1.2 意义 通过该课程设计的操作与实践,能够根据数据对象的特性,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能,全面提高学生的程序设计、开发能力。1.3 预期成果 1、掌握函数的定义方法和调用方法。 2、能够采用模块化思想调试程序。 2、系统分析 2.1 相关基础知识 1、学校考核一个学生的主要依据就是学生的综合成绩,综合素质。这就让一个学生的综合成绩评定系统的建立显得尤为重要。 2、一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。 3、大家都知道
4、学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。4、开发本系统在一定的程度上可以减轻教辅老师的期末工作。 2.2 总体方案 学生数据处理模块学生综合信息输出模块帮助退出修改学生信息删除学生信息浏览学生信息返回录入成绩修改学生数据学生数据查询返回输出学生综合信息退出本系统学生信息处理模块输入学生信息 学生成绩管理系统3、 系统设计3、1输入模块:学生输入模块主要是采用从键盘输入学生的基本信息以及算出学生的总分和平均分,在输入前应先确定学生的人数,然后利用pintf和scanf函数来输入学生的信息,输完后按回车键退出输入模块。其相关流程图如下:开始i=
5、0;count=0; 输入学生基本信息i=0;count=50icount 结束YN输入学生姓名,学号,性别,各科成绩。3.2 输出模块输出模块采用的是for循环依次将学生的信息输出;其方框如如下 结束开始i=0;icount输出学生基本信息真假i+;输出学生姓名,学号,性别,年龄,各科成绩3.3 平均模块求各个学生的成绩平均分总成绩排名学生的总成绩学生基本信息以冒泡法得出结果学号姓名总分汇编数构线代模电英语平均成绩3.4 成绩排名学生总成绩的排名3.5 查找模块按照学号查找,按照姓名查找(1)按学号查找(2)按姓名查找删除模块提前准备工作编写程序运行程序学号相同则删除理清步骤及变量搭好总体框
6、架运行查错与主程序结合变量类型及数量输入信息输出信息输出不同并向后找看是否可实现其功能3.6 删除模块找到要删除学生的学号,进行删除3.7 插入模块采用追加的形式,进行插入总结:附录:(主要源程序代码)#include#include#include#includeint n;#define HEAD1 tt_n#define HEAD2 tt| 学号 | 姓名 |性别| 高数 | 英语 | C语言 |n#define HEAD3 tt|-|-|-|-|-|-|n#define FORMAT tt|%-6d|%-6s|%-4s|%6d|%6d|%6d|nchar mima20=mm;/*定义个
7、人信息结构体类型*/struct student int num; char name20; int math,masml,cl; char sex2; float ave; int sum;s50;/*主菜单和密码处理*/int mymainmenu() int x; printf(nnnn); printf(tt|_|n); printf(tt| |n); printf(tt| = |n); printf(tt| 欢迎进入成绩管理系统 |n); printf(tt| = |n); printf(tt| |n); printf(tt| 1.教师模式 |n); printf(tt| 2.学生模
8、式 |n); printf(tt| 0.退出系统 |n); printf(tt| |n); printf(tt|_|n); printf(nnttttttttby:通信工程1102); printf(nntttttttt 温耀坤 32号); printf(ntt请输入您的选项:); scanf(%d,&x); return x;/*教师密码验证*/int mimayanzheng() char temp_mima20; printf(n); printf(tt|_|n); printf(tt| |n); printf(tt| = |n); printf(tt| 欢迎使用教师模式 |n); pr
9、intf(tt| = |n); printf(n); printf(tt 请输入密码:); scanf(%s,temp_mima); if(strcmp(temp_mima,mima)=0) return 1; else return 0;/*密码修改*/void xiugaimima() char temp_mima20,temp120,temp220; printf(n); printf(tt = n ); printf(tt 修改密码 n ); printf(tt = n ); printf(n); printf(tt 请输入原密码:); scanf(tt%s,temp_mima); w
10、hile(1) if(strcmp(temp_mima,mima)=0) printf(ttt 请输入新密码:); scanf(%s,temp1); printf(ttt 请再输入一遍:); scanf(%s,temp2); if(strcmp(temp_mima,mima)=0) printf(ttt修改密码成功!_ );strcpy(mima,temp1);getch();break; else printf(t输入两次密码不同,修改失败,按任意键返回); getch(); break; else printf(t); getch(); break; /*教师模式*/int adm() i
11、nt x; printf(nnnn); printf(tt|_|n); printf(tt| |n); printf(tt| = |n); printf(tt| 欢迎使用成绩管理系统 |n); printf(tt| = |n); printf(tt| |n); printf(tt| 1.录入学生信息 |n); printf(tt| 2.从文件导入学生信息 |n); printf(tt| 3.查询学生信息 |n); printf(tt| 4.修改学生信息 |n); printf(tt| 5.删除学生信息 |n); printf(tt| 6.查看排名 |n); printf(tt| 7.保存文件
12、|n); printf(tt| 8.密码修改 |n); printf(tt| 0.退出系统 |n); printf(tt|_|n); printf(ntt请输入您的选项:); scanf(%d,&x); return x;/*学生模式*/int peo() int x; printf(nnnn); printf(tt|_|n); printf(tt| |n); printf(tt| = |n); printf(tt| 欢迎使用成绩管理系统 |n); printf(tt| = |n); printf(tt| |n); printf(tt| 1.查询学生成绩 |n); printf(tt| 2.查
13、看排名 |n); printf(tt| 0.退出系统 |n); printf(tt|_|n); printf(ntt请输入您的选项:); scanf(%d,&x); return x;/*输入模块*/int luru(struct student s) int i=0; printf(tt请输入要录入学生个数:);scanf(%d,&n);for(;in;i+) printf(tt请输入学生资料n); printf(tt请输入学生姓名:); scanf(%s,); printf(tt请输入学生学号:); scanf(%d,&si.num); printf(tt请输入学生性别:);
14、 scanf(%s,si.sex); printf(tt高数成绩(0-100):); scanf(%d,&si.math); printf(tt英语(0-100):); scanf(%d,&si.masml); printf(ttc语言(0-100):); scanf(%d,&si.cl); printf(tt总分:%dn,si.sum=si.math+si.masml+si.cl);printf(tt平均分:%fn,si.ave=(float)si.sum/3); return n; void chaxun_name(struct student s,int n)int i,k=0,m; c
15、har name20; printf(tt-_-n); printf(tt 按学生姓名查找 n); printf(tt*_*n); printf(ntt请输入您想查找的学生姓名:); scanf(%s,name); for(i=0;in;i+) if(strcmp(name,)=0) m=i; if(k=0) printf(HEAD1); printf(HEAD2); printf(HEAD3); printf(FORMAT,sm.num,,sm.sex,sm.math,sm.masml,sm.cl); k+; if(k=0) printf(t不存在该生信息!按任意
16、键返回。); void chaxun_num(struct student s,int n)int num,i,k=0;printf(n); printf(ttt-_-n); printf(ttt 按学生学号查找 n); printf(ttt*_*n); printf(nttt请输入您想查找的学生学号:n); scanf(%d,&num);for(i=0;in;i+)if(num=si.num) if(k=0) printf(HEAD1);printf(HEAD2);printf(HEAD3);printf(FORMAT,si.num,,si.sex,si.math,si.mas
17、ml,si.cl);k+; if(k=0) printf(t不存在该生信息!按任意键返回。);/*查看学生信息*/void chaxun(struct student s,int n) int x; do system(cls); printf(nnnn); printf(tt|-|n); printf(tt| |n); printf(tt| = |n); printf(tt| 查询学生信息 |n); printf(tt| = |n); printf(tt| |n); printf(tt| 1.按姓名查看 |n); printf(tt| 2.按学号查看 |n); printf(tt| 3.返回
18、 |n); printf(tt|-|n); printf(ntt请输入您的选择:); scanf(%d,&x); switch(x) case 1:system(cls);chaxun_name(s,n);getch();break; case 2:system(cls);chaxun_num(s,n);getch();break; case 3:system(cls);break; while(x!=3);/*按姓名修改*/void xiugai_name(struct student s,int n)int i,m,k=0;char name20;while(1) m=i;system(c
19、ls);printf(n);printf(tt| = |n); printf(tt| 按姓名修改 |n); printf(tt| = |n);printf(tt按#退出n);printf(tt请输入您想要修改的学生姓名:);scanf(%s,name);if(strcmp(name,#)=0)break;elsefor(i=0;in;i+)if(strcmp(name,)=0) m=i; printf(tt该生信息为:); printf(HEAD1); printf(HEAD2); printf(HEAD3); printf(FORMAT,sm.num,,sm.se
20、x,sm.math,sm.masml,sm.cl); k+; printf(tt该生新信息为:n); printf(tt请输入学号:); scanf(%d,&sm.num); printf(tt请输入姓名:); scanf(%s,); printf(tt请输入性别:); scanf(%s,sm.sex); printf(tt请输入高数成绩:); scanf(%d,&sm.math); printf(tt请输入英语成绩:); scanf(%d,&sm.masml); printf(tt请输入C语言成绩:); scanf(%d,&sm.cl);if(k=0)printf(tt您输入的
21、学生不存在!按任意键返回。);getch();continue;printf(tt恭喜,修改成功!按任意键返回。);getch();break;/*按学号查询修改*/void xiugai_num(struct student s,int n)int i,m,k=0;int num;while(1)system(cls);printf(n);printf(tt| = |n); printf(tt| 按学号修改 |n); printf(tt| = |n);printf(tt按0退出n);printf(tt请输入您想要修改的学生学号:);scanf(%d,num);if(num=0)break;e
22、lsefor(i=0;in;i+)if(num=si.num) m=i; printf(tt该生信息为:n); printf(HEAD1); printf(HEAD2); printf(HEAD3); printf(FORMAT,sm.num,,sm.sex,sm.math,sm.masml,sm.cl); k+; printf(tt该生新信息为:n); printf(tt请输入学号:); scanf(%d,&sm.num); printf(tt请输入姓名:); scanf(%s,); printf(tt请输入性别:); scanf(%s,sm.sex); prin
23、tf(tt请输入高数成绩:); scanf(%d,&sm.math); printf(tt请输入汇编成绩:); scanf(%d,&sm.masml); printf(tt请输入C语言成绩:); scanf(%d,&sm.cl);if(k=0)printf(tt您输入的学生不存在!按任意键返回。);getch();continue;printf(tt恭喜,修改成功!按任意键返回。);getch();break; /*修改学生信息*/void xiugai(struct student s,int n) int x; do system(cls); printf(nnnn); printf(tt
24、|-|n); printf(tt| |n); printf(tt| = |n); printf(tt| 修改学生信息 |n); printf(tt| = |n); printf(tt| |n); printf(tt| 1.按姓名修改 |n); printf(tt| 2.按学号修改 |n); printf(tt| 3.返回 |n); printf(tt|-|n); printf(ntt请输入您的选择:); scanf(%d,&x); switch(x) case 1:system(cls);xiugai_name(s,n);break; case 2:system(cls);xiugai_num
25、(s,n);break; case 3:system(cls);break; while(x!=3);/*删除所有学生信息*/void shanchu_all(struct student s,int n)char queren2;printf(tty,n);scanf(%s,queren);if(strcmp(queren,y)=0)n=0;printf(ttn);elseprintf(ttn);getch();/*按姓名删除*/void shanchu_name(struct student s,int n)int i,m,k=0;char queren2,name20; printf(t
26、t按#退出);printf(tt请输入您想要删除的学生姓名:);scanf(%s,name);if(strcmp(name,#)=0)return;elsefor(i=0;in;i+) if(strcmp(name,)=0) m=i; printf(tt该生信息为:); printf(HEAD1); printf(HEAD2); printf(HEAD3); printf(FORMAT,sm.num,,sm.sex,sm.math,sm.masml,sm.cl); k+; printf(tt); scanf(%s,queren); if(strcmp(queren,
27、y)=0) if(m=n-1) n-; else for(i=0;in;i+) sm+i=sm+i+1; n-; printf(tt删除成功!n); else printf(tt操作取消,按任意键返回。);if(k=0)printf(tt没有该学生信息!);getch();/*按学号删除*/void shanchu_num(struct student s,int n)int i,m,k=0;char queren2;int num; printf(tt按0退出);printf(tt请输入您想要删除的学生学号:);scanf(%d,num);if(num=0)return;elsefor(i=
28、0;in;i+)if(num=si.num) m=i; printf(tt该生信息为:); printf(HEAD1); printf(HEAD2); printf(HEAD3); printf(FORMAT,sm.num,,sm.sex,sm.math,sm.masml,sm.cl); k+; printf(tt); scanf(%s,queren); if(strcmp(queren,y)=0) if(m=n-1) n-; else for(i=0;in;i+) sm+i=sm+i+1; n-; printf(tt删除成功!n); else printf(tt操作取消,按任意
29、键返回。);if(k=0)printf(tt没有该学生信息!);getch(); /*删除学生信息*/void shanchu(struct student s,int n) int x; do system(cls); printf(nnnn); printf(tt|-|n); printf(tt| |n); printf(tt| = |n); printf(tt| 删除学生信息 |n); printf(tt| = |n); printf(tt| |n); printf(tt| 1.按姓名删除 |n); printf(tt| 2.按学号删除 |n); printf(tt| 3.删除所有学生信
30、息 |n); printf(tt| 4.返回 |n); printf(tt|-|n); printf(ntt请输入您的选择:); scanf(%d,&x); switch(x) case 1:system(cls);shanchu_name(s,n);getch();break; case 2:system(cls);shanchu_num(s,n);getch();break; case 3:system(cls);shanchu_all(s,n);getch();break; case 4:system(cls);break; while(x!=4); /*将记录信息保存到磁盘文件中*/void save(struct student s,int n)FILE *fp; int i; if(fp=fopen(d:stu_list.txt, wb)=NULL) printf(can not open filen); return; else for(i=0;in;i+) fw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租房合同样本汇编范本
- 2025保密合同范本
- 2025装修涂料供货合同书
- 2025办公室室内装修合同书
- 2025建筑工程设计版合同
- 2025青年创业者夏季招聘困局:合同签订难题多维权之路漫漫
- 2025个人借款合同协议书
- 2025有关货车司机劳动合同
- 2025幕墙工程的采购合同范本
- 2025标准商业代理合同范本
- 政务服务知识培训课件
- 政府绩效评估 课件 蔡立辉 第6-10章 政府绩效评估的结果应用与改进 -政府绩效评估在当代中国的推进
- 2025年职教高考对口升学 护理类 专业综合模拟卷(3)(原卷版)(四川适用)
- 烟雾病教学查房
- 我的家乡成都课件
- 延长石油集团招聘笔试
- 风机及塔筒吊装工程吊装方案
- 交流电机控制原理及控制系统 习题及答案 第2-12章 交流电机调速系统功率电子电路- 全数字交流电机调速系统设计
- Java开发工程师招聘笔试题及解答(某大型国企)2025年
- 【MOOC】电子线路设计、测试与实验(二)-华中科技大学 中国大学慕课MOOC答案
- 2024年人大题库考试中国特色社会主义理论题库答案
评论
0/150
提交评论