正文

c++   学生管理系统  源代码2009-06-18 22:40:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wuhui/44492.html

分享到:

#include<iostream>#include<fstream>#include<vector>#include<sstream>#include<string>#include<iomanip>#include<algorithm>using namespace std;//-----------------------------------------------------------------------------------------class Student     //定义学生类{     string id,name, age, department; public:    Student(string i="0",string n="0",  string a="0",string d="0")    :id(i),name(n),age(a),department(d){}    int idget()  {return atoi(id.c_str() );}    string idstringget()  { return id; }    string nameget()  {return name; }    string ageget() {return age;}    string departmentget() {return department; }    void print()    {  cout<<"学号: "<<left<<setw(8)<<id<<"姓名: "<<setw(10)<<name<<"年龄: "<<setw(10)<<age         <<"院系: "<<setw(10)<<department<<endl; }};//----------------------------------------------------------------------------------------------------void ftov(vector<Student> &v);           //从文件中读到对象向量里void function();                         //功能介绍函数bool lessThanBitSum(Student& a,Student& b){ return a.idget()<b.idget();}//==========================================================================================================void insert(vector<Student> &v)   //输入函数{ system("cls");//清屏Loop: string id, name, age, department; cout<<"输入学生信息:\n"; cout<<"请输入该生的学号: "<<endl; cin>>id; for(int i=0;i<v.size();i++) {  if(v[i].idstringget()==id)  {   cout<<"已有该学号;请重新输入"<<endl;   goto Loop;  }   } cout<<"请输入该生的姓名:\n "; cin>>name; cout<<"请输入该生的年龄:\n "; cin>>age; cout<<"请输入该生的院系: \n"; cin>>department; Student s(id,name,age,department); v.push_back(s); cout<<"信息输入成功!"<<endl<<string(70,'-')<<endl; function();}//===========================================================================================void find( vector<Student> &v)    //查询函数{ system("cls");//清屏 cout<<"查询学生信息:\n"; cout<<"请输入该生的学号: \n"; string id; cin>>id; int k=0; for(int i=0;i<v.size();i++) {  if(v[i].idstringget()==id)  {   k=k+1;   cout<<"该学生信息如下:\n";   v[i].print();   cout<<endl;  } } if(k==0) {  cout<<"没有该生相关信息\n";  cout<<string(70,'-')<<endl;  function(); } else {  cout<<string(70,'-')<<endl;  function(); }}//==========================================================================================void del(vector<Student> &v)   //删除函数{ system("cls");//清屏 cout<<"删除学生信息:\n"; cout<<"\n请输入该生的学号:\n "; int id;cin>>id; int k=0; for(int i=0;i<v.size();i++) {  if(v[i].idget()==id)  {   k++;   cout<<"信息:";v[i].print();   cout<<"信息已成功删除!\n"<<endl;   v.erase(&v[i]);  } } if(k==0) {  cout<<"对不起,没有找到您所要删除的学生的信息!\n"<<string(70,'-')<<endl;  function(); } else {  cout<<string(70,'-')<<endl;  function(); }}//============================================================================================= void sort(vector<Student> &v)   //排序函数{ system("cls");//清屏 cout<<"排序:\n"; sort(v.begin(),v.end() ,lessThanBitSum); for(int i=0;i<v.size();i++)  v[i].print(); cout<<string(70,'-')<<endl; function();}//============================================================================================void save( vector<Student> &v)  //把类向量保存到文件中的函数{ system("cls");//清屏 cout<<endl;    ofstream out("D://student.txt");    for(int i=0; i<v.size(); i++)     out<<v[i].idget()<<" "<<v[i].nameget()<<" "<<v[i].ageget()<<" "<<v[i].departmentget()<<endl;    cout<<"信息已保存到D://student.txt中!\n"<<endl; function();}//===========================================================================================void function()    //功能介绍{ system("color 0E");//改变环境颜色    cout<<"                              功能说明:\n\n"        <<"\t\t1、输入功能\t\t\t2、查询功能\n"        <<"\t\t3、删除功能\t\t\t4、排序功能\n"        <<"\t\t5、保存功能\t\t\t6、退出程序\n"        <<"\n请输入1-6进行操作\n";}//=======================================================================================void ftov(vector<Student> &v)  //将文件中的数据读到类向量中的函数{  ifstream in("D://student.txt");  string id,name, age, department;  for(   ;in>>id>>name>>age>>department; )  {      Student s(id,name,age,department);      v.push_back(s);  }}//===================================================================================== int main(){ function(); vector<Student> v; ftov(v); for(int a;cin>>a;) {  if(a==1) insert(v);  else if(a==2) find(v);  else if(a==3)  del(v);  else if(a==4)  sort(v);  else if(a==5)  save(v);  else if(a==6)    {   system("cls");   cout<<"\t\t\t你已成功退出,感谢你的使用!欢迎交流!QQ:1020945306\n\n";   goto End;  }  else  cout<<"您输入的指令有误,请重新输入!\n"; }End: return 0; }//========================================================================================

阅读(2296) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册