版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、佛山科学技术学院实验报告实验名称 小型学生信息管理系统 实验项目 编写一学生信息管理系统,用来管理学生基本信息及成绩信息专业班级 姓名 XXX 学号 指导教师 成绩 日期 一、 试验目的本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力。二、 实验内容编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图:显 示主菜单数据输入数据修改数据输出退出数据处理查询排序统计平均分不及格科 目具体要求为:1. 建立学生信息,每个学生的信息应包括:
2、学号、姓名、性别、班级、至少3门课程的成绩;2. 数据输入:输入学生的各项信息;3. 数据修改:根据输入学生的学号可以选择修改该学生的信息;4. 数据处理:可以选择处理方式为:排序、查询、统计。其中:a) 排序:按学号排序b) 查询:根据学号查询成绩c) 统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生;5. 数据输出:输出学生的相应结果信息;6. 退出:退出整个学生信息管理系统。7. 输出结果截屏的第一条记录一定要反映出你自己的真实信息。三、 程序组织结构图、函数调用关系图四、 程序清单#include#include#includestruct studentchar nu
3、m10;char name10;char sex4;char clas20;int yw,sx,yy;float ave;stu100;int i,j;void InputData()char x;while(1)printf(t学号:);scanf(%s,stui.num); printf(t姓名:); scanf(%s,); printf(t性别:); scanf(%s,stui.sex); printf(t班级:); scanf(%s,stui.clas); printf(t语文:); scanf(%d,&stui.yw); printf(t数学:); scanf(%d
4、,&stui.sx); printf(t英语:); scanf(%d,&stui.yy);stui.ave=float(stui.yw+stui.sx+stui.yy)/3.0);i+;printf(t是否继续输入数据(Y.N);cinx;if(x=n|x=N) break;void EditData()int count=0;char str10;printf(n请输入学生学号:);cinstr;while (count=i)printf(n查无此人);elseprintf(nt修改数据:n); printf(t学号:);scanf(%s,stui.num); printf(t姓名:); s
5、canf(%s,); printf(t性别:); scanf(%s,stui.sex); printf(t班级:); scanf(%s,stui.clas); printf(t语文:); scanf(%d,&stui.yw); printf(t数学:); scanf(%d,&stui.sx); printf(t英语:); scanf(%d,&stui.yy);stucount.ave=float(stucount.yw+stucount.sx+stucount.yy)/3.0); void sx()struct student temp;int a,b,c;for(a=0;a
6、i-1;a+)c=a;for(b=a+1;bstuc.ave)c=b;temp=stub;stub=stuc;stuc=temp;printf(排序后结果为:n); printf(学号 姓名 性别 班级 语文 数学 英语n); printf(-n);for(c=0;cstr;while (count=i)printf(n无该学号学生);elseprintf(n);void tjpjf() int count=0; stui.ave=float(stui.yw+stui.sx+stui.yy)/3.0); printf(学号 姓名 平均分 n);printf(-n); for(j=0;ji;j+
7、)while(counti) for(j=0;ji;j+) printf(%-21s,stucount.num); printf(%-21s,);printf(%-6.2f,stucount.ave);count+; printf(n);printf(-n); void tjbhgrs() int j,count=0;printf(有不及格科目的学生是:n);printf(学号 姓名 性别 班级 语文 数学 英语n);printf(-n);for(j=0;ji;j+)if(stuj.yw60|stuj.sx60|stuj.yyx;printf(n); switch(x
8、) case 1:tjpjf();break; case 2:tjbhgrs();break; case 3:break;if(x=3)break;printf(n);void DataProc()char x;while(1)printf(t n); printf(t 处 理 数 据 n); printf(t n); printf(t n); printf(t 1.按学号排序 n); printf(t 2.查询 n); printf(t 3.统计 n); printf(t 4.返回主菜单 n); printf(t n); printf(t n); printf(nt请选择具体的处理内容:);
9、cinx; printf(n);switch(x) case 1:sx();break; case 2:cx();break; case 3:tj();break; case 4:break;if(x=4)break;printf(n);void DataOutput() int count=0; printf(学号 姓名 性别 班级 语文 数学 英语n);printf(-n);while(countx; printf(n); switch (x) case 1:InputData();break; case 2:EditData();break; case 3:DataProc();brea
10、k; case 4:DataOutput();break; case 5:printf(谢谢使用!n);break; if(x=s) break; printf(n);五、 运行结果六、 实验总结(调试分析、体会、致谢)从这一次的综合实验中,我感触很深可以这么说,为了这个实验花费比较的功夫。就我个人来说,其实我很害怕与电脑,程序有关的东西,可能因为一直以来很少接触电脑吧,对于相关的东西比较难理解。很认真去学,还是感觉很吃力。每次上课或做实验,发现自己在这方面很跟上大家的脚步。比如说,我去做了题,但是不能理解,也记不住。但是,这次的综合实验二做起来相对之前,我发现自己有了进步。从开始着手做,我就
11、发现这个实验所需要的知识在前面的实验已经做过了。特别是综合实验一。我是像做实验一那样去完成这个实验的。首先把整个函数的结构,关系图先写出来。在把程序写出来时,先写主函数,然后把第一层函数的空函数写出来,调试主函数与第一层的空函数。第二步就是按照主菜单的顺序,把第一层函数写出来,输入数据的函数很快就写好,调试也没有任何问题。在写修改数据的函数就没那么容易,我参照了老师的程序,但是很奇怪,调试没问题,可当我输入数据后,进行第二的修改数据时,出现的数据一直是学号为1的学生的数据。我找了一天是哪的问题,却完全没头绪,然后我就求助舍友了,舍友帮我看了很久,她也找不到。等我返回去看流程图,才发现原来少了“
12、if(strcmp(str,stucount.num)=0)”这条件。接下来就是处理数据的函数,我个人感觉这里,既简单又比较难的。这个函数里面又包含里按学号排序,查询,统计这三个函数,而统计里面又有统计平均分及统计不及格学生信息两个函数。像之前一样,我先把第三层函数写好,再写第四层的。按学号排序那个因为刚好老师讲到相关的那节课很认真听了;做起来虽然有点磕磕碰碰,它的程序调试完全没问题。在调试查询的时候,我犯了一个特别低级的错误,在没有把上一次的运行窗口关掉就编译,运行,发现程序连接有错误。我第一反应以为代码出错,就一在代码上找错,但找不到,当我目光放到电脑的任务栏,才恍然大悟,没有把上次运行后
13、的窗口关掉。并且,这种错误在做综合实验过程中犯了不止一次。这也提醒着我对于C语言很不熟练。做统计的函数时我花费了比较长的时间。其实统计里面的两个函数相对来讲不是特别难,但是因为前面的都忘了,所以在调试老是出错。后来,函数写出来了,编译,运行也没出错,可是统计出来的平均分就是不正确。看了又看,都找不到哪里有问题。我又去求助了问一个同学,找不到,又回来问舍友了。终于发现了,原来在输入数据那个求平均值那里,我把stui.ave=float(stui.yw+stui.sx+stui.yy)/3.0);写成了stui.ave=float(stui.yw+stui.sx+stui.yy/3.0);也就是括号放错地方了。到这里为止,我已经完成了整个系统,开始全面调试,随便输了几组数据,一步一步往下进行操作,整个系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南长沙市雨花区统计局公开招聘工作人员备考题库含答案详解(能力提升)
- 2026重庆忠县机关事业单位招聘临时聘用人员4人备考题库含答案详解(预热题)
- 2026年河南省郑州巩义市事业单位联考招聘备考题库及答案详解(网校专用)
- 2026郴州自贸建设有限公司湖北十堰户用分布式光伏项目部劳务用工招聘6人备考题库含答案详解(预热题)
- 2026福建泉州南安市宝莲中学秋季编外教师招聘备考题库及答案详解(夺冠)
- 2026安徽铜陵市铜官区西湖医院招聘编外工作人员5人备考题库附答案详解(培优)
- 2026浙江衢州市龙游县新教师提前批招聘11人备考题库(江西师范大学)附答案详解(基础题)
- 2026浙江温州行前农贸市场有限公司招聘1人备考题库含答案详解(夺分金卷)
- 2026文化和旅游部直属事业单位招聘应届毕业生备考题库(二)附答案详解(模拟题)
- 2026四川安和精密电子电器股份有限公司招聘成本会计等岗位3人备考题库含答案详解(培优)
- 2026上海闵行区七宝镇村(合作社)、镇属公司招聘16人备考题库含答案详解(预热题)
- 2024年上海奉贤区国内外高校招录储备人才笔试真题
- 幼儿园春季传染病预防课件
- 造价咨询岗位责任制度
- 2026年西师大版三年级数学下册 3.3 一位小数的加减法(课件)
- 岩棉板外墙外保温施工技术交底
- 纺织厂生产厂长考核制度
- 2025年山东省鲁信投资控股集团有限公司招聘笔试参考题库附带答案详解
- 承包商施工安全技术交底
- 第四章蛋白质的稳定性-课件
- 安徽新尖峰北卡药业有限公司年产25吨替尼类医药中间体、30吨替尼类原料药、300吨医药中间体、765吨甲基多巴和非布司他等原料药项目环境影响报告书
评论
0/150
提交评论