




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、JISHOU UNIVERSITY本科生課程設(shè)計計算機語言程序設(shè)計基礎(chǔ)I題目:學(xué)生信息管理系統(tǒng)開發(fā)作 者:學(xué) 號: 所屬學(xué)院: 班 級: 完成時間:評分表序號評分項分數(shù)1出勤及表現(xiàn)2功能完善3文檔格式與文字表達4代碼風格5測試調(diào)試6圖表7功能設(shè)計8目錄結(jié)構(gòu)設(shè)計9界面與流程10加分合計課程設(shè)計工作組長簽字:年月日一、 問題分析 . 5二、 總體設(shè)計 . 71. 界面設(shè)計 72. 數(shù)據(jù)結(jié)構(gòu)設(shè)計 83. 文件結(jié)構(gòu)設(shè)計 94. 系統(tǒng)功能結(jié)構(gòu)設(shè)計 95. 工程目錄結(jié)構(gòu)設(shè)計 10三、 模塊實現(xiàn)、測試與調(diào)試 . 101. 主控模塊 10函數(shù)原型 10函數(shù)定義 10函數(shù)測試 122. 界面模塊 131)打印菜
2、單功能 132)打印學(xué)生卡片 163)打印添加學(xué)生提示 184)打印刪除學(xué)生提示 195) 打印修改學(xué)生提示 203. 數(shù)據(jù)處理模塊 211)添加學(xué)生功能 212)刪除學(xué)生功能 243)修改學(xué)生功能 264)查詢功能 275)瀏覽功能 6)列表判空功能 277)列表判滿功能 284.存儲模塊 291)讀入數(shù)據(jù) 292)保存數(shù)據(jù) 31四、 系統(tǒng)集成測試 321.主控模塊 +添加學(xué)生 322. 主控模塊 +添加學(xué)生 +存儲模塊 錯誤! 未定義書簽36五、 總結(jié) 43問題分析課程設(shè)計的題目為學(xué)生信息管理系統(tǒng)開發(fā),要求實現(xiàn)添加學(xué)生、刪 除學(xué)生、修改學(xué)生信息、瀏覽所有學(xué)生和查詢學(xué)生等操作。為了能夠把 學(xué)
3、生信息永久保存下來需要使用文件。需要保存的數(shù)據(jù)結(jié)構(gòu)簡單,數(shù)據(jù) 文件采用純文本文件,擴展名為 txt 。學(xué)生信息包括以下幾個數(shù)據(jù):學(xué)號、姓名、性別、班級、宿舍。這 些數(shù)據(jù)都是字符串類型,學(xué)號的長度為 12,姓名的最大長度為 50,性別 的最大長度為 2,班級的最大長度為 30,宿舍的最大長度為 10。性別必 須是男或者女。所有數(shù)據(jù)均不能為空。添加學(xué)生操作要求用戶輸入學(xué)生的所有信息。刪除學(xué)生操作要求用 戶首先輸入要刪除的學(xué)生的學(xué)號,然后系統(tǒng)根據(jù)學(xué)號刪除相應(yīng)數(shù)據(jù)。修 改學(xué)生信息要求用戶輸入學(xué)生的所有信息,然后系統(tǒng)用輸入的數(shù)據(jù)替代 現(xiàn)有的數(shù)據(jù)。瀏覽所有學(xué)生信息操作把所有學(xué)生的信息按照添加的先后 順序顯
4、示出來。查詢學(xué)生操作要求用戶首先輸入要刪除的學(xué)生的學(xué)號, 然后系統(tǒng)根據(jù)學(xué)號找到相應(yīng)數(shù)據(jù),并且顯示出來。上述所有操作正常完 成后,不給出任何報告,如果不能正常完成,則給出錯誤報告。在系統(tǒng)啟動時,從數(shù)據(jù)文件中讀入數(shù)據(jù),操作過程中數(shù)據(jù)更新保存 在內(nèi)存,在系統(tǒng)退出或者用戶要求保存時才把內(nèi)存中的數(shù)據(jù)保存到文件 中。系統(tǒng)為控制臺應(yīng)用程序,采用控制臺菜單作為用戶界面。系統(tǒng)總體業(yè)務(wù)流程見下圖總體設(shè)計1. 界面設(shè)計系統(tǒng)菜單提供與系統(tǒng)需要完成的添加學(xué)生、刪除學(xué)生、修改學(xué)生信息、瀏覽所有學(xué)生和查詢學(xué)生功能相對應(yīng)的菜單命令,以及保存文件和退出系統(tǒng)的菜單命令。從數(shù)據(jù)文件中讀入數(shù)據(jù)是在系統(tǒng)啟動時自動完成 的,不需要提供相
5、應(yīng)的菜單命令。下圖為命令菜單*學(xué)生信息管理系統(tǒng)1。添加學(xué)生2。刪除學(xué)生3。修改學(xué)生4。查詢學(xué)生5。學(xué)生列表6。保存文件0。退出系統(tǒng)*瀏覽所有學(xué)生操作的打印結(jié)果采用列表方式顯示,列表包括三個部分:表格標題、表頭和表格數(shù)據(jù)。下圖為學(xué)生列表的一個例子。 =學(xué)=生名冊 = 學(xué)號姓名性別班級 宿舍20144055001 馮午陽 男14 通信 1 7#101添加學(xué)生給出的提示信息如下圖所示,包括操作提示和信息提示兩個部分。 添加學(xué)生 學(xué)號 姓名 性別 班級 宿舍7 / 44修改學(xué)生給出的提示信息如下圖所示,包括操作提示和信息提示兩 個部分。 修改學(xué)生 學(xué)號 姓名 性別 班級 宿舍 查詢學(xué)生的結(jié)果是學(xué)生信息
6、卡,如下圖所示,在開始標識和結(jié)束標 識之間,以每行一條數(shù)據(jù)的方式顯示各項信息。=學(xué)生卡片 =學(xué)號: 20144055003姓名:馮午陽性別:男班級: 14 通信 1宿舍: 7#1012. 數(shù)據(jù)結(jié)構(gòu)設(shè)計用結(jié)構(gòu)體存放學(xué)生信息,結(jié)構(gòu)體類型 Student 定義如下圖所示。其 中使用常量存放各項數(shù)據(jù)的最大長度。struct Studentchar sidSID_SIZE+1;/學(xué)號char nameNAME_SIZE+1;/ 姓名char sexSEX_SIZE+1; /性別char sClassSCLASS_SIZE+1;/ 班級char dormDORM_SIZE+1;/ 宿舍;用數(shù)組 sList
7、 存放學(xué)生信息表, 用 SIZE 存放數(shù)組的最大長度, 用整 型變量 len 保存數(shù)組中存放的學(xué)生個數(shù) , 并初始化為 0。相關(guān)的定義代碼 如下圖所示。Student sListLIST_SIZE;int len=0;3. 文件結(jié)構(gòu)設(shè)計存放學(xué)生信息的文件名為 stude ntData.txt ,文件中每行保存一個 學(xué)生的數(shù)據(jù)。每行為5個字符串,中間用一個空格隔開。每個字符串為 一項數(shù)據(jù),依次為學(xué)號、姓名、性別、班級、宿舍。每項數(shù)據(jù)為一個沒 有空格的字符串。4. 系統(tǒng)功能結(jié)構(gòu)設(shè)計除主控模塊外,整個系統(tǒng)的主要功能分為三大模塊:界面、存儲、 數(shù)據(jù)處理。界面模塊包括打印菜單、打印學(xué)生卡片、打印添加學(xué)生
8、提示、 打印刪除學(xué)生提示、打印修改學(xué)生提示、打印查詢學(xué)生提示、打印學(xué)生 列表、報告表空、報告學(xué)生不存在、報告文件錯誤。存儲模塊包括讀入 數(shù)據(jù)和保存數(shù)據(jù)。數(shù)據(jù)處理模塊包括添加學(xué)生、刪除學(xué)生、修改學(xué)生、查詢、瀏覽和列表判空。系統(tǒng)功能結(jié)構(gòu)如下圖所示5. 工程目錄結(jié)構(gòu)設(shè)計系統(tǒng)工程名稱 StudentMan, main.cpp 中定義 main 函數(shù),實現(xiàn)總體 業(yè)務(wù)流程的控制, ui.h 、 ui.cpp 中聲明、定義界面模塊中的各個功能函 數(shù), store.h 、store.cpp 中聲明、定義存儲模塊中的各個功能函數(shù), data.h 、data.cpp 中聲明、定義數(shù)據(jù)處理模塊中的各個功能函數(shù)。三、
9、模塊實現(xiàn)、測試與調(diào)試1. 主控模塊函數(shù)原型int main();函數(shù)定義#include #include #include using namespace std;int main()char cmd;/1. 讀入數(shù)據(jù)/cout 讀入數(shù)據(jù) .endl;printf( 讀入數(shù)據(jù) .n);/ 循環(huán)執(zhí)行步驟 2、 3、 4while(true)/2. 打印菜單 /cout 菜單 endl; printf( 菜單 n);/3. 輸入命令 cmd/cout 請輸入命令 (1,2,3,4,5,6,0):cmd;/scanf(%c,&cmd);cmd=getch();switch(cmd)/4. 根據(jù) c
10、mc,分支case O:/4.1 如果 cmd是退出,/4.1.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;printf( 保存數(shù)據(jù) n);/4.1.2 退出系統(tǒng)exit(-1);break;case 6:/4.2 如果 cmd是保存/4.2.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;printf( 保存數(shù)據(jù) n);break;case 1:/4.3 如果 cmd是添加/4.3.1 添加學(xué)生/cout 添加學(xué)生 endl;printf( 添加學(xué)生 n);break;case 2:/4.4 如果 cmd是刪除/4.4.1 刪除學(xué)生/cout 刪除學(xué)生 endl;printf( 刪除學(xué)生 n);
11、break;case 3:/4.5 如果cmd是修改/4.5.1 修改學(xué)生/cout 修改學(xué)生 endl;printf( 修改學(xué)生 n);break;case 4:/4.6 如果 cmd是查詢/4.6.1 查詢學(xué)生cout查詢學(xué)生endl; printf(”查詢學(xué)生 n);break;case 5:/4.7 如果 cmd是瀏覽 /4.7.1 打印學(xué)生列表 cout學(xué)生列表endl; printf(學(xué)生列表 n); break;default:printf( 錯誤命令! n); break;return 0;函數(shù)測試測試記錄1. 當使用 scanf(%c,&cmd); 輸入命令時出現(xiàn)問題。更正辦
12、法是: 使用 cmd=getch(); 輸入命令。需要包含 conio.h 頭文件。2. 界面模塊界面模塊包括打印菜單、打印學(xué)生卡片、打印添加學(xué)生提示、打 印刪除學(xué)生提示、打印修改學(xué)生提示、打印查詢學(xué)生提示、打印學(xué)生列 表、報告表空、報告學(xué)生不存在、報告文件錯誤。1) 打印菜單功能函數(shù)原型void printMenu();函數(shù)定義 void printMenu()printf(*n);printf(學(xué)生信息管理系統(tǒng)nprintf(1。添加學(xué)生n);printf(2。刪除學(xué)生n);printf(3。修改學(xué)生n);printf(4。查詢學(xué)生n);printf(5。學(xué)生列表n);printf(6。保
13、存文件n);printf(0。退出系統(tǒng)n);printf(*n); 函數(shù)測試#include #include #include #include ui.h using namespace std; int main()char cmd;/1. 讀入數(shù)據(jù)/cout 讀入數(shù)據(jù) .endl;printf( 讀入數(shù)據(jù) .n);/ 循環(huán)執(zhí)行步驟 2、3、 4while(true)/2. 打印菜單/cout 菜單 endl;/printf(菜單 n);printMenu();/3. 輸入命令 cmd/cout 請輸入命令 (1,2,3,4,5,6,0):cmd;/scanf(%c,&cmd);cmd=g
14、etch();switch(cmd)/4. 根據(jù) cmc,分支 case 0:/4.1 如果 cmd是退出,/4.1.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;printf( 保存數(shù)據(jù) n);/4.1.2 退出系統(tǒng)exit(-1);break;case 6:/4.2 如果 cmd是保存/4.2.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;printf( 保存數(shù)據(jù) n);break;case 1:/4.3 如果 cmd是添加/4.3.1 添加學(xué)生/cout 添加學(xué)生 endl;printf( 添加學(xué)生 n);break;case 2:/4.4 如果 cmd是刪除/4.4.1 刪除學(xué)生/cout
15、 刪除學(xué)生 endl;printf( 刪除學(xué)生 n);break;case 3:/4.5 如果cmd是修改 /4.5.1 修改學(xué)生/cout 修改學(xué)生 endl; printf( 修改學(xué)生 n); break;case 4:/4.6 如果 cmd是查詢 /4.6.1 查詢學(xué)生/cout 查詢學(xué)生 endl; printf( 查詢學(xué)生 n); break;case 5:/4.7 如果 cmd是瀏覽/4.7.1 打印學(xué)生列表/cout 學(xué)生列表 endl; printf( 學(xué)生列表 n); break;default:printf( 錯誤命令! n); break;return 0;2)瀏覽功能函
16、數(shù)原型void printStudentList(Student sList, int len);函數(shù)定義單元測試3)打印學(xué)生卡片函數(shù)原型 void printStudent(Student s);函數(shù)定義void prin tStude nt(Stude nt s)printf(”=學(xué)生卡片n);printf(”學(xué)號:%sn,s.sid);printf(姓名:%sn,s. name);printf(性別:%sn,s.sex);printf( 班級:%sn,s.sClass);printf(” 宿舍:%sn,s.dorm);prin tf(=n);單元測試測試代碼void test_pri n
17、tStude nt()Student s =20144055003, 馮午陽,男,14 通信 1,7#101;prin tStude nt(s);學(xué)生卡片=二=二二號茗別級舍 學(xué)姓杵班疥2014)5,5003 馮午阻 男 14 信 1 7101Press any key to cotitinue盤空I魯_!琦il占口 電|J課總r 1目三艷 Z I藥l q . ./flfio j*測試代碼void test_pri ntStude nt()Student s 二20144055003, 韓宇楓, 男,14 通信1,7#101;prin tStude nt(s);的昭男14M7S1號茗別級命 學(xué)
18、姓性常Press any key to cotitinue吵|1 eJq 1科百Wf S J,r*Jm-3)打印添加學(xué)生提示函數(shù)原型 void printAddStudentTips();函數(shù)定義void prin tAddStude ntTips()printf(” 添加學(xué)生n);printf(”學(xué)號 姓名 性別班級宿舍n);單元測試int mai n()prin tAddStude ntTips();return 0;*1 SS i 1-iLl學(xué)號姓名 性別班級宿舍 卩ress any key to eontinuo4) 打印刪除學(xué)生提示函數(shù)原型void prin tDeleteTips(
19、);函數(shù)定義void prin tDeleteTips()修改學(xué)生n);性別班級 宿舍n”);printf(prin tf( 學(xué)號姓名單元測試#in clude #i nclude ui.h int mai n()prin tDeleteTips(); return 0;5) 打印修改學(xué)生提示函數(shù)原型函數(shù)定義單元測試打印查詢學(xué)生提示函數(shù)原型函數(shù)定義單元測試打印學(xué)生列表函數(shù)原型函數(shù)定義單元測試報告表空函數(shù)原型函數(shù)定義單元測試報告學(xué)生不存在函數(shù)原型函數(shù)定義單元測試報告文件錯誤函數(shù)原型函數(shù)定義單元測試3. 數(shù)據(jù)處理模塊數(shù)據(jù)處理模塊包括添加學(xué)生、刪除學(xué)生、修改學(xué)生、查詢、瀏覽和 列表判空。1) 添加學(xué)
20、生功能函數(shù)原型void addStudent(Student sList,int len,Student s);函數(shù)定義void addStudent(Student sList,int *len,Student s) strcpy(sList*len.sid ,s.sid); strcpy(sList* , ); strcpy(sList*len.sex , s.sex); strcpy(sList*len.sClass , s.sClass); strcpy(sList*len.dorm , s.dorm);(*len)+;單元測試void addStudent
21、(Student sList,int *len,Student s) strcpy(sList*len.sid ,s.sid); strcpy(sList* , ); strcpy(sList*len.sex , s.sex); strcpy(sList*len.sClass , s.sClass); strcpy(sList*len.dorm , s.dorm);(*len)+;void test_addStudent() Student sList10; int len=0;Student s =20144055003, 馮 午 陽 , 男 ,14 通 信 1,
22、7#101;addStudent(sList,&len,s); printStudent(sList0); printf( 學(xué)生數(shù)目: %dn,len); 測試記錄1. 第一次的代碼 void addStudent(Student sList,int len,Student s) strcpy(sListlen.sid ,s.sid); strcpy(sL , ); strcpy(sListlen.sex , s.sex); strcpy(sListlen.sClass , s.sClass); strcpy(sListlen.dorm , s.dorm);l
23、en+;void test_addStudent() Student sList10; int len=0;Student s =20144055003, 馮 午 陽 , 男 ,14 通 信 1,7#101;addStudent(sList,len,s); printStudent(sList0); printf( 學(xué)生數(shù)目: %dn,len);學(xué)生數(shù)目:0-ICl *號名別級舍 學(xué)姓性班宿二二二二二學(xué)生卡片二=二二二二弓:20144055003I:馮午陽:男I;14通信1:7#101IPress any key to continue 叫 1JI止問題:學(xué)生數(shù)目應(yīng)該為1,輸出結(jié)果是0.分析:
24、說明記錄學(xué)生數(shù)目的變量len的值沒有變化。原因是單向值傳遞。 修改:傳遞len的地址修改后的代碼:void addStude nt(Stude nt sList,i nt *le n,Stude nt s)strcpy(sList*le n.sid ,s.sid);strcpy(sList*le n. name , s.n ame);strcpy(sList*le n.sex , s.sex);strcpy(sList*le n.sClass , s.sClass);strcpy(sList*le n.dorm , s.dorm);(*le n)+;void test_addStude nt(
25、)Stude nt sList10;int len=0;Students 二20144055003,馮午陽,男,14 通信1,7#101;addStude nt(sList,&le n,s);prin tStude nt(sList0);prin tf(學(xué)生數(shù)目:%dn,le n);測試結(jié)果=學(xué)生卡片二=二二二二二二呂學(xué)號工 20144055003姓名,馮午陽性別:男班級:14通信1宿舍:7W101學(xué)生數(shù)目,1Press any key to continue2)刪除學(xué)生功能從學(xué)生列表sList中刪除編號為i的學(xué)生,要求i大于等于0小于 學(xué)生數(shù)目len。函數(shù)原型void deleteStude
26、nt(Student sList,int *len,int i);函數(shù)定義void deleteStudent(Student sList,int *len,int i)II把編號i+1到len-1的學(xué)生的數(shù)據(jù) 前移一位 for(;i ui. as fl*-3 01Prss anykey to continue.Ifi4. 存儲模塊存儲模塊包括讀入數(shù)據(jù)和保存數(shù)據(jù)。存放學(xué)生信息的文件名為studentData.txt ,文件中每行保存一個學(xué)生的數(shù)據(jù)。每行為5個字符串, 中間用一個空格隔開。每個字符串為一項數(shù)據(jù),依次為學(xué)號、姓名、性 別、班級、宿舍。每項數(shù)據(jù)為一個沒有空格的字符串。1)讀入數(shù)據(jù)函數(shù)
27、原型int readData(char filename, Student sList, int *len);函數(shù)定義int readData(char fileName, Student sList, int *len)FILE* fp = fopen(fileName,r);Student s;if(fp = NULL) return 0;while(!feof(fp)fscanf(fp,%s %s %s %s %s,s.sid,,s.sex,s.sClass, s.dorm);addStudent(sList,len,s);fclose(fp);return 1;單元測試vo
28、id test_readData()Student sList10;int len=0;char fileName=studentData.txt;int flag = readData(fileName, sList, &len); int i;if(flag=1)for(i=0; i老制牛1 學(xué)姓性班宿=二=學(xué)生卡片二=號名別簸全 學(xué)H性禿智:20144059001再::wh 斕飢山 | 瓠理)址序| a -i0; 1#/j “fletc jc is-t馮午陽:貫* 1 Jitftlj 7#ltMPiess any key to c ontimiefc;砂1 ”|舟、科B“ 尸財2)保存數(shù)
29、據(jù)函數(shù)原型int saveData(char fileName, Student sList, int len);函數(shù)定義int saveData(char fileName, Student sList, int len) int i;FILE* fp = fope n(fileName,w);if(fp=NULL)return 0;for(i=0; ile n; i+)fprintf(fp,%s %s %s %s %sn,sListi.sid,sL, sListi.sex,sListi.sClass,sListi.dorm);fclose(fp);return 1;單元測
30、試void test_saveData() Student sList10;int len=0;char fileName=studentData.txt;char fileName2=studentData2.txt;int flag = readData(fileName, sList, &len);int i;if(flag=1)for(i=0; ilen; i+) printStudent(sListi);elseprintf( 文件訪問出錯 !);strcpy(sL,fwy); saveData(fileName2, sList, len);studentData2
31、.txt 文件中的內(nèi)容:20144055001 fwy 男 14 通信 1 7#10120144055001 馮午陽 男 14 通信 1 7#10220144055001 馮午陽 男 14 通信 1 7#10320144055001 馮午陽 男 14 通信 1 7#104四、系統(tǒng)集成測試1.主控模塊 +添加學(xué)生測試代碼#include #include #include #include ui.husing namespace std;int main()/test_printStudent();/printAddStudentTips();/test_addStudent();/test_f
32、ullSList();/return 0;char cmd;Student sListLIST_SIZE;int len=0;Student s;/1. 讀入數(shù)據(jù)/cout 讀入數(shù)據(jù) .endl;printf(讀入數(shù)據(jù) .n);/ 循環(huán)執(zhí)行步驟 2、 3、 4while(true)/2. 打印菜單/cout 菜單 endl;/printf(菜單 n);printMenu();/3. 輸入命令 cmd/cout 請輸入命令 (1,2,3,4,5,6,0):cmd;/scanf(%c,&cmd);cmd=getch();switch(cmd)/4. 根據(jù) cmc,分支case O:/4.1 如果
33、cmd是退出,/4.1.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;printf( 保存數(shù)據(jù) n);/4.1.2 退出系統(tǒng)exit(-1);break;case 6:/4.2 如果 cmd是保存/4.2.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;printf( 保存數(shù)據(jù) n); break;case 1:/4.3 如果 cmd是添加/4.3.1 添加學(xué)生/cout 添加學(xué)生 endl;/printf( 添加學(xué)生 n);if(fullSList(len)/ 判滿/ 報告錯誤 printf( 空間已滿! n);else/ 添加 printAddStudentTips();/ 提示 scanf(%
34、s %s %s %s %s,s.sid,,s.sex,s.sClass,s.dorm); addStudent(sList,&len,s);printStudent(sListlen-1);break;case 2:/4.4如果 cmd 是刪除/4.4.1 刪除學(xué)生/cout 刪除學(xué)生 endl; printf( 刪除學(xué)生 n);break;case 3:/4.5如果 cmd 是修改/4.5.1 修改學(xué)生/cout 修改學(xué)生 endl; printf( 修改學(xué)生 n);break;case 4:/4.6如果 cmd 是查詢/4.6.1 查詢學(xué)生/cout 查詢學(xué)生 endl; pr
35、intf( 查詢學(xué)生 n);break;case 5:/4.7如果 cmd 是瀏覽/4.7.1 打印學(xué)生列表/cout 學(xué)生列表 endl; printf( 學(xué)生列表 n);break;default:printf( 錯誤命令! n);break;return 0;瀆入數(shù)據(jù).紳桶樓*京溶林柑C祕*吿和E斜*學(xué)生信息管理系統(tǒng)lu添加羊生2, 刪除學(xué)生3。修改學(xué)生4口查詢學(xué)生5,學(xué)生列表6保存文件0退出系統(tǒng)謁輸入命令(XZ 3, 4, S, & 0):淤加學(xué)4z 學(xué)號姓名 性別班級宿舍20154055001 tyy 男 15通信 1 1502號名別怨兮川學(xué)姓性班宿訂二二一學(xué)生卡片“一:2U1540
36、55001:tyy匕男:1百通信1 1502” 1也&亙石A| -r |r*V)=會耳込共藝門把上面的 int len=0; 語句改為 int len=LIST SIZE;YJd.i*電aAMll-uSJOF .;詞去jj *2. 主控模塊 +添加學(xué)生 +存儲模塊#include #include #include #include ui.h#include store.husing namespace std;int main()/test_printStudent();/printAddStudentTips();/test_addStudent();/test_fullSList();/
37、test_readData();/test_saveData();/return 0;char cmd;Student sListLIST_SIZE;int len=0;Student s;int flag;char fileName=studentData.txt;/1. 讀入數(shù)據(jù)/cout 讀入數(shù)據(jù) .endl;/printf( 讀入數(shù)據(jù) .n);flag = readData(fileName, sList, &len);if(flag = 0)printf( 打開文件出錯! );exit(-1);/ 循環(huán)執(zhí)行步驟 2、 3、 4 while(true)/2. 打印菜單/cout 菜單
38、endl; /printf( 菜單 n); printMenu();/3. 輸入命令 cmd/cout 請輸入命令 (1,2,3,4,5,6,0):cmd;/scanf(%c,&cmd); cmd=getch();switch(cmd)/4. 根據(jù) cmc,分支case O:/4.1 如果 cmd是退出, /4.1.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl; /printf( 保存數(shù)據(jù) n);flag = saveData(fileName, sList, len); if(flag = O)printf( 文件訪問出錯! ); exit(-1);/4.1.2 退出系統(tǒng) exit(O);case 6:/4.2 如果 cmd是保存/4.2.1 保存數(shù)據(jù)/cout 保存數(shù)據(jù) endl;/printf( 保存數(shù)據(jù) n);flag = saveData(fileName, sList, len); if(flag = O)printf( 文件訪問出錯! );exit(-1);break;case 1:/4.3 如果 cmd是添加/4.3.1 添加學(xué)生/cout 添加學(xué)生 endl;/printf( 添加學(xué)生 n);if(fullSList(len)/ 判滿/ 報告錯誤 p
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州國際旅游服務(wù)合同樣本
- 商鋪租賃合同樣本:門面租賃全新范本
- 寒假臨時工雇傭合同書樣本
- 游戲品牌代言合同樣本
- 長租公寓租賃合同全文
- 新媒體廣告推廣合同模板
- 辦公室簡單裝修合同范本
- 個人貸款合同電子版模板
- 企業(yè)間的戰(zhàn)略合作框架合同范本
- 課件人物插圖小學(xué)生
- 2025年高考作文備考之二元思辨作文講解
- 語文學(xué)習(xí)任務(wù)群的解讀及設(shè)計要領(lǐng)
- 2024年山東省高考生物試卷真題(含答案解析)
- 光伏發(fā)電站項目安全技術(shù)交底資料
- 富血小板血漿(PRP)臨床實踐與病例分享課件
- 跨文化交際教程 課件 杜平 Unit 1 Cultural Awareness and Intercultural Communication-Unit 3 Nonverbal Communication
- 光伏工程施工組織設(shè)計
- 社保知識競賽考試題及答案
- 華為HCSA-Presales-IT售前認證備考試題及答案
- 2024-2030年中國纖維板行業(yè)發(fā)展趨勢與投資戰(zhàn)略研究報告
- 小學(xué)二年級上冊數(shù)學(xué)思維訓(xùn)練題100道及答案解析
評論
0/150
提交評論