C++学生成绩管理系统设计程序.docx
- 文档编号:8597037
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:18.67KB
C++学生成绩管理系统设计程序.docx
《C++学生成绩管理系统设计程序.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统设计程序.docx(19页珍藏版)》请在冰豆网上搜索。
C++学生成绩管理系统设计程序
#include
#include
#include
#include
using namespace std;
class Student//定义一个学生类;
{public:
Student(long n=100000,string na="无",string se="男",int a=18,float m=0,float e=0,float c=0):
num(n),name(na),sex(se),age(a),math(m),english(e),cpp(c){};
long num;
string name;
string sex;
int age;
float math;
float english;
float cpp;
};
//显示所有学生的信息与成绩;
void display()
{
Student stud[80];
int i;
ifstream infile("学生信息.dat",ios:
:
in);//已输入的方式打开文件“学生信息.dat”;
if(!
infile)
{cerr<<"open error!
"< exit (1); } cout< : left);//设置输出格式为左对齐; cout<<"_____________________________________________________________"< cout< for(i=0;i<80;i++) { infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; if(stud[i].num==100000) continue; else { cout< : left); cout< cout< }cout<<"_____________________________________________________________"< infile.close(); } //按学生学号查看单个学生信息; void search_by_num() {Student stud[80]; int i; long n; ifstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } cout<<"请输入学生的学号: "< cin>>n; cout<<"该学生信息如下: "< for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; } for(i=0;i<80;i++) { if(stud[i].num==n) {cout<<" * * * * * * * * * * * * * * "< cout<<" 学号: "< cout<<" 姓名: "< cout<<" 性别: "< cout<<" 年龄: "< cout<<" 数学: "< cout<<" 英语: "< cout<<" C++ : "< cout<<" * * * * * * * * * * * * * * "< } infile.close(); } //按学生姓名查看单个学生的信息 void search_by_name() {Student stud[80]; int i; string name1; ifstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } cout<<"请输入学生的名字: "< cin>>name1; for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; } for(i=0;i<80;i++) { if(stud[i].name==name1) {cout<<" * * * * * * * * * * * * * * "< cout<<" 学号: "< cout<<" 姓名: "< cout<<" 性别: "< cout<<" 年龄: "< cout<<" 数学: "< cout<<" 英语: "< cout<<" C++ : "< cout<<" * * * * * * * * * * * * * * "< } } infile.close(); } //增加学生信息与成绩; void add() {Student studx; ofstream outfile1("增加信息.dat");//建立一个“增加信息.dar”文件; if(! outfile1) {cerr<<"open error! "< exit (1); } cout<<"添加成绩记录: "< cout<<"学号: "; cin>>studx.num; cout<<"姓名: "; cin>>studx.name; cout<<"性别: "; cin>>studx.sex; cout<<"年龄: "; cin>>studx.age; cout<<"数学: "; cin>>studx.math; cout<<"英语: "; cin>>studx.english; cout<<"C++: "; cin>>studx.cpp; //将增加的学生信息先存入“增加文件.dar”中; outfile1<<" "< outfile1.close(); } //将增加的学生信息保存到“学生信息.dat”中; void save_to_information() {Student studx; ifstream infile("增加信息.dat"); if(! infile) {cerr<<"open error! "< exit (1); } ofstream outfile("学生信息.dat",ios: : app);//以文件输出的方式打开”学生信息.dat“并将写入的信息保存到原文件的末尾; if(! outfile) {cerr<<"open error! "< exit (1); } infile>>studx.num>>studx.name>>studx.sex>>studx.age>>studx.math>>studx.english>>studx.cpp; outfile<<" "< infile.close(); outfile.close(); cout<<"增加信息成功! "< //按学生学号修改信息; void change_by_num() {Student stud[80]; int i; long num1; long nu; string se; int ag; float ma; float en; float cp; ifstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } cout<<"请输入你想修改信息的学生学号: "< cin>>num1; for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; } infile.close(); ofstream outfile("学生信息.dat",ios: : out); if(! outfile){cerr<<"open file error! ";exit (1);} cout<<"请输入修改数据: "< cout<<"学号: "; cin>>nu; cout<<"性别: "; cin>>se; cout<<"年龄: "; cin>>ag; cout<<"数学: "; cin>>ma; cout<<"英语: "; cin>>en; cout<<"C++: "; cin>>cp; for(i=0;i<80;i++) {if(stud[i].num==num1&&stud[i].num! =100000) {stud[i].num=nu;stud[i].sex=se;stud[i].age=ag;stud[i].math=ma;stud[i].english=en;stud[i].cpp=cp;}//当输入的数字等于某个学生的学号并且学号不能等于100000时,将输入的信息赋值给该学生; if(stud[i].num! =100000) outfile<<" "< } cout<<"修改成功! "< } //按学生姓名修改学生信息; void change_by_name() {Student stud[80]; int i; string name1; long nu; string na; string se; int ag; float ma; float en; float cp; ifstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } cout<<"请输入学生姓名: "< cin>>name1; for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; } infile.close(); ofstream outfile("学生信息.dat",ios: : out); if(! outfile){cerr<<"open file error! ";exit (1);} cout<<"请输入修改数据: "< cout<<"学号: "; cin>>nu; cout<<"性别: "; cin>>se; cout<<"年龄: "; cin>>ag; cout<<"数学: "; cin>>ma; cout<<"英语: "; cin>>en; cout<<"C++: "; cin>>cp; for(i=0;i<80;i++)//这两条语句的作用同按学号修改数据; {if(stud[i].name==name1&&stud[i].num! =100000){stud[i].num=nu;stud[i].sex=se;stud[i].age=ag;stud[i].math=ma;stud[i].english=en;stud[i].cpp=cp;} if(stud[i].num! =100000) outfile<<" "< }cout<<"修改成功! "< outfile.close(); } //按学号删除学生信息; void del_by_num() {Student stud[80]; int i; long num1; ifstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } cout<<"请输入学生学号: "< cin>>num1; for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; } infile.close(); ofstream outfile("学生信息.dat",ios: : out); if(! outfile){cerr<<"open file error! ";exit (1);} for(i=0;i<80;i++) {if(stud[i].num! =num1&&stud[i].num! =100000)//如果学生学号不等于输入的学号和100000,才保存信息; {outfile<<" "< } } cout<<"删除成功! "< outfile.close(); } //按学生姓名删除学生信息; void del_by_name() {Student stud[80]; int i; string name1; ifstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } cout<<"请输入学生姓名: "< cin>>name1; for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; } infile.close(); ofstream outfile("学生信息.dat",ios: : out); if(! outfile){cerr<<"open file error! ";exit (1);} for(i=0;i<80;i++) {if(stud[i].name! =name1&&stud[i].num! =100000)//作用同按学号删除学生信息; outfile<<" "< } cout<<"删除成功! "< outfile.close(); } //按总分进行排名; void Ranked_by_total_score() {int i,j; Student stud[80]; float total[80]; float temp; long temp_num; string temp_name; string temp_sex; float temp_math; float temp_english; float temp_cpp; fstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit (1); } for(i=0;i<80;i++) {infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].age>>stud[i].math>>stud[i].english>>stud[i].cpp; total[i]=stud[i].math+stud[i].english+stud[i].cpp; } for(j=0;j<80;j++) for(i=0;i<79-j;i++) if(total[i] {temp=total[i];total[i]=total[i+1];total[i+1]=temp; temp_name=stud[i].name; stud[i].name=stud[i+1].name; stud[i+1].name=temp_name; temp_num=stud[i].num; stud[i].num=stud[i+1].num; stud[i+1].num=temp_num; temp_sex=stud[i].sex; stud[i].sex=stud[i+1].sex; stud[i+1].sex=temp_sex; temp_math=stud[i].math; stud[i].math=stud[i+1].math; stud[i+1].math=temp_math; temp_english=stud[i].english; stud[i].english=stud[i+1].english;stud[i+1].english=temp_english; temp_cpp=stud[i].cpp; stud[i].cpp=stud[i+1].cpp;stud[i+1].cpp=temp_cpp; } cout<<"---------------------------------------------------------------"< cout<<"名次 姓名 学号 性别 数学 英语 C++ 总分"< for(i=0;i<80;i++) {if(stud[i].num==100000)break; cout< : left); cout< } cout<<"---------------------------------------------------------------"< infile.close();} //按数学成绩排名; void Ranked_by_math() {Student stud[80]; int i,j; long temp_num; string temp_name; string temp_sex; float temp_math; fstream infile("学生信息.dat",ios: : in); if(! infile) {cerr<<"open error! "< exit(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学生 成绩管理系统 设计 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)