版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C語(yǔ)言與程序設(shè)計(jì)課程設(shè)計(jì)</p><p> 學(xué)生籍貫信息記錄簿設(shè)計(jì)</p><p> 學(xué) 院 信息工程 </p><p> 班 級(jí) </p><p> 學(xué) 號(hào) </p><p> 姓 名
2、 </p><p><b> 一.設(shè)計(jì)目的</b></p><p> 該軟件主要是編輯一個(gè)學(xué)生籍貫信息記錄簿記錄每個(gè)學(xué)生信息,包括:學(xué)號(hào)、姓名、籍貫。具體功能:</p><p> 1.創(chuàng)建信息鏈表并以磁盤文件保存;</p><p> 2.讀取磁盤文件并顯示輸出所有學(xué)生的籍貫信息;&
3、lt;/p><p> 3.按學(xué)號(hào)或姓名查詢其籍貫;</p><p> 4.按籍貫查詢并輸出該籍貫的所有學(xué)生;</p><p> 5.能添加、刪除和修改學(xué)生的籍貫信息;</p><p><b> 二.總體設(shè)計(jì)</b></p><p> 1.設(shè)置輸入輸出流及將程序由磁盤文件保存,構(gòu)件類stu,其
4、主要包括:學(xué)號(hào),姓名,籍貫;</p><p> 2.構(gòu)建無(wú)返回值main函數(shù),輸出由與程序相關(guān)操作構(gòu)成的信息鏈表;</p><p> 3.根據(jù)鏈表設(shè)置利用switch函數(shù)和循環(huán)函數(shù)將鏈表中的內(nèi)容一一實(shí)現(xiàn);</p><p><b> 三.詳細(xì)設(shè)計(jì)</b></p><p> 1.學(xué)生基本信息的錄入</p>
5、<p> 這部分的功能主要包括信息的錄入,首先按程序提示輸入學(xué)生的學(xué)號(hào),姓名,籍貫等。在錄入數(shù)據(jù)的同時(shí),系統(tǒng)將對(duì)信息的合法性進(jìn)行檢驗(yàn)。若用戶輸入不合法的信息,則被系統(tǒng)要求重新輸入;若合法性成立則錄入完畢后系統(tǒng)將返回主頁(yè)面。主頁(yè)面還有顯示學(xué)生的全部信息,并且這些信息都會(huì)寫到你所指定的文本文件中。</p><p><b> 2.顯示學(xué)生信息</b></p><
6、;p> 此功能是將原錄入的學(xué)生信息讀出,并在屏幕上顯示出來,并且錄入到你所指定的文本文件中。</p><p><b> 3.學(xué)生信息讀取</b></p><p> 進(jìn)入該項(xiàng)功能界面后,用戶可以對(duì)學(xué)生的個(gè)人信息進(jìn)行查看,并且錄入到你所指定的文本文件中。</p><p> 4.按學(xué)號(hào)或姓名查找學(xué)生信息</p><p
7、> 此項(xiàng)功能可以根據(jù)用戶輸入的選擇查處該學(xué)生的所有信息,并且錄入到你所指定的文本文件中。</p><p> 5.刪除和修改個(gè)人信息</p><p> 選擇此項(xiàng)功能后,系統(tǒng)將會(huì)自動(dòng)在屏幕上顯示按學(xué)號(hào)錄入原來同學(xué)的個(gè)人信息,輸入后進(jìn)行修改,并且錄入到你所指定的文本文件中。</p><p> 6.退出系統(tǒng),結(jié)束任務(wù)</p><p>&
8、lt;b> 【注:</b></p><p><b> main()主函數(shù)</b></p><p> 每一C 程序都必須有一main()函數(shù), 可以根據(jù)自己的愛好把它放在程序某個(gè)地方。程序之前輸入學(xué)生信息,main()申明主函數(shù),輸出相應(yīng)的功能函數(shù)。 </p><p> #include<>頭文件&
9、lt;/p><p> iostream意為輸入輸出流,包含了對(duì)輸入輸出流進(jìn)行操作所需的基本信息;string意為字符串,用于定義程序中的字符串;fstream用于用戶管理的文件的I/O操作。</p><p> using namespace 命名空間名</p><p> using namespace一次只能聲明一個(gè)命名空間成員,using</p>
10、;<p> namespace std聲明了在本作用域中要用的命名空間std中的成員。</p><p><b> break語(yǔ)言</b></p><p> break語(yǔ)句可以使流程跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch語(yǔ)句下面的一個(gè)語(yǔ)句。其作用為使流程從循環(huán)體內(nèi)跳出循環(huán)體,即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)體下面的語(yǔ)句。break語(yǔ)句只能用于循環(huán)語(yǔ)句
11、和switch語(yǔ)句 內(nèi),不能單獨(dú)使用或用于其他語(yǔ)句中。</p><p><b> 】</b></p><p><b> 四.調(diào)試與測(cè)試</b></p><p> 在Visual C++6.0環(huán)境下輸入代碼并進(jìn)行調(diào)試和正確運(yùn)行</p><p> 五.源程序清單和執(zhí)行結(jié)果</p>
12、<p> #include<iostream></p><p> #include<string></p><p> #include<fstream></p><p> using namespace std;</p><p> class CStudent</p>&l
13、t;p><b> {</b></p><p><b> private:</b></p><p> int ID; //學(xué)號(hào)</p><p> string Province; //籍貫</p><p> string Name; //姓名 <
14、;/p><p><b> public:</b></p><p> void setID(int id) {ID=id;}</p><p> void setProvince(string province) {Province=province;}</p><p> void setName(string name
15、) {Name=name;}</p><p> int getID() {return ID;}</p><p> string getProvince() {return Province;}</p><p> string getName() {return Name;}</p><p><b> };</b>
16、;</p><p> CStudent student[1000];</p><p> int n = 0; //數(shù)組學(xué)生總數(shù)</p><p> string fileName="students.txt";</p><p> int AddStudent(); //添加一個(gè)學(xué)生到數(shù)組</p><
17、;p> int Loop(); //顯示數(shù)組中所有學(xué)生</p><p> int AddToFile(); //加數(shù)組學(xué)生到文件</p><p> int SaveFile(); //數(shù)組到文件</p><p> int ShowFile(); //顯示文件所有學(xué)生</p><p> int FindID(); //按學(xué)號(hào)查詢
18、學(xué)生</p><p> int Findname(); //按姓名查詢學(xué)生</p><p> int FindProvince(); //按籍貫查詢學(xué)生</p><p> int Delete (); //刪除一個(gè)學(xué)生</p><p> int ReadFile(); //文件輸入數(shù)組</p><p> in
19、t Remove (); //修改一個(gè)學(xué)生</p><p> int Rediscovername(); //重新輸入學(xué)生</p><p> int ReadFile(); //文件輸入數(shù)組</p><p> void main()</p><p><b> {</b></p><p>&
20、lt;b> int k=-1;</b></p><p> while(k!=0)</p><p><b> {</b></p><p> cout<<endl; </p><p> cout<<"1 添加一個(gè)學(xué)生到數(shù)組" <<endl;
21、</p><p> cout<<"2 顯示數(shù)組中所有學(xué)生" <<endl;</p><p> cout<<"3 加數(shù)組學(xué)生到文件" <<endl;</p><p> cout<<"4 顯示文件中所有學(xué)生" <<endl;
22、</p><p> cout<<"5 按學(xué)號(hào)查詢學(xué)生" <<endl;</p><p> cout<<"6 按籍貫查詢學(xué)生" <<endl;</p><p> cout<<"7 按姓名查詢學(xué)生" <<end
23、l;</p><p> cout<<"8 刪除一個(gè)學(xué)生" <<endl;</p><p> cout<<"9 修改一個(gè)學(xué)生" <<endl;</p><p> cout<<"10 文件輸入數(shù)組" <&
24、lt;endl;</p><p> cout<<"0 完成" <<endl;</p><p> cout<<"選擇上面一個(gè)數(shù)字:"; cin>>k;</p><p> if (k==1) AddStudent();</p>
25、<p> else if(k==2) Loop();</p><p> else if(k==3) AddToFile();</p><p> else if(k==4) ShowFile();</p><p> else if(k==5) FindID();</p><p> else if(
26、k==6) FindProvince();</p><p> else if(k==7) Delete();</p><p> else if(k==8) Remove();</p><p> else if(k==9) ReadFile();</p><p> else if(k==0) printf(
27、"完成!\n");</p><p> else printf("你輸入了個(gè)錯(cuò)誤的數(shù)字!\n");</p><p><b> }</b></p><p><b> return;</b></p><p><b> }&l
28、t;/b></p><p> int FindProvince()</p><p><b> {</b></p><p><b> int id;</b></p><p> string province1,province2;</p><p> cout&l
29、t;<"籍貫:"; cin>>province1;</p><p> ifstream iFile(fileName.c_str());</p><p> while(iFile>>id>>province2)</p><p><b> {</b></p><
30、;p> if(province1==province2)</p><p> cout<<id<<" "<<province2<<endl;</p><p><b> }</b></p><p> iFile.close();</p><p>
31、;<b> return 0;</b></p><p><b> }</b></p><p> int FindID()</p><p><b> {</b></p><p> int id1,id2;</p><p> string pro
32、vince;</p><p> cout<<"學(xué)號(hào):"; cin>>id1;</p><p> ifstream iFile(fileName.c_str());</p><p> while(iFile>>id2>>province)</p><p><b>
33、; {</b></p><p> if(id1==id2)</p><p><b> {</b></p><p> cout<<id2<<" "<<province<<endl;</p><p><b> break;&l
34、t;/b></p><p><b> }</b></p><p><b> }</b></p><p> iFile.close();</p><p><b> return 0;</b></p><p><b> }</
35、b></p><p> int FindProvince()</p><p><b> {</b></p><p><b> int name;</b></p><p> string province1,province2;</p><p> cout<
36、;<"籍貫:"; cin>>province1;</p><p> ifstream iFile(fileID.c_str());</p><p> while(iFile>>name>>province2)</p><p><b> {</b></p><
37、p> if(province1==province2)</p><p> cout<<name<<" "<<province2<<endl;</p><p><b> }</b></p><p> iFile.close();</p><p&g
38、t;<b> return 0;</b></p><p><b> }</b></p><p> int FindName()</p><p><b> {</b></p><p> int name1,name2;</p><p> str
39、ing province;</p><p> cout<<"姓名:"; cin>>id1;</p><p> ifstream iFile(fileID.c_str());</p><p> while(iFile>>name2>>province)</p><p>&
40、lt;b> {</b></p><p> if(name1==name2)</p><p><b> {</b></p><p> cout<<name2<<" "<<province<<endl;</p><p><b&
41、gt; break;</b></p><p><b> }</b></p><p><b> }</b></p><p> iFile.close();</p><p><b> return 0;</b></p><p><
42、b> }</b></p><p> int Remove()</p><p><b> {</b></p><p> int id,i,j;</p><p> cout<<"學(xué)號(hào):"; cin>>id;</p><p> R
43、eadFile();</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> if(student[i].getID()==id)</p><p><b> {</b></p><p><b> n
44、--;</b></p><p> for(j=i;j<n;j++)</p><p> student[j]=student[j+1];</p><p><b> }</b></p><p><b> }</b></p><p> SaveFile(
45、);</p><p><b> return 0;</b></p><p><b> }</b></p><p> int AddStudent()</p><p><b> {</b></p><p><b> int id;<
46、;/b></p><p> string province;</p><p> cout<<"學(xué)號(hào),籍貫: "; cin>>id>>province;</p><p> student[n].setID(id);</p><p> student[n].setProvinc
47、e(province);</p><p><b> n++;</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> int AddToFile()</p><p><b>
48、 {</b></p><p> ofstream oFile(fileName.c_str(),ios::app);</p><p><b> int i;</b></p><p> for(i=0;i<n;i++)</p><p> oFile<<student[i].getID
49、()<<"</p><p> "<<student[i].getProvince()<<endl;</p><p> oFile.close();</p><p><b> return 0;</b></p><p><b> }</b>
50、;</p><p> int SaveFile()</p><p><b> {</b></p><p> ofstream oFile(fileName.c_str());</p><p><b> int i;</b></p><p> for(i=0;i<
51、;n;i++)</p><p> oFile<<student[i].getID()<<" "<<student[i].getProvince()<<endl;</p><p> oFile.close();</p><p><b> return 0;</b></
52、p><p><b> }</b></p><p> int ReadFile()</p><p><b> {</b></p><p><b> int id;</b></p><p> string province;</p>&l
53、t;p> ifstream iFile(fileName.c_str());</p><p><b> n = 0;</b></p><p> while(iFile>>id>>province)</p><p><b> {</b></p><p> stu
54、dent[n].setID(id);</p><p> student[n].setProvince(province);</p><p><b> n++;</b></p><p><b> }</b></p><p> iFile.close();</p><p>
55、;<b> return 0;</b></p><p><b> }</b></p><p> int Loop()</p><p><b> {</b></p><p><b> int i;</b></p><p>
56、 cout<<"顯示所有學(xué)生:"<<endl;</p><p> for(i=0;i<n;i++)</p><p> cout<<"學(xué)號(hào)= "<<student[i].getID()<<"籍貫= "<<student[i].getProvince()
57、<<endl;</p><p><b> return 0;</b></p><p><b> }</b></p><p> int ShowFile()</p><p><b> {</b></p><p><b> i
58、nt id;</b></p><p> string province;</p><p> ifstream iFile(fileName.c_str());</p><p> while(iFile>>id>>province)</p><p> cout<<id<<&qu
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生籍貫信息記錄簿(c語(yǔ)言課程設(shè)計(jì)報(bào)告)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---學(xué)生籍貫信息記錄簿系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---學(xué)生籍貫信息記錄簿
- 學(xué)生籍貫信息記錄簿課程設(shè)計(jì)報(bào)告
- 基于c++的學(xué)生籍貫信息記錄簿設(shè)計(jì)
- 學(xué)生籍貫信息記錄簿
- c語(yǔ)言課程設(shè)計(jì)成績(jī)記錄簿
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生成績(jī)記錄簿
- c語(yǔ)言課程設(shè)計(jì)成績(jī)記錄簿
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)信息記錄簿的設(shè)計(jì)
- c學(xué)生成績(jī)記錄簿課程設(shè)計(jì)
- 課程設(shè)計(jì)---學(xué)生成績(jī)記錄簿設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績(jī)記錄簿
- c語(yǔ)言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告成績(jī)記錄簿
- 成績(jī)記錄簿課程設(shè)計(jì)
- 課程設(shè)計(jì)--- 成績(jī)記錄簿
- c++課程設(shè)計(jì)——學(xué)生籍貫信息記錄薄
- 成績(jī)記錄簿課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-成績(jī)記錄簿
- 課程設(shè)計(jì)報(bào)告-學(xué)生籍貫信息記錄薄
評(píng)論
0/150
提交評(píng)論