C语言实验报告学生信息资源管理系统_第1页
C语言实验报告学生信息资源管理系统_第2页
C语言实验报告学生信息资源管理系统_第3页
C语言实验报告学生信息资源管理系统_第4页
C语言实验报告学生信息资源管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论