版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计实践训练课程设计报告姓名: 罗志祥、阿里 班级: 10通信1班 学号: 0 36 指导老师: 徐兴 陆建强 日期: 2012.5.28-2012.6.8 华南农业大学摘 要学生成绩管理基本要求:(1)能按学期、按班级完成对学生成绩的录入。(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单(5)能按学号删除学生纪录,成绩等。(6)将学生的学号、姓名及各门课程的成绩等信息保存于外部存储器的文件中。创新要求:在基本要求达到后,可进行创新设计。信息描述:录入学生成绩信息(包括学生学号、姓名、
2、各门课程的成绩等)。目 录1.需求分析12.概要设计22.1 数据类型定义22.2 主程序流程23.程序实现34.运行结果35.讨论及进一步研究建议46.课程设计心得6Abstract7参考文献81需求分析l 学生成绩管理系统的需求分析:1. 现在随着互联网的应用广泛,越来越多的学校纷纷采取了,学生网上查阅成绩的方法。学生可通过网上查询自己的各科目考试成绩、总分、平均分、在班级中的名次,还有对自己的成绩质疑的时候也可以通过管理员的密码对成绩进行修改,既方便又很实用。2. 学校老师可以通过学生成绩管理系统查阅学生的成绩,对学生的各科目成绩进行系统的分析,然后对学生进行因材施教。老师,可以根据学生
3、的成绩调整自己的教学方式和进度及难度,可以让老师更好的提高教学质量。学校也可以根据学生成绩,进行细致的分析,决定对学生进行奖学金的分配。l 分析程序系统实现的功能:1. 新建系统:另外新建一份学生管理系统2. 添加学生:录入学生资料进入系统。3. 删除学生:删除学生资料信息4. 查看信息:查看系统学生信息,可输入学号,姓名查看5. 排列顺序:按照成绩或学号排序。6. 读取信息:读取存盘中的个人信息7. 保存信息:将修改后的信息以文件的形式保存8. 退出系统:退出学生管理系统2.概要设计2.1 数据类型定义基本整形:inti,j,k,t,n,y,m,m5.num6;长整形:d1,d2,m1,m2
4、,m3;结构体:struct xs a4;文件指针:FILE *fp,*fp1,*fp2, ,*fp3,*fp4,*fp5;2.2 主程序流程main()函数菜单函数1新建系统 2添加学生3.删除学生4.查看信息5.排序信息6.读取信息3.程序实现源代码:#include stdio.h#includestdlib.h#includestring.htypedef struct student/定义学生char name10;int number;char sex2;int math;int eglish;int clanguge;int average;student;typedef str
5、uct unit/定义接点student date; struct unit *next;unit;unit* build()/建立链表并返回指针unit *p;if(p=(unit*)malloc(sizeof(unit)=NULL) printf(=初始化失败!); return 0; else p-next=NULL; p-date.number=0;/头结点存放学生人数 printf(初始化成功!n); return p; void add(unit *head)/增加学生unit *p,*q;int m,n=0;q=head-next;p=(unit*)malloc(sizeof(u
6、nit);printf(=请输入新生姓名!n); gets();fflush(stdin);printf(=请输入学号!n);while(n=0)scanf(%d,&m);fflush(stdin);if(q=NULL) n=1;while(q)if(q-date.number=m) printf(=你输入的学号与已有同学的学号相同,请重新输入!n); q=head-next; break; else q=q-next; if(q=NULL) n=1; p-date.number=m;printf(=请输入性别!n);gets(p-date.sex);fflush(std
7、in);printf(=请输入数学成绩n);scanf(%d,&m);fflush(stdin);p-date.math=m;printf(=请输入英语成绩n);scanf(%d,&m);fflush(stdin);p-date.eglish=m; printf(=请输入c语言成绩n);scanf(%d,&m);fflush(stdin);p-date.clanguge=m;p-date.average=(p-date.math+p-date.eglish+p-date.clanguge);q=head-next;head-next=p;p-next=q;head-date.number+;v
8、oid deletion(unit *head)/删除一名学生unit *p=head-next,*q=head;char N10;printf(=请输入你想删除的学生姓名!n);gets(N);fflush(stdin);if(p=NULL)printf(=系统无学生可删除!n);while(p)if(strcmp(,N)=0)q-next=p-next;head-date.number-;printf(=删除%s成功!n,);free(p);break;elsep=p-next;q=q-next;if(p=NULL)printf(=你要删除的学生
9、不存在,删除失败!n);int display(unit *head)/显示学生信息unit *p=head-next;int m,n=0;char N10;if(p=NULL)printf(=系统无学生!n); return 0;while(n=0)printf(*n);printf(=请选择你的操作!n);printf(=ttt1.显示所有t2.按姓名查找nttt3.按学号查找t4.返回主菜单n);scanf(%d,&m);fflush(stdin);switch(m)case 1:printf(n=该系统拥有%d名学生!nn,head-date.number); p=head-next;
10、 printf(t姓名t学号t性别t数学t英语tc语言t综合nn); while(p) printf(t%st%dt%st%dt%dt%dt%dn,,p-date.number,p-date.sex,p-date.math, p-date.eglish,p-date.clanguge,p-date.average); p=p-next; break;case 2:printf(=请输入查找姓名!n); gets(N); fflush(stdin); p=head-next; while(p) if(strcmp(,N)=0) printf(t姓名t学
11、号t性别t数学t英语tc语言t综合n); printf(t%st%dt%st%dt%dt%dt%dn,,p-date.number,p-date.sex,p-date.math, p-date.eglish,p-date.clanguge,p-date.average); break; else p=p-next; if(p=NULL) printf(=你要查的学生不存在!); break; case 3: printf(=请输入查找学号!n); scanf(%d,&m); fflush(stdin); p=head-next; while(p) if(p-date.nu
12、mber=m) printf(t姓名t学号t性别t数学t英语tc语言t综合n); printf(t%st%dt%st%dt%dt%dt%dn,,p-date.number,p-date.sex,p-date.math, p-date.eglish,p-date.clanguge,p-date.average); break; else p=p-next; if(p=NULL) printf(=你要查的学生不存在!n); break; case 4:n=1;break;return 1; int range(unit *head)/排序unit *p=head,*q=hea
13、d-next;int n,i,m=head-date.number;printf(*n);printf(ttt1.按学号t2.按成绩nn);printf(=请选择操作!n);scanf(%d,&n);fflush(stdin);if(q=NULL) printf(=无学生可排序!n);return 0;switch(n)case 2:for(i=0;inext; while(q-next) if(q-date.average)next-date.average) p-next=q-next; p=p-next; q-next=p-next; p-next=q; else p=p-next;q=
14、q-next; break; case 1:for(i=0;inext; while(q-next) if(q-date.number)(q-next-date.number) p-next=q-next; p=p-next; q-next=p-next; p-next=q; else p=p-next;q=q-next; break;printf(=排序成功!n);return 1;void menu()printf(n* 主菜单 *n);printf(ttt1.新建系统t2.添加学生nttt3.删除学生t4.查看信息nttt5.排列顺序t6.读取信息nttt7.保存信息t8.退出系统n);
15、printf(=请选择你的操作!n);int save(unit *head)/保存FILE *fp;unit *p; p=head;if(fp=fopen(d:学生,wb+)=NULL) printf(=保存失败!); return 0; while(p) fwrite(&(p-date),sizeof(student),1,fp); p=p-next; printf(=保存成功!); fclose(fp); return 1;unit* read()/读入系统学生信息int i;unit *p,*q,*head;FILE *fp;if(head=(unit*)malloc(sizeof(u
16、nit)=NULL) printf(=开辟空间失败!); exit(1); else head-next=NULL; head-date.number=0;/头结点存放学生人数 q=head; if(fp=fopen(d:学生,rb)=NULL) printf(=系统无学生!n); return 0; fread(&(q-date),sizeof(student),1,fp); for(i=0;idate.number;i+) if(p=(unit*)malloc(sizeof(unit)=NULL) printf(=读值失败!); exit(1); fread(&(p-date),sizeo
17、f(student),1,fp); p-next=q-next; q-next=p; fclose(fp); return head;void main()int m=0,n, i; unit *head; printf(*nn); printf(ttt* 欢迎使用学生成绩管理系统 * n); printf(nttttttt编译员:阿里、罗志祥nn); printf(=正在读取系统信息.n); if(head=read()=0) printf(=是否新建?n); printf(ttt是(1)tt否(2)n); scanf(%d,&i); fflush(stdin); if(i=1) head=build(); else if(i=2) exit(1); else printf(=信息导入成功!); while(m=0) menu(); scanf(%d,&n); fflush(stdin); switch(n) case 1: head=build();break; case 2:add(head);break; case 3:deletion(head);break; case 4:display(head)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 6 Developing ideas《合作探究二》课件
- 人教 八年级 语文 下册 第2单元《6.恐龙无处不有》课件
- 2025 网络基础中网络职业技能培训的网络教学模式创新课件
- 2025 高中信息技术数据结构在电商用户购买偏好变化跟踪课件
- 2026年客栈租房合同(1篇)
- 2026年消防系统维修合同(1篇)
- 2026年旅游代开发合同(1篇)
- 2026年及未来5年市场数据中国金融仓储物流中心建设行业发展监测及投资战略咨询报告
- 现代社会调查方法解析
- 2025 高中信息技术数据与计算之算法的萤火虫算法课件
- 中国艺术研究院社会招聘试题
- 2026年教育局思想政治工作科工作计划
- 2025年安徽卫生健康职业学院单招职业适应性测试试题及答案解析
- 医保村卫生室管理制度
- 陕西从优 秀村干部中考录乡镇公务员考试真题
- 2025年军事设施建设与管理规范
- 儿科学营养性vitD缺乏
- “党的二十届四中全会精神”专题题库及答案
- 厂房基础注浆加固施工方案
- 人工智能技术应用规范
- 无锡银税协议书
评论
0/150
提交评论