學(xué)生信息管理系統(tǒng)C++代碼_第1頁(yè)
學(xué)生信息管理系統(tǒng)C++代碼_第2頁(yè)
學(xué)生信息管理系統(tǒng)C++代碼_第3頁(yè)
學(xué)生信息管理系統(tǒng)C++代碼_第4頁(yè)
學(xué)生信息管理系統(tǒng)C++代碼_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1. 程序執(zhí)行后的部分效果1.1項(xiàng)目主菜單效果圖1.2初始化信息,第一次對(duì)信息的錄入1.3添加學(xué)生信息1.4刪除某學(xué)生信息1.5修改某學(xué)生信息1.6查詢某學(xué)生信息1.7顯示全部學(xué)生信息源代碼:/*把StudentData.cpp(源代碼) 和 student.txt(數(shù)據(jù)存放處)放在同一個(gè)文件夾下*/#include <iostream>#include <string>#include <fstream>#include <string>#include <iomanip>using namespace std;/最多提供50個(gè)學(xué)生

2、的數(shù)據(jù),可根據(jù)需要進(jìn)行更改const int MAX = 50;int count = 0;/用來(lái)統(tǒng)計(jì)學(xué)生人數(shù)class Student public:void Set();/初始化信息,第一次對(duì)信息的錄入void Add();/添加學(xué)生信息/從磁盤讀取數(shù)據(jù)以便 進(jìn)行 數(shù)據(jù)的操作,方便再重寫進(jìn)磁盤friend void Read(string no,string name,string sex,string special,string clas);int Judge(string num);/判斷 num 是否在學(xué)生信息數(shù)據(jù)庫(kù)中(注意它有一個(gè)參數(shù),并且有一個(gè)int型的返回值)void Del

3、ete();/刪除某學(xué)生信息void Change();/修改某學(xué)生信息 void Search();/查詢某學(xué)生信息void Display();/顯示全部學(xué)生信息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&l

4、t;<" open error"<<endl;exit(1);/退出程序cout<<"當(dāng)學(xué)號(hào)輸入為 0 時(shí),停止輸入!"<<endl;cout<<"請(qǐng)依次輸入學(xué)生的學(xué)號(hào),姓名,性別,專業(yè),班級(jí):"<<endl;for(int i=0; i<MAX; i+)cout<<"第"<<count+1<<"個(gè)學(xué)生:"<<endl;cin>>no;if(no = "0

5、") break;/當(dāng)輸入的學(xué)號(hào)是 0 時(shí),停止錄入cin>>name>>sex>>special>>clas;count+;m_no = no;outfile<<m_no<<"t"/每錄入一個(gè)學(xué)號(hào),寫進(jìn)磁盤保存,以下同理m_name = name;outfile<<m_name<<"t"m_sex = sex;outfile<<m_sex<<"t"m_special = special;outfile&l

6、t;<m_special<<"t"m_clas = clas;outfile<<m_clas<<endl;outfile.close();/添加學(xué)生信息void Student:Add()string no, name, sex, special, clas;/以追加的方式錄入信息,直接將信息追加到以前文件的末尾ofstream outfile("student.txt",ios:app);if(!outfile) cerr<<" open error"<<endl;

7、exit(1); count+;/添加一個(gè)學(xué)生信息,當(dāng)然 count 要 +1cout<<"請(qǐng)依次輸入要添加的學(xué)生學(xué)號(hào),姓名,性別,專業(yè),班級(jí):"<<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

8、_sex<<"t"m_special = special;outfile<<m_special<<"t"m_clas = clas;outfile<<m_clas<<endl;outfile.close();cout<<"已添加成功!"<<endl;/從磁盤讀取數(shù)據(jù)void Read(string no,string name,string sex,string special,string clas)ifstream infile("stu

9、dent.txt",ios:in);if(!infile)cerr<<" open error"<<endl;exit(1);for(int i=0; i<count; i+)/只讀取存放在數(shù)組中 但不對(duì)其進(jìn)行相關(guān)操作infile>>noi>>namei>>sexi>>speciali>>clasi;infile.close();/判斷某學(xué)號(hào)的學(xué)生是否在數(shù)據(jù)庫(kù)中int Student:Judge(string num)string noMAX, nameMAX, sexMAX

10、, specialMAX, clasMAX;Read(no, name, sex, special, clas);/調(diào)用Read()函數(shù),獲取數(shù)據(jù),以便等下進(jìn)行相關(guān)數(shù)據(jù)的判斷for(int i=0; i<count; i+)if(num = noi)return i;/如果存在,返回其下標(biāo)break;return -1;/否則,返回-1/刪除某學(xué)生信息void Student:Delete()string num, noMAX, nameMAX, sexMAX, specialMAX, clasMAX;Read(no, name, sex, special, clas);/讀取學(xué)生所有數(shù)

11、據(jù),cout<<"請(qǐng)輸入你要?jiǎng)h除的學(xué)生學(xué)號(hào):"cin>>num;int k = Judge(num);/定義一個(gè)k來(lái)接收J(rèn)udge()的返回值,等下用來(lái)判斷該num是否存在if(k != -1)/如果k不等于-1, 表示要?jiǎng)h除的學(xué)生存在ofstream outfile("student.txt");if(!outfile)cerr<<" open error"<<endl; exit(1); for(int i=0; i<count; i+)if(i != k)/把下標(biāo)不等于K(即

12、除了要?jiǎng)h的學(xué)生外)其余的數(shù)據(jù)重新寫入磁盤保存outfile<<noi<<"t"outfile<<namei<<"t"outfile<<sexi<<"t"outfile<<speciali<<"t"outfile<<clasi<<endl;outfile.close();count-;/刪除一個(gè)學(xué)生,人數(shù) -1cout<<"刪除成功!"<<endl;els

13、ecout<<"該數(shù)據(jù)庫(kù)沒有此學(xué)生!"<<endl;void Student:Change()string num, noMAX, nameMAX, sexMAX, specialMAX, clasMAX;cout<<"請(qǐng)輸入你要修改的學(xué)生學(xué)號(hào):"cin>>num;int k = Judge(num);if(k != -1)Read(no, name, sex, special, clas);/讀取學(xué)生所有數(shù)據(jù),cout<<"請(qǐng)依次輸入修改后的學(xué)生學(xué)號(hào),姓名,性別,專業(yè),班級(jí):&quo

14、t;<<endl;cin>>nok>>namek>>sexk>>specialk>>clask;/把下標(biāo)是k的學(xué)生進(jìn)行修改ofstream outfile("student.txt",ios:out);if(!outfile) cerr<<" open error"<<endl; exit(1); for(int i=0; i<count; i+)/改完后,回寫進(jìn)磁盤保存outfile<<noi<<"t"out

15、file<<namei<<"t"outfile<<sexi<<"t"outfile<<speciali<<"t"outfile<<clasi<<endl;outfile.close();cout<<"修改成功!"<<endl;elsecout<<"該數(shù)據(jù)庫(kù)沒有此學(xué)生!"<<endl;void Student:Search()string num, noM

16、AX, nameMAX, sexMAX, specialMAX, clasMAX;Read(no, name, sex, special, clas);cout<<"請(qǐng)輸入你要查找的學(xué)生學(xué)號(hào)"cin>>num;int k = Judge(num);if(k != -1)/找到該學(xué)生就打印出其信息cout<<"學(xué)號(hào)t姓名t性別t專業(yè)t班級(jí)"<<endl;cout<<nok<<"t"cout<<namek<<"t"cout&

17、lt;<sexk<<"t"cout<<specialk<<"t"cout<<clask<<endl;elsecout<<"該數(shù)據(jù)庫(kù)沒有此學(xué)生!"<<endl;/顯示學(xué)生的所有信息void Student:Display()string noMAX, nameMAX, sexMAX, specialMAX, clasMAX;Read(no, name, sex, special, clas);/先讀取cout<<"學(xué)號(hào)t姓名t

18、性別t專業(yè)t班級(jí)"<<endl;for(int i=0; i<count; i+)/后打印cout<<noi<<"t"cout<<namei<<"t"cout<<sexi<<"t"cout<<speciali<<"t"cout<<clasi<<endl;int main()int choice = -1;Student s;while(choice != 0)/除非你選擇退出,否則一直循環(huán)cout<

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論