C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(完整版)
本文實(shí)例為大家分享了C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)功能
上面的功能基本完全實(shí)現(xiàn)
目前的程序其實(shí)還存在兩個(gè)問題:
1、無法從文件中讀取信息,我感覺是格式問題,輸出的格式需要改,但是這樣的話,保存在文件的信息看起來就不是很方便了
2、保存新同學(xué)的學(xué)號(hào)與當(dāng)前記錄的學(xué)號(hào)相同時(shí)不會(huì)提醒,這個(gè)實(shí)現(xiàn)起來比較容易,在保存的時(shí)候,再加一個(gè)鏈表查詢就可以了,是我太懶了。
源碼附上
#include <cstdlib> #include <iostream> #include <string> #include<windows.h> #include<conio.h> #include <fstream> using namespace std; #define null NULL class student { ? ? private: ? ? ? ? int flag; ? ? ? ? friend class studentMessage; ? ? ? ? student *next; //節(jié)點(diǎn)指針 ? ? ? ? string name; //學(xué)生姓名 ? ? ? ? string address; ?//家庭住址 ? ? ? ? int age; //年齡 ? ? ? ? int id; //學(xué)號(hào) ? ? ? ? string sex; ? ? ? ? char grade; ? ? ? ? ? ? ? ? ?班級(jí) ? ? ? ? // ?A ? ?代表大學(xué)生 ? ? ? ? // ?B ? ?代表中學(xué)生 ? ? ? ? // ?C ? ?代表小學(xué)生 ? ? ? ? double chinese , math , english; ?//語文 , 數(shù)學(xué) , 英語 ? ? ? ? double history , geography ; ? ? //歷史 ?, 地理 ? ? ? ? string major; long long int TL; ? ? // ?專業(yè) ?, ?電話 ? ? public: ? ? ? ? static int num_total; ?//總數(shù) ? ? ? ? static int num_sex; ? ? ? ? static int num_age; ? ? ? ? //小學(xué)生初始化 ? ? ? ? student(int _id,string _name,string _sex,int _age,char _grade,double _chinese,double _math,double _english) ? ? ? ? { ? ? ? ? ? ? name = _name; ? ? ? ? ? ? grade = _grade; ? ? ? ? ? ? age ?= _age; ? ? ? ? ? ? sex = _sex; ? ? ? ? ? ? id = _id; ? ? ? ? ? ? chinese = _chinese; ? ? ? ? ? ? math ? ?= ?_math; ? ? ? ? ? ? english = _english; ? ? ? ? ? ? next = NULL; ? ? ? ? } ? ? ? ? //初中生初始化 ? ? ? ? student(int _id,string _name,string _sex,int _age,char _grade,double _geography,double _history,string _address) ? ? ? ? { ? ? ? ? ? ? name = _name; ? ? ? ? ? ? grade = _grade; ? ? ? ? ? ? age ?= _age; ? ? ? ? ? ? sex = _sex; ? ? ? ? ? ? id = _id; ? ? ? ? ? ? geography = _geography; ? ? ? ? ? ? history ? = _history; ? ? ? ? ? ? address ? ?= _address; ? ? ? ? ? ? next = NULL; ? ? ? ? } ? ? ? ? //大學(xué)生初始化 ? ? ? ? student(int _id,string _name,string _sex,int _age,char _grade,string _major,string _address,long long int _TL) ? ? ? ? { ? ? ? ? ? ? name = _name; ? ? ? ? ? ? grade = _grade; ? ? ? ? ? ? age ?= _age; ? ? ? ? ? ? sex = _sex; ? ? ? ? ? ? id = _id; ? ? ? ? ? ? major ?= _major; ? ? ? ? ? ? address = _address; ? ? ? ? ? ? TL ? ? = _TL; ? ? ? ? ? ? next = NULL; ? ? ? ? } ? ? ? ? //構(gòu)造函數(shù) ? ? ? ? student() //為studentMessage初始化頭結(jié)點(diǎn)用 ? ? ? ? { ? ? ? ? ? ? name = "null"; ? ? ? ? ? ? sex = "null"; ? ? ? ? ? ? address = "null"; ? ? ? ? ? ? age = 0; ? ? ? ? ? ? id = 0; ? ? ? ? ? ? chinese = 0; ? ? ? ? ? ? math = 0; ? ? ? ? ? ? english = 0; ? ? ? ? ? ? grade = '0'; ? ? ? ? ? ? geography = 0; ? ? ? ? ? ? history = 0; ? ? ? ? ? ? major = "null"; ? ? ? ? ? ? TL = 0; ? ? ? ? ? ? next = NULL; ? ? ? ? } ? ? ? ? ~student(){} ? ? ? ? void swap(student*); }; int student::num_total = 0; 初始化 int student::num_sex = 0; int student::num_age = 0; void student::swap(student *q) { ? ? string _name,_sex,_address; ? ? int _age,_id; ? ? ?char grade; ? ? ? ? ? ? ? ? ?班級(jí) ? ? ? ? // ?A ? ?代表大學(xué)生 ? ? ? ? // ?B ? ?代表中學(xué)生 ? ? ? ? // ?C ? ?代表小學(xué)生 ? ? double _chinese , _math , _english; ?//語文 , 數(shù)學(xué) , 英語 ? ? double _history , _geography ; ? ? //歷史 ?, 地理 ? ? string _major; long long int _TL; ? ? // ?專業(yè) ?, ?電話 ? ? _chinese ? = chinese; ? ? chinese ? ?= q->chinese; ? ? q->chinese = _chinese; ? ? _math ? = ?math; ? ? math ? ?= ?q->math; ? ? q->math = ?_math; ? ? _english ? = ?english; ? ? english ? ?= ?q->english; ? ? q->english = ?_english; ? ? _history ? = history; ? ? history ? ?= q->history; ? ? q->history = _history; ? ? _geography ? = ?geography; ? ? geography ? ?= ?q->geography; ? ? q->geography = ?_geography; ? ? _major ? = ?major; ? ? major ? ?= q->major; ? ? q->major = ?_major; ? ? _TL ? = TL; ? ? TL ? ?= q->TL; ? ? q->TL = _TL; ? ? _name ? = name; ? ? name ? ?= q->name; ? ? q->name = _name; ? ? _sex ? = sex; ? ? sex ? ?= q->sex; ? ? q->sex = _sex; ? ? _address ? = address; ? ? address ? ?= q->address; ? ? q->address = _address; ? ? _age ? = age; ? ? age ? ?= q->age; ? ? q->age = _age; ? ? _id ? = id; ? ? id ? ?= q->id; ? ? q->id = _id; } class studentMessage { ? ? private: ? ? ? student *first; //頭指針 ? ? ? int num; //信息中的學(xué)生人數(shù) ? ? public: ? ? ? ? studentMessage() ? ? ? ? { ? ? ? ? ? ? num = 0; //初始化學(xué)生人數(shù)為0 ? ? ? ? ? ? first = new student; ?//初始化頭結(jié)點(diǎn) ? ? ? ? } ? ? ? ? ~studentMessage(){delete first;} ? ? ? ? /*管理系統(tǒng)常規(guī)操作*/ ? ? ? ? void Insret(void); //插入 ? ? ? ? void Display(void); //顯示 ? ? ? ? void Delete(void); //刪除 ? ? ? ? void Search(void); //搜索 ? ? ? ? void Change(void); //改動(dòng) ? ? ? ? void SearchByid(void); //按照學(xué)號(hào)查找 ? ? ? ? void SearchByname(void); //按照姓名查找 ? ? ? ? int menu(void); //初始的菜單 ? ? ? ? void clear(void); //清空列表 ? ? ? ? void tongji(void); ?//統(tǒng)計(jì)學(xué)生人數(shù) ? ? ? ? void save(void); ? ? ? ? void read(void); }; int studentMessage::menu(void) { ? ? system("cls"); ? ? int ch; ? ? cout<<endl;cout<<endl;cout<<endl;cout<<endl; ? ? cout<<"**********************************************************************"<<endl; ? ? cout<<"======================================================================"<<endl; ? ? cout<<"***************************學(xué)生信息管理系統(tǒng)***************************"<<endl;cout<<endl; ? ? cout<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.添加功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.查詢功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?3.顯示功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?4.編輯功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?5.刪除功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?6.統(tǒng)計(jì)功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?7.保存功能"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?8.全部刪除"<<endl; ? ? cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ?0.退出系統(tǒng)"<<endl;cout<<endl; ? ? cout<<endl; ? ? cout<<"***********************************************************************"<<endl; ? ? cout<<"======================================================================="<<endl; ? ? cout<<"***********************************************************************"<<endl; ? ? cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl; ? ? cin >> ch; ? ? cout<<"\n\n\n"<<endl; ? ? return ch; } void studentMessage::save(void) { ? ? ?system("cls"); ? ? ?fstream f("student.txt",ios::out); ? ? int i; ? ? if(!f) ? ? { ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? cout<<"文件保存失敗!?。?!按任意鍵返回..."<<endl; ? ? ? ? ? ?if(i = getch()) return ; ? ? } ? ? if(student::num_total == 0) ? ? ? ? { ? ? ? ? ? ? f<<"當(dāng)前記錄中無學(xué)生..."<<endl; ? ? ? ? } ? ? else ? ? ? ? { ? ? ? ? ? ? student *p = first->next; ? ? ? ? ? ? while(p != null) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? f<<"學(xué)號(hào):"<<p->id<<" ?"<<endl; ? ? ? ? ? ? ? ? f<<"姓名:"<<p->name<<endl; ? ? ? ? ? ? ? ? f<<"性別(boy/girl):"<<p->sex<<endl; ? ? ? ? ? ? ? ? f<<"年齡:"<<p->age<<endl; ? ? ? ? ? ? ? ? f<<"班級(jí):"<<p->grade<<endl; ? ? ? ? ? ? if(p->grade == 'A') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? f<<"專業(yè):"<<p->major<<endl; ? ? ? ? ? ? ? ? f<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? ? ? f<<"聯(lián)系方式:"<<p->TL<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else if(p->grade == 'B') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? f<<"地理成績(jī):"<<p->geography<<endl; ? ? ? ? ? ? ? ? f<<"歷史成績(jī):"<<p->history<<endl; ? ? ? ? ? ? ? ? f<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? f<<"語文成績(jī):"<<p->chinese<<endl; ? ? ? ? ? ? ? ? f<<"數(shù)學(xué)成績(jī):"<<p->math<<endl; ? ? ? ? ? ? ? ? f<<"英語成績(jī):"<<p->english<<endl; ? ? ? ? ? ? } ? ? ? ? f<<"------------------------------------------------"<<endl; ? ? ? ? ? ? p = p->next; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? ?f.close(); ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"學(xué)生信息文件已創(chuàng)建,按任意鍵繼續(xù)"<<endl; ? ? ? ? ? ? i = getch(); } void studentMessage::read(void) { ? ? system("cls"); ? ? string name; ? ? int age; ? ? int id; ? ? char grade; ? ? string sex,address; ? ? double chinese , math , english; ?//語文 , 數(shù)學(xué) , 英語 ? ? double history , geography ; ? ? //歷史 ?, 地理 ? ? string major; long long int TL; ? ? // ?專業(yè) ?, ?電話 ? ? int i; ? ? char ch; ? ?ifstream f("student.txt"); ? ? while(1) ? ? { ? ? ? ? f>>ch; ? ? ? ? if(f.eof()) ? ? ? ? { ? ? ? ? ? ? cout<<"文件為空!按任意鍵返回"<<endl; ? ? ? ? ? ? if(i = getch()) return ; ? ? ? ? } ? ? ? ? ? ? f>>name; ? ? ? ? ? ? f>>sex; ? ? ? ? ? ? f>>age; ? ? ? ? ? ? f>>id; ? ? ? ? ? ? f>>grade; ? ? ? ? if(grade=='A') ? ? ? ? { ? ? ? ? ? ? f>>major; ? ? ? ? ? ? f>>address; ? ? ? ? ? ? f>>TL; ? ? ? ? } ? ? ? ? else if(grade == 'B') ? ? ? ? { ? ? ? ? ? ? f>>geography; ? ? ? ? ? ? f>>history; ? ? ? ? ? ? f>>address; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? f>>chinese; ? ? ? ? ? ? f>>math; ? ? ? ? ? ? f>>english; ? ? ? ? } ? ? ? ? student::num_total ++; ? ? ? ? if(sex=="boy") student::num_sex++; ? ? ? ? if(age>=18) student::num_age ++; ? ? ? ? student *newstu = new student(); ? ? ? ? if(grade == 'A') ? ?newstu = new student(id,name,sex,age,grade,major,address,TL); ? ? ? ? else if(grade == 'B') ? ?newstu = new student(id,name,sex,age,grade,geography,history,address); ? ? ? ? else if(grade == 'C') ? ?newstu = new student(id,name,sex,age,grade,chinese,math,english); ? ? student *p = first; ? ? while(p->next != NULL) ? ? ? ? { ? ? ? ? ? ? p = p->next; ? ? ? ? } ? ? ? ? p->next = newstu; ? ? ? ? newstu->next = null; ? ? } } /統(tǒng)計(jì) void studentMessage::tongji(void) { ? ? system("cls");// ? ? cout<<"學(xué)生人數(shù)一共為:" <<student::num_total<<endl; ? ? cout<<"男生一共有:"<<student::num_sex<<endl; ? ? cout<<"女生一共有:"<<student::num_total-student::num_sex<<endl; ? ? cout<<"成年人有:"<<student::num_age<<endl; ? ? int i; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl; ? ? ? ? ? ? i = getch(); } //插入 void studentMessage::Insret(void) { ? ? system("cls");// ? ? string name; ? ? int age; ? ? int id; ? ? char grade; ? ? string sex,address; ? ? double chinese , math , english; ?//語文 , 數(shù)學(xué) , 英語 ? ? double history , geography ; ? ? //歷史 ?, 地理 ? ? string major; long long int TL; ? ? // ?專業(yè) ?, ?電話 ? ? cout<<"請(qǐng)輸入學(xué)生姓名: "; ? ? cin>>name; ? ? cout<<"請(qǐng)輸入學(xué)生性別(boy/girl): "; ? ? cin>>sex; ? ? cout<<"請(qǐng)輸入學(xué)生年齡: "; ? ? cin>>age; ? ? cout<<"請(qǐng)輸入學(xué)生學(xué)號(hào): "; ? ? cin>>id; ? ? cout<<"下面請(qǐng)輸入學(xué)生班級(jí)(大學(xué)生輸入'A',初中生輸入'B',小學(xué)生輸入'C'): "; ? ? cout<<endl; ? ? cin>>grade; ? ? cout<<endl; ? ? if(grade=='A') ? ? { ? ? ? ? cout<<"請(qǐng)輸入專業(yè):"<<endl; ? ? ? ? cin>>major; ? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl; ? ? ? ? cin>>address; ? ? ? ? cout<<"請(qǐng)輸入聯(lián)系電話:"<<endl; ? ? ? ? cin>>TL; ? ? } ? ? else if(grade == 'B') ? ? { ? ? ? ? cout<<"請(qǐng)輸入地理成績(jī):"<<endl; ? ? ? ? cin>>geography; ? ? ? ? cout<<"請(qǐng)輸入歷史成績(jī):"<<endl; ? ? ? ? cin>>history; ? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl; ? ? ? ? cin>>address; ? ? } ? ? else ? ? { ? ? ? ? cout<<"請(qǐng)輸入語文成績(jī):"<<endl; ? ? ? ? cin>>chinese; ? ? ? ? cout<<"請(qǐng)輸入數(shù)學(xué)成成績(jī):"<<endl; ? ? ? ? cin>>math; ? ? ? ? cout<<"請(qǐng)輸入英語成績(jī):"<<endl; ? ? ? ? cin>>english; ? ? } ? ? student::num_total ++; ? ? if(sex=="boy") student::num_sex++; ? ? if(age>=18) student::num_age ++; ? ? student *newstu = new student(); ? ? ? ? ?if(grade == 'A') ? ?newstu = new student(id,name,sex,age,grade,major,address,TL); ? ? else if(grade == 'B') ? ?newstu = new student(id,name,sex,age,grade,geography,history,address); ? ? else if(grade == 'C') ? ?newstu = new student(id,name,sex,age,grade,chinese,math,english); ? ? student *p = first; ? ? while(p->next != NULL) ? ? { ? ? ? ? p = p->next; ? ? } ? ? p->next = newstu; ? ? newstu->next = null; } //00000000000000000000000/ void studentMessage::Display(void) { ? ? system("cls"); ? ? if(student::num_total == 0) ? ? { ? ? ? ? cout<<"當(dāng)前記錄中無學(xué)生..."<<endl; ? ? } ? ? else ? ? { ? ? ? ? student *p = first->next; ? ? ? ? while(p != null) ? ? ? ? { ? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl; ? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl; ? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl; ? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl; ? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl; ? ? ? ? ? ? if(p->grade == 'A') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else if(p->grade == 'B') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl; ? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl; ? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl; ? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl; ? ? ? ? ? ? } ? ? cout<<"------------------------------------------------"<<endl; ? ? ? ? ? ? p = p->next; ? ? ? ? } ? ? } ? ? int i; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl; ? ? ? ? ? ? i = getch(); } //刪除功能~~~~~~~~~~~~~~~~ void studentMessage::Delete(void) { ? ? string _name; ? ? system("cls"); ? ? cout<<"請(qǐng)輸入需要?jiǎng)h除的同學(xué)姓名:"<<endl; ? ? cin>>_name; ? ? int k=0; ? ? student *p = first; ? ? student *pre = first; ? ? while(p->next) ? ? { ? ? ? ? pre=p->next; ? ? ? ? if(pre->name == _name) ? ? ? ? { ? ? ? ? ? ? p->next=pre->next; ? ? ? ? ? ? k=1; ? ? ? ? ? ? delete pre; ? ? ? ? } ? ? ? ? p=p->next; ? ? } ? ? ?if(k==0&&p->name!=_name) ? cout<<"記錄為空!"<<endl; ? ? ?else ? ? { ? ? ? ? student::num_total--; ? ? ? ? if(p->sex=="boy") student::num_sex--; ? ? ? ? if(p->age>=18) ? student::num_age--; ? ? } ? ? int i; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl; ? ? ? ? ? ? i = getch(); } void studentMessage::Search(void) { ? ? system("cls");/ ? ? int temp = 0; ? ? cout<<"請(qǐng)輸入查找的條件,有如下選項(xiàng)..."<<endl; ? ? cout<<"按照學(xué)號(hào)查找(請(qǐng)輸入【1】) 按照姓名查找(請(qǐng)輸入【2】) "<<endl; ? ? cout<<" 退出(請(qǐng)輸入【666】)"<<endl; ? ? cin>>temp; ? ? switch(temp) ? ? { ? ? ? ? case 1: SearchByid(); break; ? ? ? ? case 2: SearchByname(); break; ? ? ? ? case 666: return; ? ? ? ? default: cout<<"輸入有誤..."<<endl; ? ? } } void studentMessage::SearchByid(void) { ? ? system("cls");// ? ? int _id; ? ? int flag = 0; ? ? cout<<"請(qǐng)輸入待查找學(xué)生的學(xué)號(hào):"; ? ? cin >> _id; ? ? student *p = first->next; ? ? while(p != null) ? ? { ? ? ? ? if(p->id == _id) ? ? ? ? { ? ? ? ? ? ? flag = 1; ? ? ? ? ? ? cout<<"下面是查找匹配結(jié)果:"<<endl; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl; ? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl; ? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl; ? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl; ? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl; ? ? ? ? ? ? if(p->grade == 'A') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else if(p->grade == 'B') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl; ? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl; ? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl; ? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? p = p->next; ? ? } ? ? if(flag == 0) ? ? { ? ? ? ? cout<<"未找到匹配項(xiàng)..."<<endl; ? ? } ? ? ?int i; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl; ? ? ? ? ? ? i = getch(); } void studentMessage::SearchByname(void) { ? ? system("cls");/ ? ? string _name; ? ? int flag = 0; ? ? cout<<"請(qǐng)輸入待查找的學(xué)生姓名: "; ? ? cin >> _name; ? ? student *p = first->next; ? ? while(p != null) ? ? { ? ? ? ? if(p->name == _name) ? ? ? ? { ? ? ? ? ? ? cout<<"下面是查找匹配結(jié)果:"<<endl; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl; ? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl; ? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl; ? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl; ? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl; ? ? ? ? ? ? if(p->grade == 'A') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else if(p->grade == 'B') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl; ? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl; ? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl; ? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? p = p->next; ? ? } ? ? if(flag == 0) ? ? { ? ? ? ? cout<<"未找到匹配項(xiàng)..."<<endl; ? ? } ? ? ?int i; ? ? ? ? ? ? cout<<endl;cout<<endl;cout<<endl; ? ? ? ? ? ? cout<<"按任意鍵繼續(xù)"<<endl; ? ? ? ? ? ? i = getch(); } void studentMessage::Change(void) { ? ? system("cls");// ? ? string _name,_sex,_address,_major; ? ? char _grade; long long int _TL; ? ? double _chinese , _math , _english; ?//語文 , 數(shù)學(xué) , 英語 ? ? double _history , _geography ; ? ? //歷史 ?, 地理 ? ? int flag = 0,temp; ? ? int _id,_age; ? ? int course = 0; ? ? cout<<"請(qǐng)輸入需要改動(dòng)信息的學(xué)生的姓名: "; ? ? cin >> _name; ? ? student *p = first->next; ? ? while(p != null) ? ? { ? ? ? ? if(p->name == _name) ? ? ? ? { ? ? ? ? ? ? flag = 1; ? ? ? ? ? ? cout<<"該學(xué)生當(dāng)前信息如下:"<<endl; ? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl; ? ? ? ? ? ? cout<<"姓名:"<<p->name<<endl; ? ? ? ? ? ? cout<<"性別(boy/girl):"<<p->sex<<endl; ? ? ? ? ? ? cout<<"年齡:"<<p->age<<endl; ? ? ? ? ? ? cout<<"班級(jí):"<<p->grade<<endl; ? ? ? ? ? ? if(p->grade == 'A') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"專業(yè):"<<p->major<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? ? ? cout<<"聯(lián)系方式:"<<p->TL<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else if(p->grade == 'B') ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"地理成績(jī):"<<p->geography<<endl; ? ? ? ? ? ? ? ? cout<<"歷史成績(jī):"<<p->history<<endl; ? ? ? ? ? ? ? ? cout<<"家庭住址:"<<p->address<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? cout<<"語文成績(jī):"<<p->chinese<<endl; ? ? ? ? ? ? ? ? cout<<"數(shù)學(xué)成績(jī):"<<p->math<<endl; ? ? ? ? ? ? ? ? cout<<"英語成績(jī):"<<p->english<<endl; ? ? ? ? ? ? } ? ? ? ? ? ? cout<<"請(qǐng)指明哪一項(xiàng)需要修改..."<<endl; ? ? ? ? ? ? cout<<"修改學(xué)號(hào)(輸入【1】) 修改年齡(輸入【2】)修改班級(jí)信息(輸入【3】) "<<endl; ? ? ? ? ? ? cout<<" 退出(輸入【666】)"<<endl; ? ? ? ? ? ? cin >> temp; ? ? ? ? ? ? switch(temp) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入新的學(xué)號(hào):"<<endl;cin>>_id; ? ? ? ? ? ? ? ? ? ? ? ? p->id = _id; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 2: ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入新的年齡:"<<endl;;cin>>_age; ? ? ? ? ? ? ? ? ? ? ? ? p->age = _age; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 3: ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入新的班級(jí)信息(大學(xué)生輸入'A',初中生輸入'B',小學(xué)生輸入'C'):"<<endl;;cin>>_grade; ? ? ? ? ? ? ? ? ? ? ? ? p->grade = _grade; ? ? ? ? ? ? ? ? ? ? ? ? ?if(_grade=='A') ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入專業(yè):"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_major; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->major = _major; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_address; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->address = _address; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入聯(lián)系電話:"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_TL; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->TL = _TL; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? else if(_grade == 'B') ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入地理成績(jī):"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_geography; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->geography = _geography; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入歷史成績(jī):"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_history; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->history = _history; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入家庭住址:"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_address; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->address = _address; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入語文成績(jī):"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_chinese; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->chinese = _chinese; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入數(shù)學(xué)成成績(jī):"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_math; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->major = _math; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cout<<"請(qǐng)輸入英語成績(jī):"<<endl; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cin>>_english; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->english = _english; ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? case 666: return ; ? ? ? ? ? ? ? ? ? ? cout<<"修改后的信息如下: "<<endl; ? ? ? ? ? ? ? ? ? ? cout<<"姓名:"<<p->name<<" ?"<<endl; ? ? ? ? ? ? ? ? ? ? cout<<"性別:"<<p->sex<<" ?"<<endl; ? ? ? ? ? ? ? ? ? ? cout<<"年齡:"<<p->age<<" ?"<<endl; ? ? ? ? ? ? ? ? ? ? cout<<"學(xué)號(hào):"<<p->id<<" ?"<<endl; ? ? ? ? ? ? ? ? ? ? cout<<"地址:"<<p->address<<" ?"<<endl; ? ? ? ? ? ? ? ? default: ?cout<<"輸入有誤..."<<endl; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? p = p->next; ? ? } ? ? if(flag == 0) ? ? ? ? cout<<"當(dāng)前記錄中沒有此學(xué)生..."<<endl; } void studentMessage::clear(void) { ? ? student *p = first->next; ? ? while(p != null) ? ? { ? ? ? ? first->next = p->next; ? ? ? ? p->next = null; ? ? ? ? delete p; ? ? ? ? p = first->next; ? ? } } int main() { ? ? studentMessage stulist; ? ? int ch; ? ? while(ch = stulist.menu()) ? ? { ? ? ? ? switch(ch) ? ? ? ? { ? ? ? ? ? ? case 1: stulist.Insret(); ?break; ? ? ? ? ? ? case 2: stulist.Search(); ?break; ? ? ? ? ? ? case 3: stulist.Display(); break; ? ? ? ? ? ? case 4: stulist.Change(); ?break; ? ? ? ? ? ? case 5: stulist.Delete(); ?break; ? ? ? ? ? ? case 6: stulist.tongji(); ?break; ? ? ? ? ? ? case 7: stulist.save(); ? ?break; ? ? ? ? ? ? case 8: stulist.clear(); ? break; ? ? ? ? ? ? case 0: return 0; ? ? ? ? ? ? default: cout<<"請(qǐng)按要求輸入..."<<endl; ? ? ? ? } ? ? } ? ? return 0; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C++實(shí)現(xiàn)簡(jiǎn)單職工信息管理系統(tǒng)
- C++學(xué)生信息管理系統(tǒng)
- C++實(shí)現(xiàn)簡(jiǎn)單的信息管理系統(tǒng)
- C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- C++實(shí)現(xiàn)景區(qū)信息管理系統(tǒng)
- linux下C/C++學(xué)生信息管理系統(tǒng)
- C++使用文件實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- C++實(shí)現(xiàn)學(xué)生考勤信息管理系統(tǒng)
- C++實(shí)現(xiàn)高校人員信息管理系統(tǒng)
- C++利用鏈表實(shí)現(xiàn)圖書信息管理系統(tǒng)
相關(guān)文章
Visual Studio Code上添加小程序自動(dòng)補(bǔ)全插件的操作方法
這篇文章主要介紹了Visual Studio Code上添加小程序自動(dòng)補(bǔ)全插件的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04C語言浮點(diǎn)函數(shù)中的modf和fmod詳解
這篇文章主要為大家詳細(xì)介紹了C語言浮點(diǎn)函數(shù)中的modf和fmod,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02深入理解c++實(shí)現(xiàn)Qt信號(hào)和槽機(jī)制
信號(hào)和槽機(jī)制是 Qt 的核心機(jī)制,可以讓編程人員將互不相關(guān)的對(duì)象綁定在一起,實(shí)現(xiàn)對(duì)象之間的通信,本文就來深入理解c++實(shí)現(xiàn)Qt信號(hào)和槽機(jī)制,感興趣的可以了解一下2023-08-08C語言統(tǒng)計(jì)一篇英文短文中單詞的個(gè)數(shù)實(shí)例代碼
本文通過實(shí)例代碼給大家介紹的C語言統(tǒng)計(jì)一篇英文短文中單詞的個(gè)數(shù),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-03-03C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋
這篇文章主要為大家詳細(xì)介紹了C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋,包括數(shù)據(jù)結(jié)構(gòu)和對(duì)象設(shè)計(jì)及主函數(shù)調(diào)用實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09