版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、“学生管理系统的设计与实现”综合性实验实验名称:学生管理系统的设计与实现实验类型:综合性实验一、实验目的强化学生对C语言的基本语法和基本编程技能的熟练掌握,并在此基础上,重点培养学生对实际应用问题进行抽象分析的能力和综合运用C语言知识进行具体实现的编程能力。二、实验内容综合应用C语言中讲授的流程控制语句、模块化程序设计方法(函数)和丰富的数据类型(指针、数组、结构体等)完成“学生管理系统”的设计与实现。三、实验环境Windows XP系统,C语言开发环境:Win-TC、Turbo C3.0、VC等。四、实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。2、系统数据要
2、求:学生信息如下:学号、姓名、年龄、所在系、3门课程名称及成绩、总分、平均分。3、系统功能要求:输入至少10个学生的自然信息(学号、姓名、年龄、所在系、成绩)。计算每个学生的总分、平均分,并输出每个学生的学号,姓名,总分,平均分。根据学生的总分进行排序输出。针对课程不同科目进行排序输出。统计输出每门课程的平均分。实现多种查询功能(例如:根据学号或姓名或所在系等,查询一个或多个学生信息)。对于已输入的学生信息进行储存。能实现学生信息的增、删、改操作。五、实验结果实验完成要求上交全部源程序代码(包括存盘数据)和完整的综合性实验报告(包括系统设计、实验过程中出现问题的分析与修改、代码打印、运行结果拷
3、屏打印)。六、考核形式考查。根据上机出勤、实验报告及完成的程序系统进行评价,分为优、良、中、及格、不及格。#include<string.h>#include<stdio.h>int n;/*定义全局变量n为学生人数*/struct Studentint num;/*学号*/ char name20;/*姓名*/ int age;/*年龄*/ char xi20;/*所在系*/ float chi;/*语文*/ float mat;/*数学*/ float eng;/*英语*/ float tot;/*总分*/ float ave;/*平均分*/stu30;/*定义了一
4、个学生数组,长度为30个人*/int main()void menu();/*菜单函数*/printf("有几个学生的成绩:");scanf("%d",&n);menu();return 0;void menu()/*菜单函数*/void input();/*输入*/void output();/*直接输出*/void sort1();/*按总分排序*/void sort2();/*按每科排序*/void aver();/*求每科平均分*/void look();/*查找*/void order();/*增加*/void delet();/*删减
5、*/void change();/*修改*/int k;/*存放选择变量*/printf("nt*n");printf("t1.输入;2.输出;3.用总分排序;4.用单独一科排序;n");printf("t5.每门课平均分;6.查询;7.增;8.删;9.改;10.退出;n");printf("t*n");printf("请选择:");scanf("%d",&k);/*选择所要执行的操作*/while(k!=10)/*当选择不为退出时做*/switch(k)case 1
6、:input();break;case 2:output();break;case 3:sort1();break;case 4:sort2();break;case 5:aver();break;case 6:look();break;case 7:order();break;case 8:delet();break;case 9:change();break;default:printf("enter data error!n");scanf("%d",&k);/*循环读入选择*/printf("tttThe program is
7、over!");void input()/*输入函数*/int i;printf(" 学号 姓名 年龄 所在系 语文 数学 英语n");for(i=0;i<n;i+)printf("第%2d个:",i+1);scanf("%d%s%d%s",&stui.num,,&stui.age,stui.xi);scanf("%f%f%f",&stui.chi,&stui.mat,&stui.eng);menu();/*调用菜单函数*/void outp
8、ut()/*输出函数*/int i;printf(" 学号 姓名 年龄 所在系 语文 数学 英语 总分 平均分n");for(i=0;i<n;i+)stui.tot=stui.chi+stui.mat+stui.eng;/*把三科的成绩加上,赋值给tot*/stui.ave=stui.tot/3;/*将三科总分除以3,赋值给ave*/printf("第%2d个:",i+1);printf("%d%8s %d%8s ",stui.num,,stui.age,stui.xi);printf("%5.2f
9、%5.2f %5.2f ",stui.chi,stui.mat,stui.eng);printf("%5.2f %5.2fn",stui.tot,stui.ave);menu();/*调用菜单函数*/void sort1()/*根据总分进行排序*/int i,j;struct Student temp;for(i=0;i<n;i+)for(j=i+1;j<n;j+)if(stuj.tot>stui.tot) temp=stui;stui=stuj;stuj=temp;printf("按总分排序后:n");printf(&quo
10、t; 学号 姓名 年龄 所在系 语文 数学 英语 总分 平均分n");for(i=0;i<n;i+)printf("第%2d名:",i+1);printf("%d%8s %d%8s ",stui.num,,stui.age,stui.xi);printf("%5.2f %5.2f %5.2f ",stui.chi,stui.mat,stui.eng);printf("%5.2f %5.2fn",stui.tot,stui.ave);menu();/*调用菜单函数*/void sor
11、t2()/*针对不同科目进行排序*/int i,j;struct Student temp=stu0;printf("按科目进行排序:n");for(i=0;i<n;i+)/*按语文从高到低,冒泡排序*/for(j=i+1;j<n;j+)if(stuj.chi>stui.chi) temp=stui;stui=stuj;stuj=temp;printf("n按语文:学号 姓名 语文n");for(i=0;i<n;i+)printf("第%2d名:",i+1);printf("%d%8s %5.2fn&
12、quot;,stui.num,,stui.chi);for(i=0;i<n;i+)/*按数学从高到低,冒泡排序*/for(j=i+1;j<n;j+)if(stuj.mat>stui.mat) temp=stui;stui=stuj;stuj=temp;printf("n按数学:学号 姓名 数学n");for(i=0;i<n;i+)printf("第%2d名:",i+1);printf("%d%8s %5.2fn",stui.num,,stui.mat);for(i=0;i&l
13、t;n;i+)/*按英语从高到低,冒泡排序*/for(j=i+1;j<n;j+)if(stuj.eng>stui.eng) temp=stui;stui=stuj;stuj=temp;printf("n按英语:学号 姓名 英语n");for(i=0;i<n;i+)/*循环n次*/printf("第%2d名:",i+1);printf("%d%8s %5.2fn",stui.num,,stui.eng);menu();/*调用菜单函数*/void aver()/*输出各科平均分*/int i;floa
14、t chi=0,mat=0,eng=0;for(i=0;i<n;i+)/*累加各科成绩*/chi+=stui.chi;mat+=stui.mat;eng+=stui.eng;chi=chi/n;/*求平均分*/mat=mat/n;eng=eng/n;printf("各科平均分为:n语文 数学 英语n");printf("%5.2f %5.2f %5.2fn",chi,mat,eng);printf("n");menu();/*调用菜单函数*/void look()/*多种查询功能*/int i,k,num;char name20
15、,xi20;printf("请选择查询方式:1.按学号;2.按姓名;3.按所在系;4.退出;n");scanf("%d",&k);while(k!=4)switch(k)case 1:printf("请输入学号:");scanf("%d",&num);/*按学号查找*/printf("学号 姓名 年龄 所在系 语文 数学 英语 总分 平均分n");for(i=0;i<n;i+)/*在n个人中,挨个寻找*/if(stui.num=num) printf("%d%8s
16、%d%8s",stui.num,,stui.age,stui.xi);printf("%5.2f %5.2f %5.2f ",stui.chi,stui.mat,stui.eng);printf("%5.2f %5.2fn",stui.tot,stui.ave);printf("n请选择查询方式:1.按学号;2.按姓名;3.按所在系;4.退出;n");break; case 2:printf("请输入姓名:"); scanf("%s",name);/*按姓名查找*/
17、printf("学号 姓名 年龄 所在系 语文 数学 英语 总分 平均分n"); for(i=0;i<n;i+)/*在n个人中,挨个寻找*/if(strcmp(,name)=0) printf("%d%8s%d%8s",stui.num,,stui.age,stui.xi); printf("%5.2f %5.2f %5.2f ",stui.chi,stui.mat,stui.eng); printf("%5.2f %5.2fn",stui.tot,stui.ave); p
18、rintf("n请选择查询方式:1.按学号;2.按姓名;3.按所在系;4.退出;n"); break; case 3:printf("请输入所在系:"); scanf("%s",xi);/*按所在系查找*/ printf("学号 姓名 年龄 所在系 语文 数学 英语 总分 平均分n"); for(i=0;i<n;i+)/*在n个人中,挨个寻找*/if(strcmp(stui.xi,xi)=0)printf("%d%8s%d%8s ",stui.num,,stui.age,
19、stui.xi); printf("%5.2f %5.2f %5.2f ",stui.chi,stui.mat,stui.eng); printf("%5.2f %5.2fn",stui.tot,stui.ave);printf("n请选择查询方式:1.按学号;2.按姓名;3.按所在系;4.退出;n");break;default:printf("enter data error!n");scanf("%d",&k);menu();/*调用菜单函数*/void order()/*增添or
20、der个学生的信息*/int i,order;printf("需要增加几位学生:");scanf("%d",&order);printf(" 学号 姓名 年龄 所在系 语文 数学 英语n");for(i=n;i<(n+order);i+)printf("第%2d个:",i+1);scanf("%d%s%d%s",&stui.num,,&stui.age,stui.xi);scanf("%f%f%f",&stui.chi,
21、&stui.mat,&stui.eng);n+=order;printf("增添成功(如下):n");output();/*调用输出函数,内含菜单函数*/void delet()/*删除k个学生的信息*/int i,j,l,delet,num;printf("要删几个人:");scanf("%d",&delet);/*循环要删的人数*/for(i=0;i<delet;i+)printf("学号:");scanf("%d",&num);for(j=0;j<n;j+)/*在n个人中,挨个寻找*/if(num=stuj.num)for(l=j;l<n;l+)/*找到之后,后面的都往前移一位*/stul=stul+1;n-;printf("删除成功(如下):n");output();/*调用输出函数,内含菜单函数*/void change()/*修改*/int i,num;printf("请输入要修改学生的学号:");scanf("%d",&num);for(i=0;i<n;i+)/*在n个人中,挨个寻找*/if(stui.num
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026罗甸县选聘城市社区工作者8人考试参考题库及答案解析
- 2026武汉市疾病预防控制中心招聘眼视光师1人笔试参考题库及答案解析
- 2026黑龙江省迎春林业局有限公司公开招聘34人考试备考题库及答案解析
- 2026年上思县教师招聘笔试备考题库及答案解析
- 2026年石城县教师招聘笔试模拟试题及答案解析
- 2026年蒲县教师招聘笔试备考题库及答案解析
- 成都市温江区万春镇中心卫生院2026年招聘1名编外人员考试备考试题及答案解析
- 2025年麻精等特殊管理药品考核(医、药、护人员)试题及答案
- 2025年教师资格证考试《幼儿综合素质》真题及答案解析
- 2025年建筑施工安全员资格考试试题与答案
- 起重吊装施工方案
- T/CAAMTB 220-2024电动载货汽车车架性能台架试验方法
- 第6课 数星星的孩子 课件(共35张)
- 2026年特种作业登高考试试题及答案
- (正式版)DB11∕T 2331-2024 《文物建筑室内装饰装修技术规范》
- 2026年辽宁省中考数学试卷(含答案及解析)
- 麻精药品管理制度
- 中旅招聘在线测评2026年
- 【2026】超星尔雅学习通《文艺学名著导读(复旦大学)》章节测试及答案
- 2025年中国压裂泵阀箱市场调查研究报告
- MT/T 521-2025煤矿井下钻探用常规钻杆
评论
0/150
提交评论