下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1. 程序執(zhí)行后的部分效果1.1 項(xiàng)目主菜單效果圖1.2 初始化信息,第一次對信息的錄入1.3 添加學(xué)生信息1.4 刪除某學(xué)生信息1.5 修改某學(xué)生信息1.6 查詢某學(xué)生信息1.7 顯示全部學(xué)生信息源代碼:/* 把 StudentData.cpp( 源代碼 ) 和 student.txt( 數(shù)據(jù)存放處 ) 放在同一個文件夾 下*/#include #include #include #include #include using namespace std;/ 最多提供 50 個學(xué)生的數(shù)據(jù),可根據(jù)需要進(jìn)行更改 const int MAX = 50;int count = 0;/ 用來統(tǒng)計(jì)學(xué)生人
2、數(shù)class Studentpublic:void Set();/ 初始化信息,第一次對信息的錄入void Add();/ 添加學(xué)生信息;void Student:Set()/ 從磁盤讀取數(shù)據(jù)以便 進(jìn)行 數(shù)據(jù)的操作,方便再重寫進(jìn)磁盤 friend void Read(string no,string name,string sex,stringspecial,string clas);int Judge(string num);/ 判斷 num 是否在學(xué)生信息數(shù)據(jù)庫中(注意它有一個參數(shù),并且有一個 int 型的返回值)void Delete();void Change(); void Sear
3、ch();void Display(); private:/ 刪除某學(xué)生信息/ 修改某學(xué)生信息/ 查詢某學(xué)生信息/ 顯示全部學(xué)生信息string m_no; string m_name;string m_sex;string m_special;/m_ 指的是成員變量( membe)rstring m_clas;string no, name, sex, special, clas;ofstream outfile(student.txt); / 打開文件if(!outfile)cerr open errorendl;exit(1); / 退出程序cout 當(dāng)學(xué)號輸入為 0 時(shí), 停止輸入 !
4、endl;coutvv請依次輸入學(xué)生的學(xué)號,姓名,性別,專業(yè),班級:endl;for(int i=0; iMAX; i+)cout第count+1個學(xué)生:no;if(no = 0) break;/ 當(dāng)輸入的學(xué)號是 0 時(shí),停止錄入cinnamesexspecialclas;count+;m_no = no;outfilem_not;/ 每錄入一個學(xué)號, 寫進(jìn)磁盤保存, 以下同理m_name = name;outfilem_namet;m_sex = sex;outfilem_sext;m_special = special;outfilem_specialt;m_clas = clas;out
5、filem_clasendl;outfile.close();/ 添加學(xué)生信息void Student:Add()string no, name, sex, special, clas;/ 以追加的方式錄入信息,直接將信息追加到以前文件的末尾ofstream outfile(student.txt,ios:app);if(!outfile)cerr open errorendl;exit(1);count+;/ 添加一個學(xué)生信息,當(dāng)然 count 要 +1coutvv請依次輸入要添加的學(xué)生學(xué)號,姓名,性別,專業(yè),班級:nonamesexspecialclas;m_no = no;outfile
6、m_not; m_name = name; outfilem_namet; m_sex = sex; outfilem_sext; m_special = special; outfilem_specialt; m_clas = clas; outfilem_clasendl; outfile.close(); cout 已添加成功 !endl;/ 從磁盤讀取數(shù)據(jù)void Read(string no,string name,string sex,string special,string clas)ifstream infile(student.txt,ios:in);if(!infile)
7、cerr open errorendl; exit(1);for(int i=0; inoinameisexispecialiclasi;infile.close();/ 判斷某學(xué)號的學(xué)生是否在數(shù)據(jù)庫中int Student:Judge(string num)string noMAX, nameMAX, sexMAX, specialMAX, clasMAX;Read(no, name, sex, special, clas);/ 調(diào)用 Read() 函數(shù),獲取數(shù)據(jù),以便等下進(jìn)行相關(guān)數(shù)據(jù)的判斷 for(int i=0; icount; i+)if(num = noi)return i;/ 如果
8、存在,返回其下標(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ù)據(jù), coutnum;int k = Judge(num); / 定義一個 k 來接收 Judge() 的返回值, 等下 用來判斷該num是否存在if(k != -1)/ 如果 k 不等于-1 , 表示要刪除的學(xué)生存在ofstream outfile(student
9、.txt);if(!outfile)cerr open errorendl;exit(1);for(int i=0; icount; i+)if(i != k)/把下標(biāo)不等于K (即除了要刪的學(xué)生外)其余的數(shù)據(jù)重新寫入磁盤保存 outfilenoit; outfilenameit; outfilesexit; outfilespecialit; outfileclasiendl;outfile.close();count-;/ 刪除一個學(xué)生,人數(shù) -1cout 刪除成功 !endl;elsecout 該數(shù)據(jù)庫沒有此學(xué)生 !endl;void Student:Change()string num
10、, noMAX, nameMAX, sexMAX, specialMAX, clasMAX; coutnum;int k = Judge(num);if(k != -1)/ 讀取學(xué)生所有數(shù)據(jù),Read(no, name, sex, special, clas);coutvv請依次輸入修改后的學(xué)生學(xué)號,姓名,性別,專業(yè),班級:noknameksexkspecialkclask;/ 把下標(biāo)是 k的學(xué)生進(jìn)行修改ofstream outfile(student.txt,ios:out);if(!outfile)cerr open errorendl;exit(1);for(int i=0; icoun
11、t; i+)/ 改完后,回寫進(jìn)磁盤保存outfilenoit; outfilenameit; outfilesexit; outfilespecialit; outfileclasiendl;outfile.close();cout 修改成功 !endl;elsecout 該數(shù)據(jù)庫沒有此學(xué)生 !endl;void Student:Search()string num, noMAX, nameMAX, sexMAX, specialMAX, clasMAX;Read(no, name, sex, special, clas); coutnum;int k = Judge(num);if(k !=
12、 -1)/ 找到該學(xué)生就打印出其信息cout學(xué)號t姓名t性別t專業(yè)t班級endl; coutnokt;coutnamekt; coutsexkt; coutspecialkt;coutclaskendl;elsecout 該數(shù)據(jù)庫沒有此學(xué)生 !endl;/ 顯示學(xué)生的所有信息void Student:Display()string noMAX, nameMAX, sexMAX, specialMAX, clasMAX Read(no, name, sex, special, clas); / 先讀取 coutvv學(xué)號t姓名t性別t專業(yè)t班級endl;/ 后打印for(int i=0; icou
13、nt; i+) coutnoit; coutnameit; coutsexit; coutspecialit; coutclasiendl; int main() int choice = -1;/ 除非你選擇退出,否則一直循環(huán) 學(xué)生信息管理系統(tǒng) -nn; 錄入學(xué)生信息 |n; 添加一個信息 |n; 刪除一個信息 |n; 修改學(xué)生信息 |n; 查詢學(xué)生信息 |n; 顯示學(xué)生信息 |n; 退出 系統(tǒng) |n;需要的操作 :;Student s; while(choice != 0) coutnttt- coutttt| 1. coutttt| 2. coutttt| 3. coutttt| 4. coutttt| 5. coutttt| 6. coutttt| 0. coutchoice; switch(choice)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Seneciphylline-Standard-生命科學(xué)試劑-MCE
- 防范網(wǎng)絡(luò)病毒:保護(hù)個人電腦不受病毒攻擊
- 2023年通遼市霍林郭勒市教育系統(tǒng)引進(jìn)筆試真題
- 企業(yè)三到五年規(guī)劃
- 2023年陜西北元化工集團(tuán)股份有限公司招聘筆試真題
- 2023年牡丹江林業(yè)中心醫(yī)院聘用醫(yī)生及其他專業(yè)技術(shù)人員筆試真題
- 2023年涼山州雷波重點(diǎn)國有林保護(hù)局招聘工作人員筆試真題
- 2023年樂東黎族自治縣招聘醫(yī)療衛(wèi)生專業(yè)人才考試真題
- 2024年中頻轉(zhuǎn)杯紡紗機(jī)項(xiàng)目提案報(bào)告
- 白酒公司運(yùn)營管理方案
- 2022年高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目施工組織設(shè)計(jì)
- 中華詩詞之美期末考試答案
- 幼兒園家長助教課件下載兩篇
- 幼兒園施工組織設(shè)計(jì)施工方案
- 1.2數(shù)據(jù)的計(jì)算第一課時(shí)教案教科版高中信息技術(shù)必修1
- 內(nèi)分泌科常用藥物使用注意事項(xiàng)
- (2024年)師德師風(fēng)學(xué)習(xí)內(nèi)容教師師德師風(fēng)培訓(xùn)內(nèi)容通用多篇
- 海派旗袍(30年代旗袍)
- 模板工程風(fēng)險(xiǎn)辨識及防范措施
- 2024年注冊消防工程師題庫(歷年真題)
- 直流電機(jī)的維護(hù)
評論
0/150
提交評論