学生信息管理系统C++代码.doc
《学生信息管理系统C++代码.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统C++代码.doc(7页珍藏版)》请在咨信网上搜索。
1. 程序执行后的部分效果 1。1项目主菜单效果图 1。2初始化信息,第一次对信息的录入 1.3添加学生信息 1。4删除某学生信息 1.5修改某学生信息 1。6查询某学生信息 1.7显示全部学生信息 源代码: /*把StudentData.cpp(源代码) 和 student。txt(数据存放处)放在同一个文件夹下*/ #include 〈iostream〉 #include <string〉 #include <fstream〉 #include <string〉 #include 〈iomanip〉 using namespace std; //最多提供50个学生的数据,可根据需要进行更改 const int MAX = 50; int count = 0; //用来统计学生人数 class Student { public: void Set(); //初始化信息,第一次对信息的录入 void Add(); //添加学生信息 //从磁盘读取数据以便 进行 数据的操作,方便再重写进磁盘 friend void Read(string no[],string name[],string sex[],string special[],string clas[]); int Judge(string num); //判断 num 是否在学生信息数据库中(注意它有一个参数,并且有一个int型的返回值) void Delete(); //删除某学生信息 void Change(); //修改某学生信息 void Search(); //查询某学生信息 void Display(); //显示全部学生信息 private: string m_no; string m_name; string m_sex; //m_ 指的是成员变量(member) string m_special; string m_clas; }; void Student::Set() { string no, name, sex, special, clas; ofstream outfile("student。txt”); //打开文件 if(!outfile) { cerr〈<" open error”<〈endl; exit(1); //退出程序 } cout〈<"当学号输入为 0 时,停止输入!”<<endl; cout〈〈”请依次输入学生的学号,姓名,性别,专业,班级:”〈〈endl; for(int i=0; i<MAX; i++) { cout<<"第”〈〈count+1<〈”个学生:”〈<endl; cin>>no; if(no == "0”) break; //当输入的学号是 0 时,停止录入 cin〉〉name〉〉sex〉〉special>〉clas; count++; m_no = no; outfile〈〈m_no〈〈”\t”; //每录入一个学号,写进磁盘保存,以下同理 m_name = name; outfile〈〈m_name〈〈"\t”; m_sex = sex; outfile〈〈m_sex〈〈”\t”; m_special = special; outfile<〈m_special〈<"\t”; m_clas = clas; outfile〈〈m_clas〈〈endl; } outfile。close(); } //添加学生信息 void Student::Add() { string no, name, sex, special, clas; //以追加的方式录入信息,直接将信息追加到以前文件的末尾 ofstream outfile(”student。txt”,ios::app); if(!outfile) { cerr〈〈” open error"<〈endl; exit(1); } count++; //添加一个学生信息,当然 count 要 +1 cout<〈"请依次输入要添加的学生学号,姓名,性别,专业,班级:”〈<endl; cin>〉no>〉name〉〉sex〉〉special>>clas; m_no = no; outfile〈<m_no〈〈”\t”; m_name = name; outfile〈<m_name〈〈”\t”; 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; } //从磁盘读取数据 void Read(string no[],string name[],string sex[],string special[],string clas[]) { ifstream infile(”student。txt”,ios::in); if(!infile) { cerr<〈” open error”〈〈endl; exit(1); } for(int i=0; i<count; i++) //只读取存放在数组中 但不对其进行相关操作 { infile>〉no[i]〉〉name[i]〉〉sex[i]〉〉special[i]〉〉clas[i]; } infile.close(); } //判断某学号的学生是否在数据库中 int Student::Judge(string num) { string no[MAX], name[MAX], sex[MAX], special[MAX], clas[MAX]; Read(no, name, sex, special, clas); //调用Read()函数,获取数据,以便等下进行相关数据的判断 for(int i=0; i<count; i++) { if(num == no[i]) { return i; //如果存在,返回其下标 break; } } return -1; //否则,返回—1 } //删除某学生信息 void Student::Delete() { string num, no[MAX], name[MAX], sex[MAX], special[MAX], clas[MAX]; Read(no, name, sex, special, clas); //读取学生所有数据, cout〈<”请输入你要删除的学生学号:”; cin〉〉num; int k = Judge(num); //定义一个k来接收Judge()的返回值,等下用来判断该num是否存在 if(k != -1) //如果k不等于—1, 表示要删除的学生存在 { ofstream outfile(”student.txt"); if(!outfile) { cerr〈<” open error”<〈endl; exit(1); } for(int i=0; i<count; i++) { if(i != k) //把下标不等于K(即除了要删的学生外)其余的数据重新写入磁盘保存 { outfile〈〈no[i]〈〈"\t"; outfile<〈name[i]<〈”\t"; outfile<〈sex[i]〈<”\t”; outfile<<special[i]〈<”\t”; outfile<〈clas[i]<〈endl; } } outfile.close(); count——; //删除一个学生,人数 -1 cout〈〈”删除成功!”〈〈endl; } else cout〈<”该数据库没有此学生!”〈<endl; } void Student::Change() { string num, no[MAX], name[MAX], sex[MAX], special[MAX], clas[MAX]; cout〈〈"请输入你要修改的学生学号:”; cin>〉num; int k = 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的学生进行修改 ofstream outfile(”student。txt”,ios::out); if(!outfile) { cerr〈〈" open error"〈<endl; exit(1); } for(int i=0; i<count; i++) //改完后,回写进磁盘保存 { outfile〈〈no[i]<〈”\t"; outfile〈〈name[i]<<”\t"; outfile〈<sex[i]〈〈”\t"; outfile〈〈special[i]〈<”\t”; outfile〈<clas[i]〈<endl; } outfile.close(); cout<〈"修改成功!”〈<endl; } else cout〈〈"该数据库没有此学生!”<〈endl; } void Student::Search() { string num, no[MAX], name[MAX], sex[MAX], special[MAX], clas[MAX]; Read(no, name, sex, special, clas); cout〈〈"请输入你要查找的学生学号”; cin〉〉num; int k = Judge(num); if(k != —1) //找到该学生就打印出其信息 { cout<〈”学号\t姓名\t性别\t专业\t班级”〈〈endl; cout〈<no[k]〈<”\t”; cout<〈name[k]〈〈”\t"; cout<〈sex[k]〈〈”\t”; cout<<special[k]〈<"\t"; cout<〈clas[k]〈〈endl; } else cout〈〈”该数据库没有此学生!”<<endl; } //显示学生的所有信息 void Student::Display() { string no[MAX], name[MAX], sex[MAX], special[MAX], clas[MAX]; Read(no, name, sex, special, clas); //先读取 cout〈〈"学号\t姓名\t性别\t专业\t班级"<〈endl; for(int i=0; i<count; i++) //后打印 { cout〈〈no[i]<〈”\t”; cout〈<name[i]<<”\t"; cout〈<sex[i]<〈"\t"; cout<〈special[i]〈〈”\t”; cout<<clas[i]〈〈endl; } } int main() { int choice = —1; Student s; 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) { case 1: s。Set(); break; case 2: s。Add(); break; case 3: s。Delete(); break; case 4: s。Change(); break; case 5: s。Search(); break; case 6: s。Display(); break; case 0: break; default: cout<<”你的选择有误!请重新选择!”〈〈endl; break; } } return 0; }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 C+ 代码
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文