版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、语言实验报告院系:数学与计算科学学院班级:信息与计算科学2班姓名:学号:2011年12月21日、问题描述编写一 个信息管理系统,包 括姓名、性别、年 龄、班级、学号、地 址、各科成绩等,要 求能进行查找、排序 和计算,按加权平均 排序、按某一课程排 序和按学号排序。二、分析问题,解决问题的步骤1、输入初始的学生信息:输入信息包括学生的姓名、性别、年 龄、班级、学号、地址、各科成绩等相关信息;可用函数void input(STUDENT *data, int *len)来实现此操作。2、成绩输出模块:输出学生的信息以及成绩 void output(STUDENT *data, int len):
2、通过学生的姓名 来查看学生的相关成绩,同时也可以分别通过caverage()、 maverage()、eaverage()和 comaverage()来输出成绩的平均分 数、最高和最低分数。3、排序模块:用函数 void sort(STUDENT *data, int len)来实 现。4、成绩查询模块:可用 void find(STUDENT *data, int len)来 实现。找到就输出此学生全部信息。5、统计功能能:用函数 void stat(STUDENT *data, int len)来 实现。6、退出系统:可用一个函数exit ()来实现,首先将信息 保存到文件中,释放动态创建
3、的内存空间,再退出此程序。三、程序编写#include #include #include #define MAXN 35#define Maxsize325 typedef struct student / 学生信息(int no;char nameMaxsize;char sexMaxsize;char ageMaxsize;char adressMaxsize;char glassnumMaxsize;doubleChinese;doublemath;doubleEnglish;doublemark_ave;doublemark_tot; STUDENT;/*输入信息子程序-*/void
4、 input(STUDENT *data, int *len) int no;putchar(n);printf(%sn,请输入新的记录,如果需要退出当前菜单请输入-1.);printf(%sn,格式:n 学号 n);printf(%sn,姓名性别年龄地址班级学号语文数学 英语);putchar(n);printf(如:n);printf(1n);printf(张三 93 95 89n);scanf(%d”, &no);while(no != -1) (data*len.no = no;scanf(%s %s %s %s %s %lf %lf %lf, data*,&data*
5、len.sex,&data*len.age,&data*len.adress,&data*lenglassnum,&data *len.Chinese, &data*len.math,&data*len.English);data*len.mark_ave=(data*len.Chinese+data*len.math+data*lenEnglish)/30;data*len.mark_tot=data*len.Chinese+data*len.math+data*len.English;(*len)+;scanf(%d”, &no);/*输出信息子程序*/void output (STUDE
6、NT *data, int len)int i;system (cls);printf (%8s,姓名);printf (%8s”, 性别);printf (%8s,”年龄”);printf (%8s”,地址);printf (%8s,班级);printf (%8s,语文);printf (%8s,数学);printf (%10s,英语);printf (%12s,平均分);printf (%10s”,总分);putchar (n);for (i =0; i 80; i+) putchar (=);for (i = 0; i len; i+)(printf(%8d”, datai.no);pr
7、intf(%8s”, );printf(%8s”, datai.sex);printf(%8s”, datai.age);printf(%8s”, datai.adress); printf(%8s”, datai.glassnum);printf(%81lf”, dataiChinese); printf(%8.1lf5 datai.math);printf(%101lf”, dataiEnglish); printf(%12.1lf”, datai.mark_ave);printf(%10.1lf”, datai.mark_tot); putchar(n);)for (
8、i =0; i 80; i+)putchar(=);putchar(n);printf(按回车键继续.);getchar();getchar();/*排序子程序 */void sort(STUDENT *data, int len) (int i,j,k;STUDENT temp;for (i=0; ilen-1; i+) for (k=i, j=i+1; j dataj.mark_ave) k=j; if (k != i) temp = datai;datai = datak;datak = temp;) )/*查询子程序*/void find(STUDENT *data, int len)
9、 int find_no, result ;int i;lab: result=0;printf (%sn,请输入需要查找的学生的学号,退出当 前菜单请输入-1.);scanf (%d”, &find_no);if (find_no = -1) return; /*exit the fine sub program*/while ( dataresult.no != find_no & result = len ) (printf (%sn”,”未查询到相关信息”);goto lab;else (system (cls);printf (%sn”, 查询信息如下:);for (i =0; i
10、elM_(o1山ellrmnseuJD_nsD_ns-se-Pd匚LOL%) ep-s匚LdepZ匚L&LO L)七%)匕(Futeumnd +08V一0上) 049n Futeumnd d-qe-0406(J)/*统计子程序*/void stat(STUDENT *data, int len)(int no_59=0, no_69=0, no_79=0, no_89=0, no_100=0; inti;for (i = 0;i len; i+) (if (datai.mark_ave =59) no_59+;else if (datai.mark_ave =69) no_69+;else i
11、f (datai.mark_ave =79) no_79+;else if (datai.mark_ave = 89) no_89+;else no_100+;)system(cls);for (i =0; i 80; i+)putchar(=);putchar(n);printf(%10s,分数);printf(%10s, 0-59);printf(%10s, 60-69);printf(%10s, 70-79);printf(%10s, 80-89);printf(%10s, 90-100);putchar(n);putchar(n);printf(%10s,学生);printf(%10d
12、, no_59);printf(%10d, no_69);printf(%10d, no_79);printf(%10d, no_89);printf(%10d, no_100);putchar(n);for (i =0; i 80; i+)putchar(=);putchar(n);printf(-按回车键返回);getchar();getchar();/*显示信息子程序*/void paint()int i;system(cls);printf(%55sn, “信计二班学生成绩管理系统n); printf( 制作者:XX n);for (i = 0; i 80; i+)putchar(=)
13、;putchar(n);printf( 1输入信息出信息n);printf(3按平均分排序按学号查找n);printf(5按平均分输出统计信息保存到文件n);printf( 0 退出 n);for (i = 0; i= 79; i+)putchar(=);putchar(n);printf(%sn”,”请输入各操作对应的序号:);)void save(STUDENT *data, int len)/ 将数据保存到文件int i;FILE *fp;fp=fopen (成绩统计表.txt”,w”);fprintf (fp,%8s,学号);fprintf (fp,%8s,姓名);fprintf (f
14、p,%8s,性别);fprintf (fp,%8s,年龄);fprintf (fp,%8s,地址);fprintf (fp,%8s”,班级);fprintf (fp,%8s,语文);fprintf (fp,%8s,数学);fprintf (fp,%10s,英语);fprintf (fp,%12s,平均分);fprintf (fp,%10sn”,”总分);fprintf (fp,=n);putchar (n);for (i = 0; i len; i+)fprintf (fp,%8d”, datai.no);fprintf(fp,%8s”, datai.sex);fprintf(fp,%8s”,
15、 datai.age);fprintf(fp,%8s”, datai.adress);fprintf(fp,%8s”, datai.glassnum);fprintf(fp,%81lf”, dataiChinese);fprintf(fp,%81lf”, datai.math);fprintf(fp,%10.1lf”, datai.English);fprintf(fp,%12.1lf”, datai.mark_ave);fprintf(fp,%10.1lfn”, datai.mark_tot); )fprintf(fp,=n);fclose(fp);printf(文件已保存到成绩统计表.tx
16、t);getchar();getchar(); ) /*主程序*/void main()STUDENT dataMAXN; int len = 0;char ctrl_ch;paint(); scanf(%c”, &ctrl_ch); while (ctrl_ch != 0) (;case 1:input(data, &len); break;case 2: output(data, len); break;case 3:sort(data, len); break;case 4:find(data, len); break;case 5:insert(data, &len); break;case 6:delete_item(data, &le
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44900-2024超重力强化氟化反应流程再造技术规范
- 《应用语言学》(1-15章节)笔记
- 抗体偶联药物分段生产试点注册申报技术要求
- 2024年三季度宏观经济分析报告
- 第三单元 表内乘法(一)(知识清单)二年级数学上册(苏教版)
- 2024年营养强化剂项目资金筹措计划书代可行性研究报告
- 强化班子建设-打造和谐工商
- 冷喷烯锌涂料中石墨烯材料的测试与判定 扫描电镜-X射线能谱分析法-编制说明
- Python程序设计实践- 习题及答案 ch12 实验8 字典与集合
- 幼儿园语言领域听课心得(3篇)
- 期中试卷(第1-3单元)(试题)-2024-2025学年三年级上册数学沪教版
- 急救小知识科普讲座
- 2024年高等教育法学类自考-00262法律文书写作考试近5年真题附答案
- 北京市人民大学附属中学2025届数学高二上期末统考模拟试题含解析
- 万达入职在线测评题
- 24年追觅在线测评28题及答案
- 2024统编新版小学五年级语文上册第六单元:大单元整体教学设计
- 2024年全国职业院校技能大赛高职组(药学技能赛项)考试题库(含答案)
- JTGT F20-2015 公路路面基层施工技术细则
- 第五章 中国特色社会主义理论体系的形成发展(一)
- 公园绿化养护服务投标方案
评论
0/150
提交评论