数据结构-试设计一学生成绩管理系统_第1页
数据结构-试设计一学生成绩管理系统_第2页
数据结构-试设计一学生成绩管理系统_第3页
数据结构-试设计一学生成绩管理系统_第4页
数据结构-试设计一学生成绩管理系统_第5页
全文预览已结束

下载本文档

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

文档简介

试验九(有参考)实验要求:试设计一学生成绩管理系统,要求可对数据可按关键字进行排序(冒泡、选择或快速排序)和查找(二分查找)点击此处运行Demo_9.exe实验源程序:#include stdafx.h#include#include #include typedef structlong class_1; /班级int number; /学号char name20; /姓名float math; /数学float c_program; /C语言float physics; /大学物理float english; /大学英语float polity; /政治float sport; /体育float summary; /总分float average; /平均分Student;Student stud100; /定义结构体数组变量的大小int i=0; /i用于记录输入的学生的个数int menu() /菜单函数int a;printf(*学生信息管理系统*n);/菜单选择printf(tt【1】输入学生信息n);printf(tt【2】显示所有学生的信息n);printf(tt【3】按平均分升降排序n);printf(tt【4】根据学生的学号查找学生的信息n);printf(tt【0】退出本系统n);printf(*学生信息管理系统*n);printf(请选择你要的操作【0-4】:);scanf(%d,&a); /读入一个数while(a4)printf(输入错误!请重新输入。n);scanf(%d,&a); /输入错误就一直循环!_system(cls); /清屏return(a); /返回a的值int input(Student stud) /输入学生信息char flag=Y;while(flag=y | flag=Y) /判断printf(请输入该学生的班别:); /交互输入学生信息scanf(%ld,&studi.class_1);printf(请输入该学生的学号:);scanf(%ld,&studi.number);printf(请输入该学生的姓名:);scanf(%s,&);printf(请输入该学生的数学分数:);scanf(%f,&studi.math);printf(请输入该学生的C程序设计语言分数:);scanf(%f,&studi.c_program);printf(请输入该学生的大学物理分数:);scanf(%f,&studi.physics);printf(请输入该学生的大学英语分数:);scanf(%f,&studi.english);printf(请输入该学生的体育分数:);scanf(%f,&studi.sport);printf(请输入该学生的政治分数:);scanf(%f,&studi.polity);getchar(); /用于消除回车键studi.summary=studi.math+studi.c_program+studi. physics+studi.english+studi.sport+studi.polity;studi.average=studi.summary/6;printf(该学生的总分为:%6.2ft平均分为:%6.2fn,studi.summary,studi.average);i+;printf(继续输入学生信息请按:Y or y,退出请按:N or n.n);scanf(%c,&flag); /判断是否继续输入printf(按任意键回主菜单n);getchar();system(cls);return(i);void Display(Student stud,int n) /显示所有记录int k;if(n=0)printf(暂无学生记录!n);elseprintf( 班别t学号t姓名 数学 C语言 物理 英语 体育 政治 总分 平均分n);for(k=0;kn;k+) /循环输出printf(%2d,studk.class_1);printf(%8d,studk.number);printf(%9s,);printf(%8.1f,studk.math);printf(%7.1f,studk.c_program);printf(%7.1f,studk.physics);printf(%6.1f,studk.english);printf(%6.1f,studk.sport);printf(%6.1f,studk.polity);printf(%7.1f,studk.summary);printf(%7.1fn,studk.average);system(pause);system(cls);void Sort(Student stud,int i) /按平均分排序int m,n,k; /m,n为循环变量Student t;for(m=0;mi-1;m+) /排序for(n=m+1;ni;n+)if(studm.averagestudn.average)t=studm;studm=studn;studn=t;printf(排序后的顺序为:n);printf( 班别 学号 姓名 数学 C语言 物理 英语 体育 政治 总分 平均分n);for(k=0;ki;k+) /循环输出printf(%2d,studk.class_1);printf(%6d,studk.number);printf(%5s,);printf(%7.2f,studk.math);printf(%7.2f,studk.c_program);printf(%7.2f,studk.physics);printf(%6.2f,studk.english);printf(%6.2f,studk.sport);printf(%6.2f,studk.polity);printf(%8.2f,studk.summary);printf(%6.2fn,studk.average);system(pause);system(cls);void Search(Student stud,int i) /查找并显示一个记录int p,k; /p为要查找的学生学号,t为循环节,s用来判断循环是否结束char flag=y;while(flag=y | flag=Y)printf(请输入要查找的学生学号:);scanf(%d,&p);getchar();for(k=0;p!=studk.number & ki;k+);if(k=i)printf(该学号不存在!n);else printf(该学生的信息为:n);printf( 班别 学号 姓名 数学 C语言 物理 英语 体育 政治 总分 平均分n);printf(%2d,studk.class_1);printf(%6d,studk.number);printf(%5s,);printf(%7.2f,studk.math);printf(%7.2f,studk.c_program);printf(%7.2f,studk.physics);printf(%6.2f,studk.english);printf(%6.2f,studk.sport);printf(%6.2f,studk.polity);printf(%8.2f,studk.summary);printf(%6.2fn,studk.average);printf(继续查找学生信息请输入:Y or y,退出输入:N or nn);scanf(%c,&flag); /判断是否继续输入system(cls);int main() /主函数int n=0;while(1)switch(menu() /选择判断要执行的语句case 1:printf(n*输入学生信息*n);/输入学生信息n=input(stud);break;case 2:printf(n*显示所有学生的信息*n);/显示所有学生的信息Display(stud,n);break;case 3:pr

温馨提示

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

评论

0/150

提交评论