学生成绩管理系统数据结构_第1页
学生成绩管理系统数据结构_第2页
学生成绩管理系统数据结构_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、洛 阳 理 工 学 院课 程 设 计 报 告课程名称数据结构课程设计设计题目学生成绩管理系统专业计算机科学与技术课 程 设 计 任 务 书设计题目:学生成绩管理系设计内容与要求:编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。43课程的成绩FOX,C,ENGLISH。程序运行时显示一个简单的菜单,例如:信息输入(INPUT)总分统计(COUNT)总分排序(SORT)查询其中:434查询输入一个学号后,显示出该学生的有关信息;课 程 设 计 评 语成绩:指导教师: 年月日 PAGE 5 PAGE 5洛 阳 理 工 学 院 课 程 设 计 报 告目录 HYPERLINK l _TOC_

2、250011 一问题描述2 HYPERLINK l _TOC_250010 二基本要求2 HYPERLINK l _TOC_250009 三数据结构2 HYPERLINK l _TOC_250008 四总体设计3 HYPERLINK l _TOC_250007 结构图3 HYPERLINK l _TOC_250006 流程图3 HYPERLINK l _TOC_250005 五详细设计5 HYPERLINK l _TOC_250004 录入模块5 HYPERLINK l _TOC_250003 浏览模块5 HYPERLINK l _TOC_250002 排序模块5 HYPERLINK l _T

3、OC_250001 查找模块5 HYPERLINK l _TOC_250000 六测试与调试5七源程序清单9洛 阳 理 工 学 院 课 程 设 计 报 告一问题描述编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。二基本要求4门课程的成绩(FOX,C,ENGLISH。程序运行时显示一个简单的菜单,例如:信息输入(INPUT)总分统计(COUNT)总分排序(SORT)查询其中:434查询输入一个学号后,显示出该学生的有关信息;三数据结构struct studentchar num10;/* 学 号 */ char name20;/*姓名*/ intfgrade;/*佛学成绩*/ int

4、 cgrade;/*C 语言成绩integrade;/*英语成绩*/ int total;/*总分*/st100;洛 阳 理 工 学 院 课 程 设 计 报 告四总体设计学生信息管理系统菜单选择信息录入信息浏览学生信息管理系统菜单选择信息录入信息浏览信息排序信息查询按学号查询按姓名查询4.1流程图录入函数开始创建文件开始创建文件输入信息保存关闭文件返回菜单图 4.2洛 阳 理 工 学 院 课 程 设 计 报 告排序函数开始输入查询方式调用按学号查询函数开始输入查询方式调用按学号查询函数调用按姓名查询函数返回菜单图 4.3开始创建数组排序输出排序结果结束图 图 4.4开始输入要查找的学号开始输入

5、要查找的学号for 循环输出该学生的信 息结束图 图 4.5洛 阳 理 工 学 院 课 程 设 计 报 告按姓名查询函数(同上五详细设计录入模块定义一个结构structstudentstN用来储存N(学号 、 佛学成绩 sti.fgradeC 语言成绩sti.cgrade、英语成绩 sti.egradeforscanfsave(m)将所输入的信息写入指定文件。浏览模块iload(m),使得导出的学生人数与浏览的学生人数保持一致。通过调用load(即给em for排序模块i,jstruct student temp,for序功能,利用冒泡法,以 sti.total

6、stj.total 为条件进行排序。最后用printf查找模块kprintf scanf switch(k)种方式。scanf numfor 循环, emi.num 中是否有输入的学号。如果有,用printf 语句输出与学号六测试与调试运行程序,进入主菜单洛 阳 理 工 学 院 课 程 设 计 报 告图6.1主菜单图6.2输入职工信息6洛 阳 理 工 学 院 课 程 设 计 报 告图6.3浏览职工信息图6.4按总分排序选择查询方式“1”7洛 阳 理 工 学 院 课 程 设 计 报 告图6.5按学号查询选择查询方式“2”图6.6按姓名查询8 PAGE 14 PAGE 14洛 阳 理 工 学 院

7、课 程 设 计 报 告七源程序清单#include #include #include struct studentchar num10;/* 学 号 */ char name20;/* 姓 名 */ int fgrade;/*佛学成绩*/ int cgrade;/*C int egrade;/*英语成绩*/ int total;/*总分*/st100;void menu(); void input(); void save(int void save();void display(); void search();void search_num(); void search_name();

8、void sort_total();int load();/*定义各函数*/int m;void main()menu();int n=0,flag; char a;doprintf(scanf(%d,&n);if(n=0&n=4)elseflag=1; break;flag=0;printf(您输入有误,请重新选择!);洛 阳 理 工 学 院 课 程 设 计 报 告while(flag=0);while(flag=1)switch(n)case 1:printf(n输入学生信息n);printf(n);input();break; case 2:printf(ncase 3:printf(n

9、按总分排序n);printf(n);sort_total();break; case 4:printf(n查询学生信息n);printf(n);search();break; case 0:exit(0);break;default:break;getchar(); printf(n);printf(是否继续运行(y or n):n);scanf(%c,&a); if(a=y)elseflag=1;system(cls);/*清屏*/ menu();调用菜单函数printf(请再次选择你需要操作的步骤(1-4):n); scanf(%d,&n);printf(n);exit(0);void m

10、enu()菜单函数*/printf(息管理系*n); printf(1.录入学生信n);printf(2.n);printf(3.n);printf(4.n);printf(0.n);printf(*n); printf(n);洛 阳 理 工 学 院 课 程 设 计 报 告printf(n);void input()*/int i;printf(scanf(%d,&m);for(i=0;im;i+)printf(请输入学号:); scanf(%s,sti.num); printf(请输入姓名:); scanf(%s,); printf(scanf(%d,&sti.fgrade)

11、;printf(C scanf(%d,&sti.cgrade); printf(:); scanf(%d,&sti.egrade);sti.total=sti.fgrade+sti.cgrade+sti.egrade;/*信息输入已经完成*/save(m);return;/*返回主界面*/void display()/*浏览学生信息*/int i;int count=0; m=load();printf(n 学号t 姓名t 佛学成绩tC 语言成绩t 英语成绩t 总分n);/*输出学生信息*/for(i=0;im+count;i+)printf(n%st%st%dtt%dtt%dtt%dn,st

12、i.num,,sti.fgrade,sti.cgrade,sti.egr ade,sti.total);void sort_total()按总分排序*/洛 阳 理 工 学 院 课 程 设 计 报 告int i,j;struct student temp; /*声明结构体变量*/printf(t 学号t 姓名t 佛学成绩tC 语言成绩t 英语成绩t 总分n); for(i=0;im;i+)/*对数据进行排序*/for(j=i+1;jm;j+) if(sti.totalstj.total)temp=sti; sti= stj; stj=temp;printf(nt%st%st%dt

13、t%dtt%dtt%dn,sti.num,,sti.fgrade,sti.cgrade,sti.egrade,sti.total);void search()查询函数*/int k; /*定义局部变量*/ m=load();printf(n 按学号查询请按 1,t 按姓名查询请按 2n); printf(n 请输入查询方式:);scanf(%d,&k);switch(k)/*查询方式的选择*/case 1:search_num();break;/*按学号查询*/ case 2:search_name();break;/*按姓名查询printf(nPress any key to

14、 enter menu.);getchar();return; /*返回主界面*/void search_num()/*(1)按学号查找*/int i;char temp30;printf(n scanf(%s,temp);for( i=0;im;i+)if(strcmp(temp,sti.num)=0)洛 阳 理 工 学 院 课 程 设 计 报 告printf(n 学号t 姓名t 佛学成绩tC 语言成绩t 英语成绩t 总分n);printf(n%st%st%dtt%dtt%dtt%dn,sti.num,,sti.fgrade,sti.cgrade,sti.egr ade,st

15、i.total);void search_name()/*(2)按姓名查找*/int i;char temp30;printf(n scanf(%s,temp);for( i=0;im;i+)if(strcmp(temp,)=0)printf(n 学号t 姓名t 佛学成绩tC 语言成绩t 英语成绩t 总分n);printf(n%st%st%dtt%dtt%dtt%dn,sti.num,,sti.fgrade,sti.cgrade,sti.egr ade,sti.total);int load()导入函数*/FILE*fp; int n=0;if(fp=fopen(student_list,rb)=NULL)elseprintf(cannot open filen); exit(0);dofread(&stn,sizeof(struct student),1,fp); n+;while(feof(fp)=0);洛 阳 理 工 学 院 课 程 设 计 报 告fclose(fp); return(n-1);v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论