




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、高級語言程序設計課程設計報告書題目:班級檔案管理系統(tǒng)專業(yè):計算機科學與技術學 號:學生姓名:指導教師:完成日期:目錄一、設計內(nèi)容與設計要求1. 設計內(nèi)容對一個有N 個學生的班級,通過該系統(tǒng)實現(xiàn)對該班級學生的基本信息進行錄入、顯示、修改、刪除、保存等操作的管理。2. 設計要求( 1)本系統(tǒng)采用一個包含N 個數(shù)據(jù)的結構體數(shù)組,每個學生的數(shù)據(jù)應當包括:學號、姓名、性別、年齡、備注。( 2)本系統(tǒng)顯示這樣的菜單:請選擇系統(tǒng)功能項:a 從文件中讀入學生基本信息b 添加新學生的基本信息c 學生基本信息顯示d 學生基本信息保存至文件e 學生基本信息刪除f 學生基本信息修改(要求先輸入修改密碼)g 學生基本信
2、息查詢(1) 按學號查詢(2) 按姓名查詢(3) 按性別查詢(4) 按年齡查詢 h 退出系統(tǒng)( 3)執(zhí)行一個具體的功能之后,程序?qū)⒅匦嘛@示菜單。( 4)將學生基本信息保存到文件中。( 5)進入系統(tǒng)之前要先輸入登錄密碼。說明:登錄密碼和修改密碼使用文件保存。:、課程設計目的在平時學習C語言的過程中,通常只是在課堂上跟隨老師的講解來進行學 習,因此在練習上較為缺乏,而課程設計恰恰彌補了這點,它不僅是對平時學習 的一種檢測,同時在做它的過程中也對自己學習的知識進行了鞏固和提高,為以后的學習和工作打下了基礎。三、程序模塊分析1.系統(tǒng)控制流程圖圖:Delete函數(shù)圖:modi函數(shù)圖:search函數(shù)四、
3、函數(shù)功能說明1. 函數(shù)說明main() 函數(shù)是程序的入口有調(diào)取各個模塊的的作用,里面包含一個switch 語句,實現(xiàn)選擇功能;read() :讀取函數(shù),從文件中讀取學生信息;input() :添加函數(shù),學生基本信息的錄入;save() :學生信息保存函數(shù);Delete() :刪除函數(shù);search() :查找函數(shù);modi() :信息修改函數(shù);secretcode() :密碼驗證函數(shù);2. 用戶說明輸入密碼進入系統(tǒng)后,通過ag 選項來進行功能選擇。選項a:調(diào)用read函數(shù),將在文件中保存的學生信息讀入結構體數(shù)組中,然后在屏幕上顯示出來,按enter 鍵便重新返回菜單;選項b:調(diào)用input函數(shù)
4、,輸入需要添加的學生人數(shù),顯示出需要添加的信息, 將信息填寫完畢后,按 enter 鍵重新返回菜單,再通過選項c 將新添加的學生信息保存到文件中;選項c: 調(diào)用 save 函數(shù)將新輸入或修改后的學生信息保存到文件中,在 input函數(shù)和 modi 函數(shù)調(diào)用之后需要調(diào)用此函數(shù),然后按enter 鍵重新返回菜單;選項d:通過調(diào)用delete函數(shù),輸入需要刪除的學生的學號,按 enter鍵提示刪除成功,該學生信息已被從文件中刪除,并重新返回菜單;選項e:在調(diào)用該函數(shù)實現(xiàn)學生信息修改的功能時,需要輸入修改密碼,當密碼錯誤時,提示密碼錯誤,此時重新輸入密碼。密碼正確之后,輸入需要修改信息的學生的學號,輸
5、出該學生信息,確認后輸入新的學生信息,按 enter 鍵重新返回菜單,此時需要通過選項c 將信息保存到文件中;選項 f :通過調(diào)用search 函數(shù),在選擇該項后,會出現(xiàn)一個子菜單,按照需求可以分別通過學號、姓名、 性別和年齡來查詢學生信息,按 enter 鍵顯示查詢信息并重新返回菜單。五、程序測試輸入登陸密碼123456 進入系統(tǒng)圖輸入 a 從文件中讀入學生信息圖輸入 b 添加學生的基本信息圖圖輸入 c 將信息保存至文件圖輸入 d 刪除學生信息圖信息刪除成功圖再次從文件輸入信息時需要刪除的信息已被刪除圖輸入 e 進行學生信息修改圖圖輸入c 將信息保存到文件中圖輸入f 學生信息的查詢圖圖六、總
6、結這次的課程設計給了我很大的體會,我能獨立的完成這項任務,是對平時的學習和練習的一種肯定,同時也提高了自己的信心。在完成它的過程中當然會遇到很多的困難,首先是結構體的定義問題,由于剛開始對程序的不熟悉,在定義結構體內(nèi)元素數(shù)組時出現(xiàn)了錯誤,后來經(jīng)過一次次的檢測將數(shù)組定義到了一個合適的大小。其次在 input 函數(shù)中, 輸入完新學生信息保存至文件中時,對文件原有信息進行了覆蓋,因此為了避免這種情況,將for 循環(huán)中的i 從 N-n 開始,經(jīng)過測試這種方法是有效的。最后是刪除函數(shù),由于開始定義的年齡是整型變量,在對文件中的結構體數(shù)據(jù)進行刪除時,在年齡的位置會出現(xiàn)數(shù)字0,從而使從文件中讀取數(shù)據(jù)時出現(xiàn)亂
7、碼,于是便將年齡定義成字符型數(shù)組,利用strcpy 函數(shù)將結構體數(shù)組的下一位元素將前一位元素進行覆蓋,從而實現(xiàn)刪除功能。雖然較為成功的完成了課程設計,但由于知識和時間的局限性,系統(tǒng)仍然存在缺陷, 我認為此系統(tǒng)還能通過鏈表來進行優(yōu)化,鏈表的好處是可以通過指針更好的實現(xiàn)查找、修改和刪除功能,因此如果有時間便會通過鏈表來時、使這個系統(tǒng)更加具有實用性。附錄 源程序清單#include"" #include ""#include "" #include "" #include ""struct stude
8、ntprintf("void input()o);#define N 4printf("*b.添加新學生的基本信息*n");printf("*c.學生基本信息保存至文件*n"printf("*d.學生基本信息刪除*n");printf("*e.學生基本信息修改*n");printf("*f.學生基本信息查詢*n");printf("*g.退出系統(tǒng)*n");printf("*n");printf(" printf("n"
9、;);* * * * * * * * * * * * * * n");文件中讀入學生基本信息*n");請輸入選項:(a g)n"););printf("name:n");scanf("%s",);printf("sex:n");scanf("%s",stui.sex);printf("age:n");scanf("%s",stui.age);printf("note:n");scanf("%s&qu
10、ot;,stui.note);printf("n");printf(" 請檢查信息是否輸入正確!n");printf("n");for(i=N-n;i<N;i+) printf("%s %s %s %s %sn",stui.no,,stui.se x, stui.age,stui.note);void save() ame)=4)fprintf(fp,"%s %s %s %s %sn",stui.no,,stui .sex, stui.age,stui.
11、note);if(strlen()=6)fprintf(fp,"%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);fclose(fp);fflush(fp);printf(" 保存成功!n");void Delete()o)for(f=i;f<N;f+)ame,stuf+1.name);strcpy(stuf.note,stuf+1.note);strcpy(stuf.no,stuf+1.no);strcpy(stuf.sex,stuf+1.sex);
12、strcpy(stuf.age,stuf+1.age);flag=true;if(!flag)printf(" 該學生不存在!:n");Delete();for(i=0;i<N;i+) fprintf(fp,"%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);printf(" 刪除成功!n");fclose(fp);void search()o,,stuf.sex,stuf.age,stuf.note);bool flag=fals
13、e;o)if(strlen()=4)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);if(strlen()=6)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note); flag=true;if(!flag) printf(" 該學生不存在.n");break;case 2:printf(" 請輸入姓名:
14、n");char na10;ame)if(strlen()=4)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);if(strlen()=6)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);flag = true;if (!flag)printf(" 該學生不存在.n");break;case 3:
15、char ch5;printf(" 請輸入性別:n");scanf("%s",ch);for(i=0;i<N;i+)if (!strcmp(ch,stui.sex)if(strlen()=4)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);if(strlen()=6)printf("%s %s %s %s %sn",stui.no,,stui.sex, stu
16、i.age,stui.note);flag = true;if (!flag)printf("t 該學生不存在.n");break;case 4:char num_age5;printf(" 請輸入年齡:n");scanf("%s",&num_age);for ( i =0;i<N;i+)if (!strcmp(num_age,stui.age)if(strlen()=4)printf("%s %s %s %s %sn",stui.no,,stui.sex, stu
17、i.age,stui.note);if(strlen()=6)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);flag = true;if (!flag)printf(" 該學生不存在.n");break;default: break;void modi()o,,stuf.sex,stuf.age,stuf.note);fclose(fp1);printf(" 請輸入修改密碼:n");scanf(&qu
18、ot;%s",b);if(fp=fopen("e:","r")=NULL)printf(" 打開文件夾失敗!");exit(0);ch=fgetc(fp);while(ch!=EOF&&i<6)ai = ch;ch=fgetc(fp);i+;a6 = '0'fclose(fp);while(1)if (!strcmp(a,b)break;elseprintf(" 密碼錯誤!請重新輸入密碼:n");scanf("%s",b);printf("
19、; 請輸入需要修改信息學生的學號:n");scanf("%s",c);for(f=0;f<N;f+)if (!strcmp(c,stuf.no)printf("%s %s %s %s %sn",stuf.no,,stuf.sex,stuf .age,stuf.note);printf("n");printf(" 請輸入新的信息:n");printf("no:n");scanf("%s",stuf.no);printf("name:n
20、");scanf("%s",);printf("sex:n");scanf("%s",stuf.sex);printf("age:n");scanf("%s",stuf.age);printf("note:n");scanf("%s",stuf.note);temp=true;break;if(!temp) printf(" 該學生不存在!n");int secretcode(charb6)o,stui.na
21、me,stui.sex,stui.age,stui.note);if(strlen()=4)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);if(strlen()=6)printf("%s %s %s %s %sn",stui.no,,stui.sex, stui.age,stui.note);printf("n");printf(" 讀取成功!n");fclose(fp);main(int argc, char* argv)char a7;char n;int code;printf(" 請輸入登陸密碼:n");while(1)scanf("%s",a);code=secretcode(a);if(code!=0)printf(" 密碼錯誤!");printf("n");elsebreak;printf("*歡迎進入班級檔案管理系統(tǒng)!*n");printf(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新工科背景下智能紡織品設計課程建設探索
- 2025至2030年中國電子復印白板行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國球型鉸鏈行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國特大黑色透明鋼纜行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國淋浴水龍頭行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國洗瓶機旋轉(zhuǎn)噴沖裝置行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國氨基透明烘干漆行業(yè)投資前景及策略咨詢報告
- 高中地理學科整合的背景與跨學科教育的必要性
- 2025至2030年中國機灌設備行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國晶閘管控制直流弧焊機行業(yè)投資前景及策略咨詢報告
- 婚前拆遷婚內(nèi)協(xié)議書
- 常州文化測試試題及答案
- 會考地理綜合題答題模板+簡答題歸納-2025年會考地理知識點梳理
- 國開《離散數(shù)學》形考任務1-3試題及答案
- 預防VTE質(zhì)控匯報演講
- T-FJTEA 001-2024 白云石粉改良酸化茶園土壤技術規(guī)范
- 第11課《屹立在世界的東方》第3課時 自力更生 揚眉吐氣 課件 五年級道德與法治下冊 統(tǒng)編版
- 《學前教育法》知識培訓
- DB37╱T 3844-2019 建筑石料礦綠色礦山建設規(guī)范
- 《孫權勸學》歷年中考文言文閱讀試題40篇(含答案與翻譯)(截至2024年)
- 2024-2025學年人教版英語七年級下冊Unit 5 Here and now Section B 1a - 1d英文版教案
評論
0/150
提交評論