学生信息管理系统C++代码.docx
- 文档编号:9228472
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:17
- 大小:731.22KB
学生信息管理系统C++代码.docx
《学生信息管理系统C++代码.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C++代码.docx(17页珍藏版)》请在冰豆网上搜索。
学生信息管理系统C++代码
1.程序执行后的部分效果
1.1项目主菜单效果图
1.2初始化信息,第一次对信息的录入
1.3添加学生信息
1.4删除某学生信息
1.5修改某学生信息
1.6查询某学生信息
1.7显示全部学生信息
源代码:
/*把StudentData.cpp(源代码)和student.txt(数据存放处)放在同一个文件夹下*/
#include
#include
#include
#include
#include
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时,停止输入! "< cout<<"请依次输入学生的学号,姓名,性别,专业,班级: "< 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_sex=sex; outfile< m_special=special; outfile< m_clas=clas; outfile< } 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_special=special; outfile< m_clas=clas; outfile< outfile.close(); cout<<"已添加成功! "< } //从磁盘读取数据 voidRead(stringno[],stringname[],stringsex[],stringspecial[],stringclas[]) { ifstreaminfile("student.txt",ios: : in); if(! infile) { cerr<<"openerror"< exit (1); } for(inti=0;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 { 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"< exit (1); } for(inti=0;i { if(i! =k)//把下标不等于K(即除了要删的学生外)其余的数据重新写入磁盘保存 { outfile< outfile< outfile< outfile< outfile< } } outfile.close(); count--;//删除一个学生,人数-1 cout<<"删除成功! "< } else cout<<"该数据库没有此学生! "< } 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<<"请依次输入修改后的学生学号,姓名,性别,专业,班级: "< cin>>no[k]>>name[k]>>sex[k]>>special[k]>>clas[k];//把下标是k的学生进行修改 ofstreamoutfile("student.txt",ios: : out); if(! outfile) { cerr<<"openerror"< exit (1); } for(inti=0;i { outfile< outfile< outfile< outfile< outfile< } 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< cout< cout< cout< } else cout<<"该数据库没有此学生! "< } //显示学生的所有信息 voidStudent: : Display() { stringno[MAX],name[MAX],sex[MAX],special[MAX],clas[MAX]; Read(no,name,sex,special,clas);//先读取 cout<<"学号\t姓名\t性别\t专业\t班级"< for(inti=0;i { cout< cout< cout< 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<<"你的选择有误! 请重新选择! "< break; } } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 C+ 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)