欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

C语言学生管理系统综合实验报告

  • 资源ID:104397771       资源大小:1.62MB        全文页数:20页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

C语言学生管理系统综合实验报告

佛山科学技术学院实验报告实验名称 小型学生信息管理系统 实验项目 编写一学生信息管理系统,用来管理学生基本信息及成绩信息专业班级 姓名 XXX 学号 指导教师 成绩 日期 一、 试验目的本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的能力。二、 实验内容编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图:显 示主菜单数据输入数据修改数据输出退出数据处理查询排序统计平均分不及格科 目具体要求为:1. 建立学生信息,每个学生的信息应包括:学号、姓名、性别、班级、至少3门课程的成绩;2. 数据输入:输入学生的各项信息;3. 数据修改:根据输入学生的学号可以选择修改该学生的信息;4. 数据处理:可以选择处理方式为:排序、查询、统计。其中:a) 排序:按学号排序b) 查询:根据学号查询成绩c) 统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生;5. 数据输出:输出学生的相应结果信息;6. 退出:退出整个学生信息管理系统。7. 输出结果截屏的第一条记录一定要反映出你自己的真实信息。三、 程序组织结构图、函数调用关系图四、 程序清单#include<stdio.h>#include<iostream.h>#include<string.h>struct studentchar num10;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",stui.name); 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);stui.ave=float(stui.yw+stui.sx+stui.yy)/3.0);i+;printf("t是否继续输入数据(Y.N)");cin>>x;if(x='n'|x='N') break;void EditData()int count=0;char str10;printf("n请输入学生学号:");cin>>str;while (count<i)if(strcmp(str,stucount.num)=0)printf("学号 姓名 性别 班级 语文 数学 英语n");printf("-n");printf("%-11s",stucount.num); printf("%-13s",stucount.name); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-4d",stucount.yy);printf("n");printf("-n");break;count+;if(count>=i)printf("n查无此人");elseprintf("nt修改数据:n"); printf("t学号:");scanf("%s",stui.num); printf("t姓名:"); scanf("%s",stui.name); 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<i-1;a+)c=a;for(b=a+1;b<i;b+)if(stub.ave>stuc.ave)c=b;temp=stub;stub=stuc;stuc=temp;printf("排序后结果为:n"); printf("学号 姓名 性别 班级 语文 数学 英语n"); printf("-n");for(c=0;c<i;c+)printf("%-11s",stuc.num); printf("%-13s",stuc.name); printf("%-8s",stuc.sex); printf("%-16s",stuc.clas); printf("%-6d",stuc.yw); printf("%-6d",stuc.sx); printf("%-4d",stuc.yy);printf("n");printf("-n");void cx() int count=0;char str10;printf("n请输入要查询的学生学号:");cin>>str;while (count<i) if(strcmp(str,stucount.num)=0)printf("学号 姓名 性别 班级 语文 数学 英语n");printf("-n");printf("%-11s",stucount.num); printf("%-13s",stucount.name); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-4d",stucount.yy);printf("n");printf("-n");break;count+;if(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;j<i;j+)while(count<i) for(j=0;j<i;j+) printf("%-21s",stucount.num); printf("%-21s",stucount.name);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;j<i;j+)if(stuj.yw<60|stuj.sx<60|stuj.yy<60) printf("%-11s",stucount.num); printf("%-13s",stucount.name); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-4d",stucount.yy); printf("n");count+; printf("-n");void tj()char x;while(1)printf("tn");printf("t 1.统计平均分 2.统计不及格学生信息 3.返回 n"); printf("tn");printf("nt请选择具体的统计内容:");cin>>x;printf("n"); switch(x) 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请选择具体的处理内容:");cin>>x; 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(count<i) printf("%-11s",stucount.num); printf("%-13s",stucount.name); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-6d",stucount.yy);count+; printf("n");printf("-n");void main()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* 5.退出 *n"); printf("t* *n"); printf("t*n"); printf("nt请选择需要进行的操作:"); cin>>x; printf("n"); switch (x) case '1':InputData();break; case '2':EditData();break; case '3':DataProc();break; case '4':DataOutput();break; case '5':printf("谢谢使用!n");break; if(x='s') break; printf("n");五、 运行结果六、 实验总结(调试分析、体会、致谢)从这一次的综合实验中,我感触很深可以这么说,为了这个实验花费比较的功夫。就我个人来说,其实我很害怕与电脑,程序有关的东西,可能因为一直以来很少接触电脑吧,对于相关的东西比较难理解。很认真去学,还是感觉很吃力。每次上课或做实验,发现自己在这方面很跟上大家的脚步。比如说,我去做了题,但是不能理解,也记不住。但是,这次的综合实验二做起来相对之前,我发现自己有了进步。从开始着手做,我就发现这个实验所需要的知识在前面的实验已经做过了。特别是综合实验一。我是像做实验一那样去完成这个实验的。首先把整个函数的结构,关系图先写出来。在把程序写出来时,先写主函数,然后把第一层函数的空函数写出来,调试主函数与第一层的空函数。第二步就是按照主菜单的顺序,把第一层函数写出来,输入数据的函数很快就写好,调试也没有任何问题。在写修改数据的函数就没那么容易,我参照了老师的程序,但是很奇怪,调试没问题,可当我输入数据后,进行第二的修改数据时,出现的数据一直是学号为1的学生的数据。我找了一天是哪的问题,却完全没头绪,然后我就求助舍友了,舍友帮我看了很久,她也找不到。等我返回去看流程图,才发现原来少了“if(strcmp(str,stucount.num)=0)”这条件。接下来就是处理数据的函数,我个人感觉这里,既简单又比较难的。这个函数里面又包含里按学号排序,查询,统计这三个函数,而统计里面又有统计平均分及统计不及格学生信息两个函数。像之前一样,我先把第三层函数写好,再写第四层的。按学号排序那个因为刚好老师讲到相关的那节课很认真听了;做起来虽然有点磕磕碰碰,它的程序调试完全没问题。在调试查询的时候,我犯了一个特别低级的错误,在没有把上一次的运行窗口关掉就编译,运行,发现程序连接有错误。我第一反应以为代码出错,就一在代码上找错,但找不到,当我目光放到电脑的任务栏,才恍然大悟,没有把上次运行后的窗口关掉。并且,这种错误在做综合实验过程中犯了不止一次。这也提醒着我对于C语言很不熟练。做统计的函数时我花费了比较长的时间。其实统计里面的两个函数相对来讲不是特别难,但是因为前面的都忘了,所以在调试老是出错。后来,函数写出来了,编译,运行也没出错,可是统计出来的平均分就是不正确。看了又看,都找不到哪里有问题。我又去求助了问一个同学,找不到,又回来问舍友了。终于发现了,原来在输入数据那个求平均值那里,我把stui.ave=float(stui.yw+stui.sx+stui.yy)/3.0);写成了stui.ave=float(stui.yw+stui.sx+stui.yy/3.0);也就是括号放错地方了。到这里为止,我已经完成了整个系统,开始全面调试,随便输了几组数据,一步一步往下进行操作,整个系统运行正常。我很开心,至少在自己努力和老师,同学的帮助下完成整个实验。在这里,我从心里深深表示,感谢在我有困难时 ,文娴和王瑶对我的帮助,感谢老师在课上的耐心指导,让我对学习C语言有了兴趣与动力。我在完成这个系统后,我更加认识到:没什么是学不会的,只在于你自己去不去努力学,我很后悔之前遇到一点小困难就放弃的行为,不过,我不会再如此轻易放弃了,遇到困难要迎难而上。在这里,再一次对老师和同学表示真心的感谢!

注意事项

本文(C语言学生管理系统综合实验报告)为本站会员(沈***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!