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

下载本文档

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

文档简介

实用标准文案洛阳理工学院课程设计报告课程名称 数据结构课程设计设计题目 学生成绩管理系统专 业 计算机科学与技术精彩文档实用标准文案精彩文档实用标准文案课程设计任务书设计题目: 学生成绩管理系统设计内容与要求:编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。建立一个4个学生的信息登记表,每个学生的信息包括:学号,姓名,和 3门课程的成绩(FOX,C,ENGLISH)。程序运行时显示一个简单的菜单,例如:1)信息输入(INPUT)2)总分统计(COUNT)3)总分排序(SORT)4)查询(QUERY)其中:1)对4个学生的信息进行输入;2)对每个学生的3门课程统计总分;3)对4个学生的总分按降序排序并显示出来;4)查询输入一个学号后,显示出该学生的有关信息;课程设计评语精彩文档实用标准文案成绩:指导教师:_______________年 月 日精彩文档实用标准文案目 录一.问题描述 2二.基本要求 2三.数据结构 3四.总体设计 31.结构图 32.流程图 4五. 详细设计 61.录入模块 62.浏览模块 63.排序模块 64.查找模块 7六. 测试与调试 7七. 源程序清单 11精彩文档实用标准文案一.问题描述编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。二.基本要求建立一个4个学生的信息登记表,每个学生的信息包括:学号,姓名,和 3门课程的成绩(FOX,C,ENGLISH)。程序运行时显示一个简单的菜单,例如:1)信息输入(INPUT)2)总分统计(COUNT)3)总分排序(SORT)4)查询(QUERY)其中:1)对4个学生的信息进行输入;2)对每个学生的3门课程统计总分;3)对4个学生的总分按降序排序并显示出来;精彩文档实用标准文案(4)查询输入一个学号后,显示出该学生的有关信息;三.数据结构structstudent{charnum[10];/* 学号*/charname[20];/* 姓名*/intfgrade;/* 佛学成绩*/intcgrade;/*C 语言成绩*/integrade;/* 英语成绩*/inttotal;/* 总分*/}st[100];四.总体设计1.结构图学生信息管理系统菜单选择 信息录入 信息浏览 信息排序 信息查询精彩文档按学号查询 按姓名查询实用标准文案图4.12.流程图2.1录入函数开始创建文件输入信息保存关闭文件返回菜单图4.2精彩文档2.2排序函数2.3查询函数2.4按学号查询函数

实用标准文案开始创建数组排序输出排序结果结束图4.3开始输入查询方式调用按学号 调用按姓名查询函数 查询函数返回菜单图4.4开始输入要查找的学号for循环输出该学生的信 息精彩文档

结束实用标准文案2.5按姓名查询函数(同上)图4.5五.详细设计1.录入模块定义一个结构structstudent 和数组st[N]用来储存N个学生的所有信息(学号st[i].num、姓名st[i].name、佛学成绩st[i].fgrade 、C语言成绩st[i].cgrade 、英语成绩st[i].egrade )。通过for循环输入所有学生信息。用 printf 语句提示需要输入的内容,接着用 scanf 语句输入相应内容。输入完毕后套用保存函数save(m)将所输入的信息写入指定文件。2.浏览模块声明整形变量 i和count,其中记录输出的学生序数, count 用来接收调用浏览函数时所传递过来的实参,将其值传递给导出函数 load(m),使得导出的学生人数与浏览的学生人数保持一致。 通过调用load函数后(即给em数组赋值),用for循环输出每一个学生的各种信息。3.排序模块声明整形变量i,j和结构体变量struct student temp,用for循环实现排序功能,利用冒泡法,以 st[i].total<st[j].total 为条件进行排序。最后用 printf 输出排序结果。精彩文档实用标准文案4.查找模块声明整型变量k,先用printf 语句显示查询菜单,用 scanf输入选择的查询方式的代号,用switch(k)进入所选择的具体查询函数,包括学号查询,姓名查询两种方式。学号查询中,用 scanf语句输入需要查询的学号,并赋值给 num。用for循环,循环主体判断em[i].num 中是否有输入的学号。如果有,用 printf 语句输出与学号相对应的该学生的所有信息,再跳出循环。按姓名查询与此方法类似,不再叙述。六.测试与调试运行程序,进入主菜单图6.1主菜单2.输入数字“1”,创建学生信息精彩文档实用标准文案图6.2 输入职工信息3.输入数字“2”,浏览学生信息精彩文档实用标准文案图6.3 浏览职工信息4.输入数字“3”,按总分排序图6.4 按总分排序5.输入数字“4”,查询学生信息5.1选择查询方式“1”精彩文档实用标准文案图6.5 按学号查询5.2选择查询方式“2”图6.6 按姓名查询精彩文档实用标准文案七.源程序清单#include<stdio.h>#include<stdlib.h>#include<string.h>structstudent{charnum[10];/* 学号*/charname[20];/* 姓名*/intfgrade;/* 佛学成绩*/intcgrade;/*C 语言成绩*/integrade;/* 英语成绩*/inttotal;/* 总分*/}st[100];voidmenu();voidinput();voidsave(intm);voidsave();voiddisplay();voidsearch();voidsearch_num();voidsearch_name();voidsort_total();精彩文档实用标准文案intload();/* 定义各函数*/intm;voidmain(){menu();intn=0,flag;chara;do{printf(" 请选择你需要操作的步骤 (1--4):\n");scanf("%d",&n);if(n>=0&&n<=4){flag=1;break;}else{flag=0;printf(" 您输入有误,请重新选择 !");}精彩文档实用标准文案}while(flag==0);while(flag==1){switch(n){case1: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;case4:printf("\n ◆◆◆查询学生信息◆◆◆\n");printf("\n");search();break;case0:exit(0);break;default:break;}getchar();printf("\n");printf(" 是否继续运行( yorn):\n");scanf("%c",&a);if(a=='y')精彩文档实用标准文案{flag=1;system("cls"); /*清屏*/menu(); /*调用菜单函数*/printf(" 请再次选择你需要操作的步骤 (1--4):\n");scanf("%d",&n);printf("\n");}elseexit(0);}}voidmenu()/*菜单函数*/{printf("**************欢迎进入学生信息管理系统**************\n");printf("1.录入学生信息\n");printf("2.浏览学生信息\n");printf("3.按总分排序\n");printf("4.查询学生信息\n");printf("0.退出\n");printf("**********************谢谢使用**********************\n");精彩文档实用标准文案printf("\n");printf("\n");}voidinput() /*输入学生信息并保存 */{inti;printf(" 请输入需要创建信息的学生人数 (1--10):\n");scanf("%d",&m);for(i=0;i<m;i++){printf(" 请输入学号:");scanf("%s",st[i].num);printf(" 请输入姓名:");scanf("%s",st[i].name);printf(" 请输入佛学成绩 :");scanf("%d",&st[i].fgrade);printf(" 请输入C语言成绩:");scanf("%d",&st[i].cgrade);printf(" 请输入英语成绩 :");scanf("%d",&st[i].egrade);精彩文档实用标准文案st[i].total=st[i].fgrade+st[i].cgrade+st[i].egrade;/*信息输入已经完成 */}save(m);return;/* 返回主界面*/}voiddisplay()/* 浏览学生信息 */{inti;intcount=0;m=load();printf("\n 学号\t姓名\t佛学成绩\tC语言成绩\t英语成绩\t总分\n");/* 输出学生信息*/for(i=0;i<m+count;i++){printf("\n%s\t%s\t%d\t\t%d\t\t%d\t\t%d\n",st[i].num,st[i].name,st[i].fgrade,st[i].cgrade,st[i].egrade,st[i].total);}}精彩文档实用标准文案voidsort_total() /*按总分排序*/{inti,j;structstudenttemp;/* 声明结构体变量 */printf("\t 学号\t姓名\t佛学成绩\tC语言成绩\t英语成绩\t总分\n");for(i=0;i<m;i++)/* 对数据进行排序 */{for(j=i+1;j<m;j++)if(st[i].total<st[j].total){temp=st[i];st[i]=st[j];st[j]=temp;}printf("\n\t%s\t%s\t%d\t\t%d\t\t%d\t\t%d\n",st[i].num,st[i].name,st[i].fgrade,st[i].cgrade,st[i].egrade,st[i].total);}}voidsearch() /*查询函数*/{精彩文档实用标准文案intk;/* 定义局部变量*/m=load();printf("\n 按学号查询请按 1,\t按姓名查询请按 2\n");printf("\n 请输入查询方式 :");scanf("%d",&k);switch(k)/* 查询方式的选择 */{case1:search_num();break;/* 按学号查询*/case2:search_name();break;/* 按姓名查询*/}printf("\nPressanykeytoentermenu......");getchar();return;/* 返回主界面*/}voidsearch_num()/*(1) 按学号查找*/{inti;chartemp[30];printf("\n 请输入要查找的学号 :");scanf("%s",temp);for(i=0;i<m;i++)精彩文档实用标准文案{if(strcmp(temp,st[i].num)==0){printf("\n 学号\t姓名\t佛学成绩\tC语言成绩\t英语成绩\t总分\n");printf("\n%s\t%s\t%d\t\t%d\t\t%d\t\t%d\n",st[i].num,st[i].name,st[i].fgrade,st[i].cgrade,st[i].egrade,st[i].total);}}}voidsearch_name()/*(2) 按姓名查找*/{inti;chartemp[30];printf("\n 请输入要查找的姓名 :");scanf("%s",temp);for(i=0;i<m;i++){if(strcmp(temp,st[i].name)==0){printf("\n 学号\t姓名\t佛学成绩\tC语言成绩\t英语成绩\t总分\n");精彩文档实用标准文案prin

温馨提示

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

评论

0/150

提交评论