版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言與程序設(shè)計課程設(shè)計學(xué)生籍貫信息記錄簿設(shè)計學(xué) 院 信息工程 班 級 物聯(lián)1301班 學(xué) 號 姓 名 滕玲 一設(shè)計目的該軟件主要是編輯一個學(xué)生籍貫信息記錄簿記錄每個學(xué)生信息,包括:學(xué)號、姓名、籍貫。具體功能:1.創(chuàng)建信息鏈表并以磁盤文件保存;2.讀取磁盤文件并顯示輸出所有學(xué)生的籍貫信息;3.按學(xué)號或姓名查詢其籍貫;4.按籍貫查詢并輸出該籍貫的所有學(xué)生;5.能添加、刪除和修改學(xué)生的籍貫信息;二總體設(shè)計1.設(shè)置輸入輸出流及將程序由磁盤文件保存,構(gòu)件類stu,其主要包括:學(xué)號,姓名,籍貫;2.構(gòu)建無返回值main函數(shù),輸出由與程序相關(guān)操作構(gòu)成的信息鏈表;3.根據(jù)鏈表設(shè)置利用switch函數(shù)和循環(huán)函
2、數(shù)將鏈表中的內(nèi)容一一實現(xiàn);三詳細設(shè)計1.學(xué)生基本信息的錄入這部分的功能主要包括信息的錄入,首先按程序提示輸入學(xué)生的學(xué)號,姓名,籍貫等。在錄入數(shù)據(jù)的同時,系統(tǒng)將對信息的合法性進行檢驗。若用戶輸入不合法的信息,則被系統(tǒng)要求重新輸入;若合法性成立則錄入完畢后系統(tǒng)將返回主頁面。主頁面還有顯示學(xué)生的全部信息,并且這些信息都會寫到你所指定的文本文件中。2.顯示學(xué)生信息此功能是將原錄入的學(xué)生信息讀出,并在屏幕上顯示出來,并且錄入到你所指定的文本文件中。3.學(xué)生信息讀取進入該項功能界面后,用戶可以對學(xué)生的個人信息進行查看,并且錄入到你所指定的文本文件中。4.按學(xué)號或姓名查找學(xué)生信息此項功能可以根據(jù)用戶輸入的選
3、擇查處該學(xué)生的所有信息,并且錄入到你所指定的文本文件中。5.刪除和修改個人信息選擇此項功能后,系統(tǒng)將會自動在屏幕上顯示按學(xué)號錄入原來同學(xué)的個人信息,輸入后進行修改,并且錄入到你所指定的文本文件中。6.退出系統(tǒng),結(jié)束任務(wù)【注:main()主函數(shù)每一C 程序都必須有一main()函數(shù), 可以根據(jù)自己的愛好把它放在程序某個地方。程序之前輸入學(xué)生信息,main()申明主函數(shù),輸出相應(yīng)的功能函數(shù)。 #include頭文件iostream意為輸入輸出流,包含了對輸入輸出流進行操作所需的基本信息;string意為字符串,用于定義程序中的字符串;fstream用于用戶管理的文件的I/O操作。 using na
4、mespace 命名空間名using namespace一次只能聲明一個命名空間成員,usingnamespace std聲明了在本作用域中要用的命名空間std中的成員。 break語言break語句可以使流程跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch語句下面的一個語句。其作用為使流程從循環(huán)體內(nèi)跳出循環(huán)體,即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)體下面的語句。break語句只能用于循環(huán)語句和switch語句 內(nèi),不能單獨使用或用于其他語句中?!克恼{(diào)試與測試在Visual C+6.0環(huán)境下輸入代碼并進行調(diào)試和正確運行五源程序清單和執(zhí)行結(jié)果#include#include#includeusing names
5、pace std;class CStudent private:int ID; /學(xué)號string Province; /籍貫string Name; /姓名 public:void setID(int id) ID=id;void setProvince(string province) Province=province;void setName(string name) Name=name; int getID() return ID;string getProvince() return Province;string getName() return Name;CStudent st
6、udent1000;int n = 0; /數(shù)組學(xué)生總數(shù)string fileName=students.txt;int AddStudent(); /添加一個學(xué)生到數(shù)組int Loop(); /顯示數(shù)組中所有學(xué)生int AddToFile(); /加數(shù)組學(xué)生到文件int SaveFile(); /數(shù)組到文件int ShowFile(); /顯示文件所有學(xué)生int FindID(); /按學(xué)號查詢學(xué)生int Findname(); /按姓名查詢學(xué)生int FindProvince(); /按籍貫查詢學(xué)生int Delete (); /刪除一個學(xué)生int ReadFile(); /文件輸入數(shù)組i
7、nt Remove (); /修改一個學(xué)生int Rediscovername(); /重新輸入學(xué)生int ReadFile(); /文件輸入數(shù)組void main()int k=-1;while(k!=0) coutendl; cout1 添加一個學(xué)生到數(shù)組 endl; cout2 顯示數(shù)組中所有學(xué)生 endl; cout3 加數(shù)組學(xué)生到文件 endl; cout4 顯示文件中所有學(xué)生 endl; cout5 按學(xué)號查詢學(xué)生 endl;cout6 按籍貫查詢學(xué)生 endl;cout7 按姓名查詢學(xué)生 endl;cout8 刪除一個學(xué)生 endl;cout9 修改一個學(xué)生 endl; cout
8、10 文件輸入數(shù)組 endl; cout0 完成 endl; coutk; if (k=1) AddStudent(); else if(k=2) Loop(); else if(k=3) AddToFile(); else if(k=4) ShowFile(); else if(k=5) FindID();else if(k=6) FindProvince();else if(k=7) Delete();else if(k=8) Remove(); else if(k=9) ReadFile(); else if(k=0) printf(完成!n); else printf(你輸入了個錯誤的
9、數(shù)字!n);return;int FindProvince() int id; string province1,province2; coutprovince1; ifstream iFile(fileName.c_str(); while(iFileidprovince2) if(province1=province2) coutid province2endl; iFile.close(); return 0;int FindID() int id1,id2; string province; coutid1;ifstream iFile(fileName.c_str(); while(
10、iFileid2province) if(id1=id2) coutid2 provinceendl; break; iFile.close(); return 0;int FindProvince() int name; string province1,province2;coutprovince1;ifstream iFile(fileID.c_str(); while(iFilenameprovince2) if(province1=province2) coutname province2endl; iFile.close(); return 0;int FindName() int
11、 name1,name2; string province; coutid1;ifstream iFile(fileID.c_str(); while(iFilename2province) if(name1=name2) coutname2 provinceendl; break; iFile.close(); return 0;int Remove() int id,i,j; coutid; ReadFile(); for(i=0;in;i+) if(studenti.getID()=id) n-; for(j=i;jn;j+) studentj=studentj+1; SaveFile(
12、); return 0;int AddStudent() int id; string province; coutidprovince;studentn.setID(id); studentn.setProvince(province); n+; return 0;int AddToFile() ofstream oFile(fileName.c_str(),ios:app); int i; for(i=0;in;i+) oFilestudenti.getID()studenti.getProvince()endl; oFile.close(); return 0;int SaveFile() ofstream oFile(fileName.c_str(); int i; for(i=0;in;i+) oFilestudenti.getID() studenti.getProvince()idprovince) studentn.setID(id); studentn.setProvince
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5G通信基站建設(shè)
- 交通運輸補充協(xié)議
- 實驗室隔音墻建設(shè)協(xié)議
- 體育館建設(shè)項目招投標檔案
- 電動汽車充電樁招投標文件
- 水上樂園租賃經(jīng)營合同
- 城市供電項目管理指南
- 律師事務(wù)所水電安裝施工合同
- 電纜材料廠道路安全管理
- 電影院欄桿裝修項目協(xié)議
- 家務(wù)勞動我能行-完整版課件
- 部編版二年級語文上冊第9課-黃山奇石課件
- 招投標管理培訓(xùn)課件
- 社會責(zé)任程序
- SY∕T 7338-2016 石油天然氣鉆井工程 套管螺紋連接氣密封現(xiàn)場檢測作業(yè)規(guī)程
- 靜脈治療管理規(guī)范
- DB42T1319-2021綠色建筑設(shè)計與工程驗收標準
- 市政給排水管道安裝工程監(jiān)理細則
- 小小銀行家課件講解學(xué)習(xí)共
- 五年級綜合實踐活動課件 模擬小法庭 全國通用
- 吊籃安全檢查記錄表
評論
0/150
提交評論