收藏 分享(赏)

学生成绩管理系统数据结构.doc

上传人:精品资料 文档编号:8334431 上传时间:2019-06-20 格式:DOC 页数:16 大小:201.41KB
下载 相关 举报
学生成绩管理系统数据结构.doc_第1页
第1页 / 共16页
学生成绩管理系统数据结构.doc_第2页
第2页 / 共16页
学生成绩管理系统数据结构.doc_第3页
第3页 / 共16页
学生成绩管理系统数据结构.doc_第4页
第4页 / 共16页
学生成绩管理系统数据结构.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、洛 阳 理 工 学 院课 程 设 计 报 告 课程名称 数据结构课程设计 设计题目 学生成绩管理系统 专 业 计算机科学与技术 课 程 设 计 任 务 书设计题目: 学生成绩管理系统 设计内容与要求:编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。建立一个 4 个学生的信息登记表,每个学生的信息包括:学号,姓名,和 3门课程的成绩(FOX,C,ENGLISH) 。程序运行时显示一个简单的菜单,例如:(1)信息输入(INPUT)(2)总分统计(COUNT)(3)总分排序(SORT)(4)查询(QUERY)其中:(1)对 4 个学生的信息进行输入;(2)对每个学生的 3 门课程统计总分

2、;(3)对 4 个学生的总分按降序排序并显示出来;(4)查询输入一个学号后,显示出该学生的有关信息;课 程 设 计 评 语成绩:指导教师:_年 月 日洛 阳 理 工 学 院 课 程 设 计 报 告0目 录一问题描述 .2二基本要求 .2三数据结构 .2四总体设计 .31.结构图 32.流程图 3五 详细设计 51.录入模块 52.浏览模块 53.排序模块 54.查找模块 5六 测试与调试 5七 源程序清单 9洛 阳 理 工 学 院 课 程 设 计 报 告1一问题描述编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。二基本要求建立一个 4 个学生的信息登记表,每个学生的信息包括:学号,

3、姓名,和 3门课程的成绩(FOX,C,ENGLISH) 。程序运行时显示一个简单的菜单,例如:(1)信息输入(INPUT)(2)总分统计(COUNT)(3)总分排序(SORT)(4)查询(QUERY)其中:(1)对 4 个学生的信息进行输入;(2)对每个学生的 3 门课程统计总分;(3)对 4 个学生的总分按降序排序并显示出来;(4)查询输入一个学号后,显示出该学生的有关信息;三数据结构struct studentchar num10;/*学号*/char name20;/*姓名*/int fgrade;/*佛学成绩*/int cgrade;/*C 语言成绩 */int egrade;/*英语

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

5、课 程 设 计 报 告42.5 按姓名查询函数(同上)五详细设计1.录入模块定义一个结构 struct student 和数组 stN用来储存 N 个学生的所有信息(学号 sti.num、姓名 sti.name、佛学成绩 sti.fgrade、C 语言成绩sti.cgrade、英语成绩 sti.egrade) 。通过 for 循环输入所有学生信息。用printf 语句提示需要输入的内容,接着用 scanf 语句输入相应内容。输入完毕后套用保存函数 save(m)将所输入的信息写入指定文件。2.浏览模块声明整形变量 i 和 count,其中记录输出的学生序数,count 用来接收调用浏览函数时所

6、传递过来的实参,将其值传递给导出函数 load(m),使得导出的学生人数与浏览的学生人数保持一致。通过调用 load 函数后(即给 em 数组赋值) ,用 for 循环输出每一个学生的各种信息。3.排序模块声明整形变量 i,j 和结构体变量 struct student temp,用 for 循环实现排序功能,利用冒泡法,以 sti.total#include #include struct studentchar num10;/*学号*/char name20;/*姓名*/int fgrade;/*佛学成绩*/int cgrade;/*C 语言成绩*/int egrade;/*英语成绩*/i

7、nt total;/*总分*/st100;void menu();void input();void save(int m);void save();void display();void search();void search_num();void search_name();void sort_total(); int load();/*定义各函数*/int m;void main()menu();int n=0,flag;char a;doprintf(“请选择你需要操作的步骤(1-4):n“);scanf(“%d“,if(n=0break;elseflag=0;printf(“您输入

8、有误,请重新选择!“);洛 阳 理 工 学 院 课 程 设 计 报 告9while(flag=0);while(flag=1)switch(n)case 1:printf(“n 输入学生信息 n“);printf(“n“);input();break;case 2:printf(“n 浏览学生信息 n“);printf(“n“);display();break;case 3:printf(“n 按总分排序n“);printf(“n“);sort_total();break;case 4:printf(“n 查询学生信息 n“);printf(“n“);search();break;case 0

9、:exit(0);break;default:break;getchar();printf(“n“);printf(“是否继续运行(y or n):n“);scanf(“%c“,if(a=y)flag=1;system(“cls“); /*清屏*/menu(); /*调用菜单函数*/printf(“请再次选择你需要操作的步骤(1-4):n“);scanf(“%d“,printf(“n“);elseexit(0);void menu() /*菜单函数*/printf(“ *欢迎进入学生信息管理系统 *n“);printf(“ 1.录入学生信息 n“);printf(“ 2.浏览学生信息 n“);

10、printf(“ 3.按总分排序n“);printf(“ 4.查询学生信息 n“);printf(“ 0.退出n“);printf(“ *谢谢使用*n“);printf(“n“);洛 阳 理 工 学 院 课 程 设 计 报 告10printf(“n“);void input() /*输入学生信息并保存*/int i;printf(“请输入需要创建信息的学生人数(1-10):n“);scanf(“%d“,for(i=0;im;i+)printf(“请输入学号:“);scanf(“%s“,sti.num);printf(“请输入姓名:“);scanf(“%s“,sti.name);printf(“

11、请输入佛学成绩:“);scanf(“%d“,printf(“请输入 C 语言成绩:“);scanf(“%d“,printf(“请输入英语成绩:“);scanf(“%d“,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

12、%st%st%dtt%dtt%dtt%dn“,sti.num,sti.name,sti.fgrade,sti.cgrade,sti.egrade,sti.total);void sort_total() /*按总分排序*/洛 阳 理 工 学 院 课 程 设 计 报 告11int 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= st

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

14、k;/*按姓名查询*/printf(“nPress any key to 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)洛 阳 理 工 学 院 课 程 设 计 报 告12printf(“n 学号t 姓名t 佛学成绩tC 语言成绩t 英语成绩t 总分n“);printf(“n%st%st%dtt%dtt%dtt

15、%dn“,sti.num,sti.name,sti.fgrade,sti.cgrade,sti.egrade,sti.total);void search_name()/*(2)按姓名查找*/int i;char temp30;printf(“n 请输入要查找的姓名:“);scanf(“%s“,temp);for( i=0;im;i+)if(strcmp(temp,sti.name)=0)printf(“n 学号t 姓名t 佛学成绩tC 语言成绩t 英语成绩t 总分n“);printf(“n%st%st%dtt%dtt%dtt%dn“,sti.num,sti.name,sti.fgrade,s

16、ti.cgrade,sti.egrade,sti.total);int load() /*导入函数*/FILE*fp;int n=0;if(fp=fopen(“student_list“,“rb“)=NULL)printf(“cannot open filen“);exit(0);elsedofread(n+;while(feof(fp)=0);洛 阳 理 工 学 院 课 程 设 计 报 告13fclose(fp);return(n-1);void save(int m)/*保存文件函数*/int i;FILE*fp;if(fp=fopen(“student_list“,“wb“)=NULL)/*创建文件并判断是否能打开 */printf(“cannot open filen“);exit(0);for(i=0;im;i+)/*将内存中学生的信息输出到磁盘文件中去*/if(fwrite(fclose(fp);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报