




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+谆生成绩管理系统源代码作者:日期:12#include<iostream.h>.#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>class Person public:char name8;;class student:public Person 构建学生类public:friend void Manage(student stud);friend void Input(student stud口);friend void Statis
2、tic(student stud);friend void Lookup(student stud口);friend void Modify(student stud口);friend void Output(student stud);friend void Insert(student stud);friend void Write(student stud口,int n);friend int Read(student stud);private:int num;char name8;char class_020;float c_program;float english;float m
3、ath;float average;int order;stud100;class Manage:public student;void Write(student stud,int n)向文件中写入数据fstream myFile;myFile.open("score.txt",ios:out|ios:binary);if(!myFile)cout<<"score.txt can't open!"<<endl; abort();int count=n;myFile<<count<<endl<
4、<endl;for(int i=0;i<=count;i+)myFile<<studi.class_0<<" "<<studi.num<<" "<<<<" "<<studi.c_program<< "<<studi.english<<" "<<studi.math<<" "<<studi.averag
5、e<<endl; myFile.close(); int Read(student stud)从文件中读数据fstream myFile;myFile.open("score.txt",ios:in|ios:binary); if(!myFile) cout<<"score.txt can't open!"<<endl; abort();int count;myFile.seekg(O);myFile>>count;for(int i=0;i<=count;i+) myFile>>
6、studi.class_0>>studi.num>>>>studi.c_program>>studi.english>>stu di.math >>studi.average;myFile.close();return count ;void Input(student stud) /输入学生成绩system("cls"); /* 运行前清屏 */int i=0;int flag;char sign;cout<<endl<<">>>
7、>>>>> 请输入学生成绩<<<<<<<<n"<<endl;while(sign!='n'&&sign!='N') /* 判断*/cout<<"班级:"/*交互输入*/cin>>studi.class_0;loop:cout<<"学号:"; cin>>studi.num; int c=0;while(c<i)C+;if(studi.num=studi-c.
8、num)cout<<"你输入的学号已经存在!请重新输入!"<<endl;goto loop;cout<<"姓名:";cin>>;doflag=0;cout<<"C+ 成绩:";cin>>studi.c_program;if(studi.c_program>100 |studi.c_program<1)cout<<"请输入1-100之间的数字!n"elseflag=1;while(flag=0);dof
9、lag=0;cout<<"英语成绩:";cin>>studi.english;if(studi.english>100 |studi.english<1)cout<<"请输入1-100之间的数字!n"elseflag=1;while(flag=0);doflag=0;cout<<"数学成绩:"cin>>studi.math;if(studi.math>100 |studi.math<1)cout<<"请输入1-100之间的数字!n
10、"elseflag=1;while(flag=0);studi.average=(studi.c_program+studi.english+studi.math)/3;cout<<"平均分:"<<studi.average<<endl;cout<<"继续录入学生成绩?(y/n)"cin>>sign; /* 输入判断 */i+;Write(stud,i);)void Statistic(student stud) /统计学生数据(system("cls"); /*
11、运行前清屏 */ int n=Read(stud);cout<<endl<<">>>>>>>> 显示学生成绩 <<<<<<<<n"<<endl;cout<<"班级"<<"t"<<"学号"<<"t"<<"姓名"<<"t"<<"平均分&q
12、uot;<<endl;for(int i=0;i<n;i+) cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t "<<studi.average<<endl;system("pause");)void Lookup(student stud) / 查找学生成绩int p;cout<<"请选择1.按学号查找2.按姓名查找
13、"<<endl;cin>>p;if(p=1)system("cls"); /* 运行前清屏 */ int n=Read(stud);int s;int i=0;cout<<endl<<">>>>>>>> 查找学生成绩 <<<<<<<<n"<<endl; cout<<"请输入查找学生的学号 :"<<endl;cin>>s;while(st
14、udi.num-s)!=0&&i<n) i+; /* 查找判断 */ if(i=n) cout<<"没有该学生的信息!"<<endl; /*输入失败信息*/) else cout<<""<<endl;cout<<"班级:"<<studi.class_0<<endl;/* 输出该学生信息 */ cout<<"学号:"<<studi.num<<endl;cout<<&
15、quot;姓名:"<<<<endl; cout<<"C+:"<<studi.c_program<<endl; cout<<"英语:"<<studi.english<<endl; cout<<"数学:"<<studi.math<<endl;cout<<"平均分:"<<studi.average<<endl;) ) if(p
16、=2) system("cls"); /* 运行前清屏 */int m=Read(stud);char t;int i=0;cout<<endl<<">>>>>>>>查找学生成绩<<<<<<<<n"<<endl;cout<<"请输入查找学生的姓名:"<<endl;cin>>t;while(strcmp(-t,)=0&&am
17、p;i<m) i+; /* 查找判断 */cout<<""<<endl;cout<<"班级:"<<studi.class_0<<endl;/* 输出该学生信息 */cout<<"学号:"<<studi.num<<endl;cout<<"姓名:"<<<<endl;cout<<"C+:"<<studi.c_program
18、<<endl;cout<<"英语:"<<studi.english<<endl;cout<<"数学:"<<studi.math<<endl;cout<<"平均分:"<<studi.average<<endl;void Modify(student stud) /修改学生成绩system("cls"); /* 运行前清屏 */ int n=Read(stud); int s,a; float q;
19、int i=0;cout<<endl<<">>>>>>>>修改学生成绩<<<<<<<<n"<<endl;cout<<"输入修改成绩学生的学号:"<<endl;cin>>s;while(studi.num-s)!=0&&i<n) i+; /*查找判断 */if(i=n) cout<<"没有该学生的成绩!"<<endl;/*输入
20、失败信息*/else cout<<"该学生白信息n"<<endl; /*格式头*/cout<<"班级"<<"t"<<"学号 "<<"t"<<"姓名"<<"t"<<"c+"<<"t"<<" 英语"<<"t"<<"数学
21、"<<"t"<<"平均分"<<endl;cout<<""<<endl;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<<"t"<<studi.english<<&quo
22、t;t"<<studi.math<<"t"<<studi.average<<endl;cout<<""<<endl;cout<<"请输入要修改的课程号"<<endl;cout<<"1.c 语言 2.英语 3.数学"<<endl;cin>>a;cout<<"重新输入分数"<<endl;cin>>q;if(a=1) stud
23、i.c_program=q;if(a=2)studi.english=q;if(a=3)studi.math=q;studi.average=(studi.c_program+studi.english+studi.math)/3;cout<<"该学生白信息n"<<endl; /*格式头*/cout<<"班级"<<"t"<<"学号 "<<"t"<<"姓名"<<"t&quo
24、t;<<"c+"<<"t"<<" 英语 "<<"t"<<"数学"<<"t"<<"平均分"<<endl;cout<<""<<endl;cout<<studi.class_0<<"t"<<studi.num<<"t"<<st
25、<<"t"<<studi.c_program<< "t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<endl;char c;cout<<"是否保存数据?(y/n)"<<endl;cin>>c;if(c!='n'&&c!='N')
26、Write(stud,n);void Insert(student stud) /-增加学生成绩system("cls"); /* 运行前清屏 */int n=Read(stud);char s;cout<<endl<<"* 插入学生成绩 *n"<<endl;while(s!='n'&&s!='N')cout<<"班级:"<<endl; /* 交互输入 */cin>>studn.class_0;cout<<
27、;"学号:";cin>>studn.num;cout<<"姓名:";cin>>;cout<<"C+ 成绩:";cin>>studn.c_program;cout<<"英语成绩:"cin>>studn.english;cout<<"数学成绩:"cin>>studn.math;studn.average=(studn.c_program+studn.english+ stu
28、dn.math)/3;cout<<"平均分"<<studn.average;n+;cout<<"插入成功! "<<endl;/*返回成功信息*/cout<<"是否继续输入(y/n)"<<endl;cin>>s; Write(stud,n); void Manage(student stud口) 按平均分对学生成绩记录项进行降序排序system("cls"); /* 运行前清屏 */int i,j,k; float s; char t
29、20;cout<<endl<<"*排列管理成绩*n"<<endl;int n=Read(stud);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.num;studj+1.num=studj.num;studj.n
30、um=k;strcpy(t,studj+1.name);strcpy(studj+1.name,);strcpy(,t);s=studj+1.c_program;studj+1.c_program=studj.c_program;studj.c_program=s;s=studj+1.english;studj+1.english=studj.english;studj.english=s;s=studj+1.math;studj+1.math=studj.math;s=studj+1.average;studj+1.average=studj.aver
31、age;studj.average=s;)cout<<""<<endl; /* 格式头 */cout<<"班级"<<"t"<<"学号"<<"t"<<"姓名"<<"t"<<"C+”<<"t"<<" 英语"<<"t"<<"数学&
32、quot;<<"t"<<"平均分"<<"t"<<"名次"<<endl;for(i=0;i<n;i+) /* 循环输入 */(studi.order=i+1;cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<
33、;<'t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<"t"<<studi.order<<endl;)Write(stud,n);)void Output(student stud) / 显示全部学生成绩(system("cls"); /* 运行前清屏 */int n=Read(stud);cout<<"I*显示
34、班级学生成绩*n"<<endl;if(!stud)cout<<"没有记录"else cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<<"t "<<studi.english<<"t " <<studi.math&
35、lt;<"t"<<studi.average<<endl;(cout<<"cout<<"班级"<<"t"<<"学号"<<"t"<<"t"<<"数学"<<"t"<<"平均分"<<endl;for(int i=0;i<n;i+) /* 循环输入 */(&qu
36、ot;<<endl; /*格式头 */"<<"姓名"<<"t"<<"c+"<<"t"<<"英语)cout<<""<<endl;)int menu() /* 菜单函数 */(char c;dosystem("cls"); /* 运行前清屏 */cout<<"*n"<<endl;cout<<"欢迎使用学生成绩管理系统 n"<<endl;cout<<" $"<<endl;cout<<" *【1】输入学生成绩"<<endl;cout<<"*显示学生成绩*"<<end
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年重油催化裂化催化剂项目发展计划
- 2025年度企业并购重组咨询顾问服务协议-@-1
- 2025年钴粉系列项目发展计划
- 家长参与小班教育的倡导计划
- 实施有效反馈的工作方法计划
- 文化演出活动的安保工作总结计划
- 2025年高纯四氧化三锰项目发展计划
- 七年级下册《相交线》课件与练习
- 汽车尾气净化催化转化器安装要求
- 2025年激光测距仪、测向仪项目合作计划书
- 2025春季开学前学校安全隐患排查工作实施方案:5大安全排查一个都不能少
- (完整版)高考英语词汇3500词(精校版)
- 2024年联勤保障部队第九四〇医院社会招聘笔试真题
- 正负零以下基础施工方案(44页)
- 简爱人物形象分析(课堂PPT)
- 义务教育《劳动》课程标准(2022年版)
- 2018年黑龙江统招专升本公共英语真题
- (完整版)小学生必背古诗300首带拼音版本
- 大学物理光学答案
- 老挝10大经济特区
- 通用标准快装接头尺寸表
评论
0/150
提交评论