c語言版學生成績管理系統課程設計報告_第1頁
c語言版學生成績管理系統課程設計報告_第2頁
c語言版學生成績管理系統課程設計報告_第3頁
c語言版學生成績管理系統課程設計報告_第4頁
c語言版學生成績管理系統課程設計報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計報告(本科)課程:高級語言程序設計學號:姓名:班級:2013級計算機科學與技術教師:時間:2013年12月計算機科學與技術系設計名稱:學生成績管理系統設計內容、目的與要求:設計內容:設計并實現學生成績管理系統目的與要求: 設計學生成績管理系統,實現以下功能:1、采用的數據結構:結構體數組 2、實現的功能:能對學生成績信息(學號,課程設計,成績)進行查詢(要求可以使用模糊查詢和條件組合查詢)、修改、增加、刪除和存儲等。計劃與進度安排:12月20日至12月22日:研究學生管理系統的要求,分析應實現的功能,具體分析問題,選擇解題所用的方法;12月23日至12月25日:設計出解題的方法(如該使

2、用何種算法,函數如何定義)和具體步驟;12月26日至12月31日:編寫各部分的程序,然后整合;1月1日至1月2日:調試程序;1月3日至1月5日:檢查并完善程序,找出不足,認真填寫課程設計報告,為驗收做準備。設計過程、步驟(可加頁):1、 此設計采用結構體數組,根據不同的值表達的不同意思,對變量進行定義。 另外此代碼,添加了結構體變量如下:struct student char name60; char id7; int score; 2、本課程設計定義了大量函數,主要為: (1)case 1: add(); fh();(增加學生成績) (2)case 2: chazhao(); fh();(查

3、找) (3)case 3: del(); fh();(刪除) (4)case 4: xg(); fh();(修改) (5)case 5:bca(); fh();(保存) 3、詳細說明各函數功能的實現: (1)增加功能void add()/增加學生 int numbertemp=0; int i=0; struct student temp; /臨時保存信息 printf(請輸入要增加學生成績個數:); scanf(%d,&numbertemp); for(i=0;i提示:文件不存在,是否要創(chuàng)建?yn) scanf(%c,&yesorno); if(yesorno=y|yesorno=y) /這

4、里僅為了建立文件 fp=fopen(c:/student.dat,wb); fclose(fp); else exit(0); else number=dq(st); /要是文件只能夠已經有數據 將數據初始化到 數組中 結果與分析(可以加頁): 一、 運行結果1 、總頁面2、增加功能3、 查找功能姓名查找(內含模糊查找)學號查找 條件組合查找 3、刪除功能4、 修改功能5、 保存功能 二、程序分析 該程序設計基本實現了,對學生成績的增加,刪除,修改,查找和存儲的基本功能,另外在查找程序中,還包含了模糊查找和條件組合查找 但是對于條件組合查找,在兩個條件存在的前提下,卻能查出多個結果,查詢顯示結

5、果卻由“且”變成“或”。設計體會與建議: 設計體會:起初在拿到課程設計之時,對本課題只是大致瀏覽過一遍,等到真正開始編寫,才發(fā)現各方各面的問題,主函數的定義,其它函數的聲明,一切的一切都是如此困難。也正是通過本次作業(yè),能夠正視自己在c語言上的不足點。猶記得起初對程序段極其陌生,不清楚該使用什么程序段,一直徘徊在不同函數之間。記得那時看到c語言頭就暈。曾經為了一個模糊查詢語句,跑去圖書館查閱。不得不承認那段時間的自己也確實萌生了失望,絕望,或者放棄的思想。但是考慮再三,還是咬牙堅持,泡圖書館,電子閱覽室。功夫不負有心人,最后經過多次查找資料,多次修改,最終完成本次作業(yè)。建議:此次實驗讓我明白了,

6、在實踐一個于己而言,陌生的作業(yè)之前,先要熟悉課本基本知識,起碼了解所要實現的功能,或者所需的函數定義。多查閱資料,看看別人怎么做的。不要老想一個人死撐,可以問問同學老師。附錄:#include #include #include struct student char name60; char id7; int score;int dq(struct student st);void xianshi();void bc(struct student st);void add(); /定義增加函數void chazhao();/定義查找函數void xhcz();/按學號查找void xmcz(

7、);/按姓名查找void del();/定義刪除函數void xmsc();/姓名刪除void xhsc();/學號刪除void zhcz();/條件組合查找void xg();/定義修改函數void xhxg(); /學號修改void xmxg();/姓名修改void bca();void fh();struct student st300; /這個數組用來保存所有的學生信息 和文件里面的一致int number=0; /記錄總的學生人數 也就是數組/文件里面的學生人數int k=0;/表示輸入的信息是否存在void main() int choose=0; file *fp=null; c

8、har yesorno; if(fp=fopen(c:/student.dat,rb)=null) printf(n=提示:文件不存在,是否要創(chuàng)建一個?(y/n)n); scanf(%c,&yesorno); if(yesorno=y|yesorno=y) /這里僅為了建立文件 fp=fopen(c:/student.dat,wb); fclose(fp); else exit(0); else number=dq(st); /要是文件只能夠已經有數據 將數據初始化到數組中 system(cls); xianshi(); printf(tt=請選擇:); scanf(%d,&choose);

9、system(cls); switch(choose) case 0: exit(0); /退出 break; case 1: add(); fh();/增加學生成績 break; case 2: chazhao(); fh();/ 查找 break; case 3: del(); fh();/刪除 break; case 4: xg(); fh();/修改 break; case 5:bca(); fh();/保存 break; default: break; fflush(stdin); getchar(); system(cls); void bca() printf(t=程序在運行時已

10、自動保存.n);void fh() printf(n);void xg() /修改學生信息 int way=0; printf(請選擇修改查找方式n); printf(1 按姓名查找修改n); printf(2 按學號查找修改n); scanf(%d,&way); switch(way) case 1: xmxg(); break; case 2: xhxg(); break; default: printf(輸入有誤,結束!n); break; /按姓名修改void xmxg() file *fp=null; char name60; int i=0; int changeindex=0;

11、int index=0; printf(請輸入要修改的學生姓名:); scanf(%s,name); for (i=0;i修改成功n); else if(k=0) printf(=無此人nnn); /信息修改后重新更新文件里面的數據 以保持數據一致性 fp=fopen(c:/student.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0;void xhxg()/按學號修改 file *fp=null; char id60; int i=0; int changeind

12、ex=0; int index=0; printf(請輸入要修改的學生學號:); scanf(%s,id); for (i=0;i修改成功n); else if(k=0) printf(=無此人nnn); /信息修改后重新更新文件里面的數據 以保持數據一致性 fp=fopen(c:/student.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0; void del()/刪除 int n=0; printf(1 按姓名刪除n); printf(2 按學號刪除n); sc

13、anf(%d,&n); switch(n) case 1: xmsc(); break; case 2: xhsc(); break; void xmsc()/按姓名刪除 file *fp=null; char name60; int i=0; int j=0; printf(請輸入要刪除的學生姓名:); scanf(%s,name); for(i=0;inumber;i+) if (strcmp(name,)=0) /如果查找到就刪除 for (j=i;j無此人!nnn); /將剩余數據寫入文件 重新一寫的方式打開文件 把以前的數據擦除了 fp=fopen(c:/studen

14、t.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0; void xhsc()/按學號刪除 file *fp=null; char id60; int i=0; int j=0; printf(請輸入要刪除的學生學號:); scanf(%s,id); for(i=0;inumber;i+) if (strcmp(id,sti.id)=0) /如果查找到就刪除 for (j=i;j無此人!nnn); /將剩余數據寫入文件 重新一寫的方式打開文件 把以前的數據擦除了 fp=

15、fopen(c:/student.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0;void chazhao()/查找學生 int n=0; printf(1 按姓名查找n); printf(2 按學號查找n); printf(3 組合查找n); scanf(%d,&n); switch(n) case 1: xmcz(); break; case 2: xhcz(); break;case 3: zhcz(); break; default: printf(輸入有誤,

16、結束!n); break; void xhcz()/按學號查找 char id7; int i=0; printf(請輸入要查找學生學號:); scanf(%s,id); system(cls); for (i=0;i對不起沒有查找出這個人!nnn); k=0;void xmcz()/按姓名查找 char name7; int i=0; printf(請輸入要查找學生姓名:); scanf(%s,name); system(cls); for (i=0;i=0) printf(t姓名t學號t高數t英語tc語言t計算機導論n);printf(t%st%st%dt%dt%dt%dn,sti.nam

17、e,sti.id,sti.score,sti.score,sti.score,sti.score); k=1; if(k=0) printf(=對不起沒有查找出這個人!nnn); k=0;void zhcz()/組合查找 char name7;char id7; int i=0,j=0; printf(請輸入要查找學生姓名:); scanf(%s,name);printf(請輸入要查找學生學號:); scanf(%s,id); system(cls); for (i=0;i對不起沒有查找出這個人!nnn); k=0;void add()/增加學生 int numbertemp=0; int i

18、=0; struct student temp; /臨時保存信息 printf(請輸入要增加學生成績個數:); scanf(%d,&numbertemp); for(i=0;inumbertemp;i+) printf(輸入第%d個同學信息n,i+1); printf(姓名:); scanf(%s,); printf(學號:); scanf(%s,temp.id);printf(高數成績:); scanf(%d,&temp.score);printf(英語成績:); scanf(%d,&temp.score);printf(c語言成績:); scanf(%d,&temp.score);printf(計算機導論成

溫馨提示

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

評論

0/150

提交評論