版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、经调试可用!/* 需要建立控制台应用程序进行调试 */ #include<iostream.h> /* 引用库函数 */ #include<stdlib.h> #include<ctype.h>#include<stdio.h> #include<string.h> typedef struct char class_020; /* 班级 */ int number; /* 学号 */ char name20; /* 姓名 */ float electrics; /* 电子技术成绩 */ float c_program; /*C 语言
2、成绩 */ float multimedia; /* 多媒体技术成绩 */ float english; /* 大学英语成绩 */ float math; /* 高等数学成绩 */ float sport; /* 体育成绩 */ float polity; /* 马克思主义政治经济学 */ float summary; /* 总分 */ float average; /* 平均分 */Student;Student stu100; /* 结构体数组变量 */ int menu() /* 菜单函数 */ char c;dosystem("cls"); /* 运行前清屏 */c
3、out<<"学生成绩理系统*"<<endl;/*菜单选择 */cout<<" 【1 】输入数据 "<<endl; cout<<" 【2 】显示所有数据 "<<endl;cout<<" 【3 】按平均分降序排列 "<<endl; cout<<" 【4 】查找并显示一组数据 "<<endl;cout<<" 【5 】插入一组数据 "<<en
4、dl; cout<<" 【6 】修改一组数据 "<<endl;cout<<" 【7 】删除一组数据 "<<endl; cout<<" 【8 】从文件中读入数据 "<<endl;cout<<" 【9 】将所有记录写入文件 "<<endl; cout<<" 【0 】退出本系统 n"<<endl;cout<<"作者:董相志*"<<endl;
5、cout<<" 请你选择操作 (0-9):"<<endl; c=getchar(); /* 读入选择 */while(c<'0'|c>'9');return(c-'0'); /* 返回选择 */ int Input(Student stud,int n) /* 输入若干条记录 */ int i=0;char sign,x10; /*x10 为清除多余的数据所用 */ while(sign!='n'&&sign!='N') /* 判断 */cou
6、t<<"请输入学生的班别:"/*交互输入*/ cin>>studn+i.class_0;cout<<" 请输入学生的学号 :"cin>>studn+i.number;cout<<" 请输入学生的姓名 :"cin>>studn+;cout<<" 请输入该学生电子技术的成绩 :" cin>>studn+i.electrics;cout<<"请输入该学生C程序设计的成绩:" cin&
7、gt;>studn+i.c_program;cout<<" 请输入该学生多媒体技术的成绩 :" cin>>studn+i.multimedia;cout<<" 请输入该学生大学英语的成绩 :" cin>>studn+i.english;cout<<" 请输入该学生高等数学的成绩:"cin>>studn+i.math;cout<<" 请输入该学生大学体育的成绩:"cin>>studn+i.sport;cout<
8、<" 请输入该学生马克思主义政治经济学的成绩 cin>>studn+i.polity;studn+i.summary=studn+i.electrics+studn+i.c_program+studn+i.multimedia+studn+i.engl ish+studn+i.math+studn+i.sport+studn+i.polity;studn+i.average=studn+i.summary/7;cout<<" 该学生的总分为: "<<studn+i.summary<<" 平均分为: &
9、quot;<<studn+i.average<<endl; gets(x); /* 清除多余的输入 */cout<<"=> 提示:继续写入成绩 ?(Y/N)"cin>>sign; /* 输入判断 */i+;return(n+i);void Display(Student stud,int n) /* 显示所有记录 */int i;if(!stud)cout<<" 没有记录 "elsecout<<""<<endl; /* 格式头 */cout<
10、;<" 班别 学号 姓名 电子 C 多媒体 英语 数学 体育 政治 总分 平均分 "<<endl;cout<<""<<endl;for(i=1;i<n+1;i+) /* 循环输入 */ studi-1.summary=studi-1.electrics+studi-1.c_program+studi-1.multimedia+studi-1.english +studi-1.math+studi-1.sport+studi-1.polity;studi-1.average=studi-1.summary/7
11、;cout<<studi-1.class_0<<""<<studi-1.electrics<<""<<studi-1.english<<"studi-1.math<<""<<studi-1.summary<<"cout<<"ttt"<<endl; system("pause");"<<studi-1.number<&l
12、t;""<<studi-1.c_program<<""<<"<<studi-1.sport<<""<<studi-1.average<<endl;"<<<<""<<studi-1.multimedia<<""<<studi-1.polity<<"void Sort(Student stud
13、,int n) /* 按平均分排序 */ int i,j,k;float s;char t20;for(i=0;i<n-1;i+) /* 冒泡法排序 */ for(j=0;j<n-1-i;j+) if(studj.average<studj+1.average) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t);k=studj+1.number;studj+1.number=studj.number;studj.number=k;strcpy(t,
14、studj+1.name);strcpy(studj+1.name,);strcpy(,t);s=studj+1.electrics;studj+1.electrics=studj.electrics;studj.electrics=s;s=studj+1.c_program;studj+1.c_program=studj.c_program;studj.c_program=s;s=studj+1.multimedia; studj+1.multimedia=studj.multimedia; studj.multimedia=s;s=studj+1.e
15、nglish;studj+1.english=studj.english;studj.english=s;s=studj+1.math;studj+1.math=studj.math;studj.math=s;s=studj+1.sport;studj+1.sport=studj.sport;studj.sport=s;s=studj+1.polity;studj+1.polity=studj.polity;studj.polity=s;s=studj+1.summary;studj+1.summary=studj.summary;studj.summary=s;s=studj+1.avera
16、ge;studj+1.average=studj.average;studj.average=s;总分cout<<""<<endl; /* 格式头 */cout<<" 班别 学号 姓名 电子 C 多媒体 英语 数学 体育 政治 平均分 "<<endl;cout<<""<<endl;for(i=1;i<n+1;i+) /* 循环输入 */studi-1.summary=studi-1.electrics+studi-1.c_program+studi-1.mu
17、ltimedia+studi-1.english +studi-1.math+studi-1.sport+studi-1.polity; studi-1.average=studi-1.summary/7;cout<<studi-1.class_0<<studi-1.number<<<<studi-1.electrics<<studi-1.c_pro gram<<studi-1.multimedia<<studi-1.english<<studi-1.math<<
18、studi-1.sport<<studi-1.polity<<studi-1.summary<<studi-1.average<<endl; int Insert(Student stud,int n) /* 插入一条记录 */char x10; /* 清除多余输入所用 */cout<<" 请输入学生的班别 :"<<endl; /* 交互输入 */cin>>studn.class_0;cout<<" 请输入学生的学号 :"cin>>studn.nu
19、mber;cout<<" 请输入学生的姓名 :"cin>>;cout<<" 请输入该学生电子技术的成绩 :"cin>>studn.electrics;cout<<" 请输入该学生 C 程序设计的成绩 :" cin>>studn.c_program;cout<<" 请输入该学生多媒体技术的成绩 :"cin>>studn.multimedia;cout<<" 请输入该学生大学英语的成
20、绩 :"cin>>studn.english;cout<<" 请输入该学生高等数学的成绩 :"cin>>studn.math;cout<<" 请输入该学生大学体育的成绩 :"cin>>studn.sport;cout<<" 请输入该学生马克思主义政治经济学的成绩 :"cin>>studn.polity; studn.summary=studn.electrics+studn.c_program+studn.multimedia+studn.e
21、nglish+ studn.math+studn.sport+studn.polity;studn.average=studn.summary/7;gets(x);n+;Sort(stu,n); /* 调用排序函数 */ cout<<"=> 提示:插入成功! "<<endl; /* 返回成功信息 */ return(n);int Delete(Student stud,int n) /* 按学号查找,删除一条记录 */int s;int i=0,j;cout<<" 输入需要删除学生的学号 :"<<en
22、dl; /* 交互式问寻 */ cin>>s;while(studi.number-s)!=0&&i<n) i+; /* 查找判断 */ if(i=n)cout<<"=>提示:对不起,无法找到改学号"<<endl; /*返回失败信息*/return(n);for(j=i;j<n-1;j+) /* 删除操作 */ strcpy(studj.class_0,studj+1.class_0);studj.number=studj+1.number; strcpy(,studj+1.name)
23、;studj.electrics=studj+1.electrics; studj.c_program=studj+1.c_program;studj.multimedia=studj+1.multimedia; studj.english=studj+1.english;studj.math=studj+1.math;studj.sport=studj+1.sport; studj.polity=studj+1.polity;cout<<"=>提示:已成功删除!"<<endl; /*返回成功信息*/return(n-1);void Searc
24、h(Student stud,int n) /* 查找并显示一个记录 */int s;int i=0;cout<<" 输入需要查找学生的学号 :"<<endl; cin>>s;while(studi.number-s)!=0&&i<n) i+; /* 查找判断 */ if(i=n)cout<<"=>提示:对不起,无法找到该学生的信息!"<<endl; /*输入失败信息*/return;cout<<""<<endl;cout&
25、lt;<" 班别 :"<<studi.class_0<<endl; /* 输出该学生信息 */cout<<" 学号 :"<<studi.number<<endl;cout<<" 姓名 :"<<<<endl;cout<<" 电子技术 :"<<studi.electrics<<endl;cout<<"C 程序设计 :"<<
26、;studi.c_program<<endl;cout<<" 多媒体技术 :"<<studi.multimedia<<endl;cout<<" 大学英语 :"<<studi.english<<endl;cout<<" 高等数学 :"<<studi.math<<endl;cout<<" 大学体育 :"<<studi.sport<<endl;cout<<
27、" 马克思主义政治经济学 :"<<studi.polity<<endl;cout<<" 总分 :"<<studi.summary<<endl;cout<<" 平均分 :"<<studi.average<<endl;void Modify(Student stud,int n)int s;int i=0;cout<<" 输入需要修改成绩学生的学号 :"<<endl;cin>>s;whil
28、e(studi.number-s)!=0&&i<n) i+; /* 查找判断 */if(i=n)cout<<"=>提示:对不起,无该学生的成绩"<<endl; /*输入失败信息*/return;cout<<" 该学生的信息 "<<endl; /* 格式头 */cout<<" 班别 学号 姓名 电子 C 多媒体 英语 数学 体育 政治 总分 平均分 "<<endl;cout<<""<<endl;
29、studi.summary=studi.electrics+studi.c_program+studi.multimedia+studi.english+ studi.math+studi.sport+studi.polity;studi.average=studi.summary/7;cout<<studi-1.class_0<<studi-1.number<<<<studi-1.electrics<<studi-1.c_pro gram<<studi-1.multimedia<<st
30、udi-1.english<<studi-1.math<<studi-1.sport<<studi-1.polity<<studi-1.summary<<studi-1.average<<endl;cout<<" 请输入学生的班别 :"<<endl; /* 交互输入 */cin>>studn+i.class_0; cout<<" 请输入学生的学号 :"<<endl;cin>>studn+i.number;cout
31、<<" 请输入学生的姓名 :"<<endl; cin>>studn+;cout<<" 请输入该学生电子技术的成绩 :"<<endl; cin>>studn+i.electrics;cout<<" 请输入该学生 C 程序设计的成绩 :"<<endl; cin>>studn+i.c_program;cout<<" 请输入该学生多媒体技术的成绩 :"<<endl; cin>
32、>studn+i.multimedia;cout<<" 请输入该学生大学英语的成绩 :"<<endl; cin>>studn+i.english;cout<<" 请输入该学生高等数学的成绩 :"<<endl; cin>>studn+i.math;cout<<" 请输入该学生大学体育的成绩 :"<<endl; cin>>studn+i.sport;cout<<" 请输入该学生马克思主义政治经济学的成绩
33、:"<<endl; cin>>studn+i.polity;studi.summary=studi.electrics+studi.c_program+studi.multimedia+studi.english+studi.m ath+studi.sport+studi.polity;studi.average=studi.summary/7;cout<<" 该学生的总分为 :"<<studi.summary<<" 平均分为: "<<studi.average;int R
34、ead(Student stud,int n) /* 从文件中读入数据 */int i=0,num;FILE *fp; /* 定义文件指针 */ char filename20; /* 定义文件名 */ cout<<" 输入文件名 :"<<endl; cin>>filename; /* 输入文件名 */ if(fp=fopen(filename,"rb")=NULL) /* 打开文件 */ cout<<"=>提示:无法打开这个文件! "<<endl; /*打开失败信息*
35、/ cout<<"ttt"system("pause");return(n); fscanf(fp,"%d",&num); /* 读入总记录量 */ while(i<num) /* 循环读入数据 */fscanf(fp,"%s%d%s%f%f%f%f%f%f%f%f%f",studn+i.class_0,&studn+i.number,studn+,&studn+i.electrics,&studn+i.c_program,&studn+i.mu
36、ltimedia,&studn+i.english,&studn+i.math,&studn+i.sport,&studn+i.polity,&studn+i.summary,&studn+i.average);i+;n+=num;fclose(fp); /* 关闭文件 */cout<<"=> 提示:读入数据成功,可选择【显示所有成绩】查看"<<endl;cout<<"ttt"system("pause");return(n);void Save
37、(Student stud,int n) /* 将所有记录写入文件 */int i=0;FILE *fp; /* 定义文件指针 */char filename20; /* 定义文件名 */cout<<"输入文件名:";/*输入文件名*/cin>>filename;if(fp=fopen(filename,"w")=NULL) /* 打开文件 */cout<<"=> 提示:无法打开这个文件!"<<endl;system("pause");return;fprint
38、f(fp,"%dn",n); /* 循环写入数据 */while(i<n)fprintf(fp,"%-8s%-8d%-6s%-6.1f%-7.1f%-7.1f%-6.1f%-6.1f%-6.1f%-7.1f%-8.1f%-6.2n",studi.class_0,studi.number,,studi.electrics,studi.c_program,studi.multimedia,studi.eng lish,studi.math,studi.sport,studi.polity,studi.summary,studi.av
39、erage);i+;fclose(fp); /* 关闭文件 */cout<<"=>提示:已成功写入数据!"<<endl; /*返回成功信息*/void main() /* 主函数 */int n=0;for(;)switch(menu() /* 选择判断 */case 1: cout<<endl<<"=>> n=Input(stu,n); break; case 2: cout<<endl<<"=>> Display(stu,n); break; case 3: cout<<endl<<"=>>输入成绩 <<="<<endl; /* 输入若干条记录显示所有记录*/<<="<<endl; /* 显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省河长制工作制度
- 燃气安全演练工作制度
- 济南市改厕工作制度
- 深圳市单休工作制度
- 事件复盘工作制度
- 军人病房工作制度
- 精准扶贫管理工作制度
- 民企服务队工作制度
- 关爱老人工作制度
- 社区健康小区工作制度
- 干部审计知识培训课件
- 2025年商标代理人业务水平考试题库附答案
- 【《某煤矿深部煤巷二次支护设计分析》14000字(论文)】
- 2025年中级消防设施操作员理论知识考试真题(后附专业答案和解析)
- 学前教育原理(第2版) 课件 第一章 学前教育导论
- 新生儿电解质紊乱与护理
- 保安公司现场安保信息管理制度
- 生物分离工程教学课件
- (高清版)DG∕TJ 08-2312-2019 城市工程测量标准
- 人工智能项目产业投资基金设立流程
- GB/T 3405-2025石油苯
评论
0/150
提交评论