c語言程序課程設計報告學生籍貫信息記錄簿設計_第1頁
c語言程序課程設計報告學生籍貫信息記錄簿設計_第2頁
c語言程序課程設計報告學生籍貫信息記錄簿設計_第3頁
c語言程序課程設計報告學生籍貫信息記錄簿設計_第4頁
c語言程序課程設計報告學生籍貫信息記錄簿設計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計報告書學生籍貫信息記錄簿設計 班 級: 學 號: 姓 名: 指導教師: 2010年07月14日課程設計報告內容1. 選擇題目 題目:學生籍貫信息記錄簿設計2. 內容摘要摘要:學生籍貫信息管理系統(tǒng)是典型的信息管理系統(tǒng),根據開發(fā)要求,主要完成對學生姓名、學號、籍貫等管理。隨著學校辦學規(guī)模的不斷擴大、辦學層次的多樣化、在校生的不斷增多。開發(fā)這系統(tǒng)可以是教務處老師減輕工作壓力,比較系統(tǒng)的對學生進行管理,加快速度、加強管理,使各項管理更加規(guī)范化 。本系統(tǒng)管理內容廣泛,全面涉及管理學生資料信息的管理。3. 索引關鍵詞關鍵詞:學生籍貫管理,結構體,循環(huán),函數(shù)4. 目錄目錄1題目要求42設計思想43系

2、統(tǒng)完成及功能44界面設計55正文56結論147參考資料148后記159附錄155.正文1.1課程設計題目要求1. 要求利用c語言面向過程的編程思想來完成系統(tǒng)的設計; 2. 突出c語言的函數(shù)特征,以多個函數(shù)實現(xiàn)每一個子功能; 3. 畫出功能模塊圖; 4. 進行簡單界面設計,能夠實現(xiàn)友好的交互; 5. 具有清晰的程序流程圖和數(shù)據結構的詳細定義; 6. 熟練掌握c語言對文件的各種操作。2.1設計思想程序運用結構體數(shù)組和循環(huán)進行程序的編寫.3.1系統(tǒng)完成功能及功能框圖1每條記錄包括一個學生學號、姓名、籍貫。2輸入功能:可以一次完成無數(shù)條記錄的輸入。3顯示功能:完成全部學生記錄的顯示。4查找功能:完成按

3、姓名、學號查找學生記錄,并顯示。5修改功能:通過查找學生姓名、學號,修改學生記錄。6保存功能:將學生記錄保存到任何自定義的文件中。7讀取功能:將保存到文件中的學生記錄讀取出來。8應提供一個界面來調用各個功能,調用界面和功能的操作界面應盡可能清晰美觀。主要功能 輸出編輯刪除查詢錄入4.1界面設計 5.1核心算法及說明 #include #include #include #include #define max 300struct student char name10; / 姓名 char no50; / 學號 char ad20; /籍貫;struct data int count; / 當

4、前學生數(shù)組中學生的個數(shù) struct student stumax; / 學生數(shù)組 dd; / 顯示主菜單void menu() system(cls); printf(n); printf(ttt*n); printf(ttt* *n); printf(ttt* 學生籍貫信息記錄簿 *n); printf(ttt* *n); printf(ttt* 0 退出 *n); printf(ttt* 1 查看所有學生信息 *n); printf(ttt* 2 輸入學生記錄 *n); printf(ttt* 3 刪除學生記錄 *n); printf(ttt* 4 編輯學生記錄 *n); printf(

5、ttt* 5 查詢(學號) *n); printf(ttt* 6 查詢(姓名) *n); printf(ttt* 7 查詢(籍貫) *n); printf(ttt* *n); printf(ttt*n); printf(ttt* 制作人:苑小葉 崔京 *n); / 等待用戶按回車后回到主菜單void to_menu() char c1,c2; printf(nnn按回車鍵返回主菜單.); scanf(%c%c,&c1,&c2); menu(); / 查看所有學生信息void view_data() int i; printf(姓名t學號t籍貫); printf(n-n); for(i=0;id

6、d.count;i+) printf(%st%st%sn,,dd.stui.no,dd.stui.ad); / 將數(shù)據從結構體數(shù)組保存到文件中void save_data() file *fp; int i,k; k=dd.count; fp=fopen(c:/dada.txt,w); fwrite(&k,sizeof(int),1,fp); for(i=0;ik;i+) fwrite(&dd.stui,sizeof(struct student),1,fp); fclose(fp); / 輸入學生記錄void add_data() struct student st;

7、 int b; int k; int i,j; while(1) j=0; printf(n請輸入學生信息:); printf(n姓名t學號t籍貫); printf(n-n); scanf(%s%s%s,,st.no,st.ad); for(i=0;idd.count;i+) if(strcmp(dd.stui.no,st.no)=0) j=1; printf(學號錄入重復,請重新輸入!); break; if(j=1) continue; if(j=0) k = dd.count; strcpy(,); strcpy(dd.stuk.no,

8、st.no); strcpy(dd.stuk.ad,st.ad); dd.count+; printf(nn繼續(xù)添加學生信息1-yes 0-no:); scanf(%d,&b); if(b=0) break; save_data();/ 將數(shù)據從文件讀到結構體數(shù)組中void read_data()file *fp;int i,k;struct student st;k=0;if(access(c:/dada.txt,0)=-1)/ 如果文件不存在fp=fopen(c:/dada.txt,w);fwrite(&k,sizeof(int),1,fp);fclose(fp);fp=fopen(c:/

9、dada.txt,r);fread(&k,sizeof(int),1,fp);dd.count=k;for(i=0;ik;i+)fread(&st,sizeof(struct student),1,fp);strcpy(,);strcpy(dd.stui.no,st.no); strcpy(dd.stui.ad,st.ad);fclose(fp);/ 刪除學生記錄void delete_data()int i,k;char no50;printf(n請輸入要刪除學生的學號:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)i

10、f(strcmp(dd.stui.no,no)=0) k=i;break;if(k=-1)printf(nn沒有找到該學生(學號-%s)!,no);elsefor(i=k;idd.count;i+) strcpy(,dd.stui+1.name); strcpy(dd.stui.no,dd.stui+1.no); strcpy(dd.stui.ad,dd.stui+1.ad);dd.count-;save_data();printf(nn刪除(學號-%s)成功!,no);/ 編輯學生記錄void edit_data()int i,k;char no50,ad20;pri

11、ntf(n請輸入要編輯學生的學號:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.stui.no,no)=0)k=i;break;if(k=-1)printf(nn沒有找到該學生(學號-%s)!,no);elseprintf(n姓名:%s,學號:%s,,dd.stuk.no);printf(n請修改學生數(shù)據:); printf(n籍貫:); scanf(%s,ad); strcpy(dd.stuk.ad,ad); / 查詢(學號)void query_data_no()int i,k;char no50;pri

12、ntf(n請輸入要查詢學生的學號:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.stui.no,no)=0)printf(nn姓名t學號t籍貫);printf(n-n);k=i;printf(%st%st%sn,,dd.stui.no,dd.stui.ad);if(k=-1)printf(nn沒有找到該學生(學號-%s)!,no);/ 查詢(姓名)void query_data_name()int i,k;char name10;printf(n請輸入要查詢學生的姓名:);scanf(%s,name);k=-

13、1;for(i=0;idd.count;i+)if(strcmp(,name)=0)printf(nn姓名t學號t籍貫);printf(n-n);k=i;printf(%st%st%sn,,dd.stui.no,dd.stui.ad);if(k=-1)printf(nn沒有找到該學生(姓名-%s)!,name); /查詢(籍貫)void query_data_address() int i,sum=0;char ad20; printf(請輸入籍貫信息:); scanf(%s,ad); printf(該籍貫的學生有:); for(i=0;idd.

14、count;i+) if(strcmp(dd.stui.ad,ad)=0) printf(%st,); sum+; if(sum=0) printf( 0 人 n);/ 主函數(shù)void main()int fun;read_data();menu();while(1)printf(請輸入功能號0-7:,&fun);scanf(%d,&fun);switch(fun)case 0:/ 退出break;case 1:/ 查看所有學生信息view_data();break;case 2:/ 輸入學生記錄add_data();break;case 3:/ 刪除學生記錄delet

15、e_data();break;case 4:/ 編輯學生記錄edit_data();break;case 5:/ 查詢(學號)query_data_no();break; case 6:/ 查詢(姓名) query_data_name();break; case 7:/ 查詢(籍貫)query_data_address(); break;if(fun=0) break;to_menu(); 6.結論各項功能均能實現(xiàn),但程序存在缺陷,如錄入重復學號,沒有出現(xiàn)提示功能,需要修改和完善。7.參考資料c語言設計第三版 清華大學出版社出版8.后記雖然該系統(tǒng)可以運行最基本的功能,但該系統(tǒng)仍然有不完善之處,有待添加更豐富的功能.感謝康亞男老師給與的細心指導,感謝同伴的積極配合共同完成了程序.9.附錄系統(tǒng)公共數(shù)據結構如下:#difine max300 定義常量n表示可錄入最大學生數(shù)int i,j、k,sum, i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論