版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<string.h>#include<stdlib.h>#define N 100int iNumOfStu=0;struct score float math; float english; float computer; ;struct student int number; char name20; struct score sco; float average; ;struct student stuN;void print_menu(void);/输出菜单void choosemenu(void);
2、/菜单选择void input_student1(int);/输入学生信息void input_student2(void);/输入总函数void input_student3(int &,int);/判断学号是否重复void input_student4(int,int);/覆盖原信息void sort_student3(student s,int);/按照英语成绩排序void sort_student4(student s,int);/按照计算机成绩排序void sort_student2(student s,int);/按照数学成绩排序void sort_student5(stu
3、dent s,int);/按照平均成绩排序float input_score2(int);/计算学生平均成绩void print_student2(void);/显示表头void print_student3(int);/显示学生信息void print_student1(int);/显示全部学生资料void sort_student1(void);/排序总函数void menu(void);/菜单调度总函数int search_student2(int);/按学号查询学生信息并输出void search_student3(int);/按平均分最高查询并输出void search_studen
4、t1(void);/查询总函数void delete_student2(int,int);/删除学生信息void delete_student1(void);/删除总函数void change_student2(int);/修改学生资料void change_student1(void);/修改总函数void input_score3(int);/统计成绩void input_score1(void);/统计成绩总函数void print_help(void);/输出帮助信息void exit_student(void);/退出系统void save_student(student *,int
5、);/保存学生信息void main() menu(); void save_student(student *s,int a)/保存学生信息 FILE *fp; if(fp=fopen("d:学生信息.txt","wb")=NULL) printf("不能打开文件!n"); else printf("保存信息到D盘n"); fprintf(fp,"本班所有学生具体信息如下:rn"); fprintf(fp," 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩rn");
6、for(int i=0;i<a;i+) fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2fn",stui.number,,stui.sco.math,stui.sco.english,stuiputer,stui.average); fprintf(fp,"rn"); fclose(fp); printf("信息保存成功!n"); void exit_student(void)/退出系统 exit(1); void print_help(void)/输出帮助信息 printf
7、("本系统所能容纳的最大学生数为%d人n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。n感谢使用!n",N); void input_score1(void)/统计成绩总函数 int c; c=search_student2(iNumOfStu); printf("学号:%dn",stuc.number); printf("姓名:%sn",); input_score3(c); printf("新成绩录入成功!n"); stuc.average=input_score2(c); vo
8、id input_score3(int a)/统计成绩 printf("数学新成绩:"); scanf("%f",&stua.sco.math); printf("英语新成绩:"); scanf("%f",&stua.sco.english); printf("计算机新成绩:"); scanf("%f",&stuaputer); void change_student2(int a)/修改学生资料 printf("学号:%d-修改为:&quo
9、t;,stua.number); scanf("%d",&stua.number); getchar(); printf("姓名:%s-修改为:",); gets(); printf("数学成绩:%.2f-修改为:",stua.sco.math); scanf("%f",&stua.sco.math); printf("英语成绩:%.2f-修改为:",stua.sco.english); scanf("%f",&st
10、ua.sco.english); printf("计算机成绩:%.2f-修改为:",stuaputer); scanf("%f",&stuaputer); void change_student1(void)/修改总函数 int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此学生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d='y'|d='Y') change
11、_student2(c); stuc.average=input_score2(c); printf("信息修改成功!n"); void delete_student1(void)/删除总函数 int c; c=search_student2(iNumOfStu); getchar(); printf("是否删除此条记录?(“y”代表是)"); char d; scanf("%c",&d); if(d='y'|d='Y') delete_student2(c,iNumOfStu); printf
12、("记录已删除!n"); void delete_student2(int a,int b)/删除学生信息 for(int i=a;i<b-1;i+) stui=stui+1; -iNumOfStu; void search_student1(void)/查询总函数 printf("1、按学号查询n2、按平均分最高查询n请选择:"); int c; scanf("%d",&c); switch(c) case 1: search_student2(iNumOfStu); break; case 2: search_stu
13、dent3(iNumOfStu); break; default: break; void menu(void)/菜单调度总函数 print_menu(); choosemenu(); void sort_student1(void)/排序总函数 printf("1、按数学成绩排序n2、按英语成绩排序n3、按计算机成绩排序n4、按平均成绩排序n请选择:"); int c; scanf("%d",&c); switch(c) case 1: sort_student2(stu,iNumOfStu); break; case 2: sort_stud
14、ent3(stu,iNumOfStu); break; case 3: sort_student4(stu,iNumOfStu); break; case 4: sort_student5(stu,iNumOfStu); break; default: break; void print_student1(int a)/显示全部学生资料 printf("本班所有学生具体信息如下n"); print_student2(); for(int i=0;i<a;i+) print_student3(i); void print_student3(int a)/显示学生信息 p
15、rintf("%8d%12s%14.2f%14.2f%14.2f%14.2fn",stua.number,,stua.sco.math,stua.sco.english,stuaputer,stua.average); void print_student2(void)/显示表头 printf(" 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩n"); void input_student4(int a,int b)/覆盖原信息 stua=stub-1; -iNumOfStu; void input_student3(int &a
16、mp;a,int b)/判断学号是否重复 if(a!=0) int i=0; do if(stua.number=stui.number) printf("此学号代表的学生已录入n1、覆盖原信息n2、重新输入n请选择:"); int c; scanf("%d",&c); switch(c) case 1: input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替换!n"); break; case 2: printf("请重新输入学生信息:n"); i
17、nput_student1(iNumOfStu-1); break; default: break; break; +i; while(i<b-1); void print_menu(void)/输出菜单 printf("=欢迎来到学生信息管理系统=n"); printf(" 1、输入学生资料n"); printf(" 2、删除学生资料n"); printf(" 3、查询学生资料n"); printf(" 4、修改学生资料n"); printf(" 5、显示学生资料n"
18、); printf(" 6、统计学生成绩n"); printf(" 7、排序学生成绩n"); printf(" 8、保存学生资料n"); printf(" 9、获取帮助信息n"); printf(" 10、退出系统n"); printf("=n"); printf("请选择:"); void input_student2(void)/输入总函数 char end; printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):n
19、"); for(int i=0;(end=getchar()!='/'i+) input_student1(i); +iNumOfStu; input_student3(i,iNumOfStu); for(int j=0;j<iNumOfStu;j+) stuj.average=input_score2(j); void input_student1(int a)/输入学生信息 printf("学号:"); scanf("%d",&stua.number); getchar(); printf("姓名:&
20、quot;); gets(); printf("数学成绩:"); scanf("%f",&stua.sco.math); printf("英语成绩:"); scanf("%f",&stua.sco.english); printf("计算机成绩:"); scanf("%f",&stuaputer); float input_score2(int a)/计算学生平均成绩 return (stua.sco.math+stua.sco.en
21、glish+stuaputer)/3; void search_student3(int a)/按平均分最高查询并输出 int max=0; for(int i=0;i<a;i+) if(stumax.average<stui.average) max=i; print_student2(); print_student3(max); void sort_student2(student s,int a)/按照数学成绩排序 struct student temp; for(int i=0;i<a-1;i+) int max=i; for(int j=i+1;j<a;j+
22、) if(stuj.sco.math>stumax.sco.math) max=j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2(); for(int k=0;k<a;k+) print_student3(k); void sort_student3(student s,int a)/按照英语成绩排序 struct student temp; for(int i=0;i<a-1;i+) int max=i; for(int j=i+1;j<a;j+) if(stuj.sco.english
23、>stumax.sco.english) max=j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2(); for(int k=0;k<a;k+) print_student3(k); void sort_student4(student s,int a)/按照计算机成绩排序 struct student temp; for(int i=0;i<a-1;i+) int max=i; for(int j=i+1;j<a;j+) if(stujputer>stumaxputer) max=
24、j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2(); for(int k=0;k<a;k+) print_student3(k); void sort_student5(student s,int a)/按照平均成绩排序 struct student temp; for(int i=0;i<a-1;i+) int max=i; for(int j=i+1;j<a;j+) if(stuj.average>stumax.average) max=j; if(max!=i) temp=stum
25、ax; stumax=stui; stui=temp; print_student2(); for(int k=0;k<a;k+) print_student3(k); int search_student2(int a)/按照学号查找学生并输出 int num; int c; printf("请输入要查询的学号:"); scanf("%d",&num); for(int i=0;i<a;i+) if(num=stui.number) c=i; printf("此学生的信息是:n"); print_student2(); print_student3(c); return c; void choosemenu(void)/菜单选择 int i; scanf("%d",&i); switch(i) case 1: input_student2(); printf("按回车键返回主菜单"); getchar(); getchar(); menu()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第20课 三国两晋南北朝时期的科技与文化(教案)-2024-2025学年七年级历史上册素养提升教案(统编版2024)
- 人教版物理 选修1-1 4.4 信息化社会 教案
- 19《大象的耳朵》教学设计(公开课教案)
- 水能溶解多少物质(教案)-2024-2025学年教科版(2017)科学三年级上册
- 篮球行进间胸前双手传接球技术 教学设计-2023-2024学年高一上学期体育与健康人教版必修第一册
- 西师大版音乐五年级下册1一杯美酒(教案)
- 人音版八年级音乐上册(简谱)第四单元《☆我的祖国》教学设计
- 2020-2021学年新教材高中历史第10单元改革开放与社会主义现代化建设教案
- 滚翻:连续两次前滚翻(教案) 体育二年级下册
- 高中美术《传统艺术的根脉- 青铜器》教案
- 欧冶采购电子商务平台
- 监狱部门协同办公系统设计与开发
- 二年级上英语单词(北京版)
- 冰雪奇缘图文梗概英文版
- 当前我国新闻教育存在的问题及对策
- (完整版)《金属与石材幕墙工程技术规范》JGJ1332001最新(精华版)
- 浅谈如何培养少先队员的责任心
- 安装调试记录表.doc
- 一次性使用穿刺器(完整版)
- 授信额度证明
- 北师大版七年级上册数学4.1线段、射线、直线说课稿
评论
0/150
提交评论