学生信息管理系统C++代码.docx
- 文档编号:20152857
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:18
- 大小:732.01KB
学生信息管理系统C++代码.docx
《学生信息管理系统C++代码.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C++代码.docx(18页珍藏版)》请在冰豆网上搜索。
学生信息管理系统C++代码
1.程序执行后的部分效果
1。
1项目主菜单效果图
1。
2初始化信息,第一次对信息的录入
1.3添加学生信息
1。
4删除某学生信息
1.5修改某学生信息
1。
6查询某学生信息
1.7显示全部学生信息
源代码:
/*把StudentData。
cpp(源代码)和student。
txt(数据存放处)放在同一个文件夹下*/
#include〈iostream〉
#include
#include〈fstream〉
#include #include〈iomanip> usingnamespacestd; //最多提供50个学生的数据,可根据需要进行更改 constintMAX=50; intcount=0;//用来统计学生人数 classStudent { public: voidSet();//初始化信息,第一次对信息的录入 voidAdd();//添加学生信息 //从磁盘读取数据以便进行数据的操作,方便再重写进磁盘 friendvoidRead(stringno[],stringname[],stringsex[],stringspecial[],stringclas[]); intJudge(stringnum);//判断num是否在学生信息数据库中(注意它有一个参数,并且有一个int型的返回值) voidDelete();//删除某学生信息 voidChange();//修改某学生信息 voidSearch();//查询某学生信息 voidDisplay();//显示全部学生信息 private: stringm_no; stringm_name; stringm_sex;//m_指的是成员变量(member) stringm_special; stringm_clas; }; voidStudent: : Set() { stringno,name,sex,special,clas; ofstreamoutfile(”student.txt”);//打开文件 if(! outfile) { cerr〈〈”openerror"〈 exit (1);//退出程序 } cout<〈"当学号输入为0时,停止输入! ”〈〈endl; cout〈〈”请依次输入学生的学号,姓名,性别,专业,班级: "<〈endl; for(inti=0;i { cout<〈”第”〈 "< cin>〉no; if(no=="0")break;//当输入的学号是0时,停止录入 cin〉〉name>〉sex>>special〉〉clas; count++; m_no=no; outfile< m_name=name; outfile〈〈m_name<〈”\t”; m_sex=sex; outfile〈〈m_sex〈〈”\t”; m_special=special; outfile< m_clas=clas; outfile<〈m_clas<〈endl; } outfile.close(); } //添加学生信息 voidStudent: : Add() { stringno,name,sex,special,clas; //以追加的方式录入信息,直接将信息追加到以前文件的末尾 ofstreamoutfile(”student。 txt",ios: : app); if(! outfile) { cerr<<"openerror"〈 exit (1); } count++;//添加一个学生信息,当然count要+1 cout<<"请依次输入要添加的学生学号,姓名,性别,专业,班级: ”< cin〉〉no〉>name〉〉sex〉〉special〉〉clas; m_no=no; outfile< m_name=name; outfile〈 m_sex=sex; outfile<〈m_sex〈〈"\t”; m_special=special; outfile〈〈m_special〈<”\t"; m_clas=clas; outfile〈〈m_clas〈〈endl; outfile.close(); cout<<"已添加成功! "〈〈endl; } //从磁盘读取数据 voidRead(stringno[],stringname[],stringsex[],stringspecial[],stringclas[]) { ifstreaminfile(”student。 txt”,ios: : in); if(! infile) { cerr<〈”openerror”〈〈endl; exit (1); } for(inti=0;i〈count;i++)//只读取存放在数组中但不对其进行相关操作 { infile〉〉no[i]>〉name[i]〉>sex[i]>〉special[i]>〉clas[i]; } infile.close(); } //判断某学号的学生是否在数据库中 intStudent: : Judge(stringnum) { stringno[MAX],name[MAX],sex[MAX],special[MAX],clas[MAX]; Read(no,name,sex,special,clas);//调用Read()函数,获取数据,以便等下进行相关数据的判断 for(inti=0;i〈count;i++) { if(num==no[i]) { returni;//如果存在,返回其下标 break; } } return—1;//否则,返回-1 } //删除某学生信息 voidStudent: : Delete() { stringnum,no[MAX],name[MAX],sex[MAX],special[MAX],clas[MAX]; Read(no,name,sex,special,clas);//读取学生所有数据, cout<<”请输入你要删除的学生学号: "; cin>>num; intk=Judge(num);//定义一个k来接收Judge()的返回值,等下用来判断该num是否存在 if(k! =-1)//如果k不等于-1,表示要删除的学生存在 { ofstreamoutfile(”student。 txt”); if(! outfile) { cerr〈〈”openerror”<〈endl; exit (1); } for(inti=0;i〈count;i++) { if(i! =k)//把下标不等于K(即除了要删的学生外)其余的数据重新写入磁盘保存 { outfile〈〈no[i]〈〈"\t”; outfile<〈name[i]〈〈”\t”; outfile〈 outfile〈〈special[i]<〈”\t”; outfile< } } outfile.close(); count——;//删除一个学生,人数-1 cout<<”删除成功! "〈〈endl; } else cout〈<”该数据库没有此学生! ”<〈endl; } voidStudent: : Change() { stringnum,no[MAX],name[MAX],sex[MAX],special[MAX],clas[MAX]; cout〈〈”请输入你要修改的学生学号: "; cin〉〉num; intk=Judge(num); if(k! =—1) { Read(no,name,sex,special,clas);//读取学生所有数据, cout〈〈”请依次输入修改后的学生学号,姓名,性别,专业,班级: ”<〈endl; cin〉>no[k]〉〉name[k]〉〉sex[k]〉>special[k]>>clas[k];//把下标是k的学生进行修改 ofstreamoutfile("student。 txt”,ios: : out); if(! outfile) { cerr<<”openerror"<〈endl; exit (1); } for(inti=0;i〈count;i++)//改完后,回写进磁盘保存 { outfile〈 outfile〈〈name[i]〈<”\t”; outfile〈〈sex[i]〈〈"\t”; outfile〈〈special[i]〈<"\t”; outfile〈〈clas[i]〈〈endl; } outfile。 close(); cout〈〈”修改成功! ”〈 } else cout<〈"该数据库没有此学生! ”< } voidStudent: : Search() { stringnum,no[MAX],name[MAX],sex[MAX],special[MAX],clas[MAX]; Read(no,name,sex,special,clas); cout<〈"请输入你要查找的学生学号”; cin〉〉num; intk=Judge(num); if(k! =—1)//找到该学生就打印出其信息 { cout〈<”学号\t姓名\t性别\t专业\t班级”< cout< cout<〈name[k]〈〈"\t”; cout<〈sex[k]〈<"\t"; cout〈〈special[k]〈<"\t”; cout<〈clas[k]〈 } else cout〈<"该数据库没有此学生! ”〈〈endl; } //显示学生的所有信息 voidStudent: : Display() { stringno[MAX],name[MAX],sex[MAX],special[MAX],clas[MAX]; Read(no,name,sex,special,clas);//先读取 cout〈〈”学号\t姓名\t性别\t专业\t班级"〈〈endl; for(inti=0;i〈count;i++)//后打印 { cout〈 cout〈〈name[i]〈〈"\t"; cout〈〈sex[i]<〈"\t”; cout〈 cout〈 } } intmain() { intchoice=—1; Students; while(choice! =0)//除非你选择退出,否则一直循环 { cout〈<”\n\t\t\t——学生信息管理系统——\n\n”; cout〈〈”\t\t\t|1。 录入学生信息|\n"; cout〈<”\t\t\t|2。 添加一个信息|\n"; cout〈<"\t\t\t|3。 删除一个信息|\n”; cout〈〈"\t\t\t|4.修改学生信息|\n”; cout〈<”\t\t\t|5.查询学生信息|\n"; cout<〈”\t\t\t|6。 显示学生信息|\n”; cout〈〈”\t\t\t|0。 退出系统|\n"; cout〈〈”请选择所需要的操作: ”; cin>>choice; switch(choice) { case1: s。 Set(); break; case2: s。 Add(); break; case3: s。 Delete(); break; case4: s。 Change(); break; case5: s.Search(); break; case6: s。 Display(); break; case0: break; default: cout〈〈"你的选择有误! 请重新选择! "〈〈endl; break; } } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 C+ 代码