工程訓(xùn)練項目實驗報告_第1頁
工程訓(xùn)練項目實驗報告_第2頁
工程訓(xùn)練項目實驗報告_第3頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第21頁 共21頁工程訓(xùn)練工程實驗報告工程訓(xùn)練工程 實驗報告工程名稱:學(xué)生成績管理系統(tǒng) 姓名:學(xué)號:專業(yè):年級:學(xué)期成績二 O 二 O 年 十二 月 二十二日 目錄 實驗報告一1、工程功能描繪 2、工程設(shè)計思路 3、工程數(shù)據(jù)庫設(shè)計說明或函數(shù)設(shè)計說明實驗報告二4、工程功能實現(xiàn)主要界面 5、工程功能實現(xiàn)核心代碼實驗報告一1.工程功能描繪 a) 功能選擇界面b) 錄入學(xué)生成績信息c) 查詢學(xué)生成績信息d) 刪除學(xué)生成績信息e) 修改學(xué)生成績信息f) 插入學(xué)生成績信息g) 統(tǒng)計學(xué)生人數(shù)2.工程設(shè)計思路 用使用 C 語言做一個學(xué)生信息管理系統(tǒng),我的想法是先把需要的一些變量封裝在構(gòu)造體中,然后結(jié)合以前學(xué)過

2、的數(shù)據(jù)構(gòu)造知識鏈表,做一些增刪查改的操作,并將其保存在文件中。3.工程函數(shù)設(shè)計說明 關(guān)鍵算法構(gòu)造 typedef struct score/成績int score_c;/C 語言成績int score_math;/數(shù)學(xué)成績int score_english;/英語成績 Score;typedef struct Studentchar name100;/姓名char num100;/學(xué)號char se_;/性別int age;/年齡Score score;/成績stu;typedef struct LNodestu data;struct LNode _ne_t;LinkList;實驗報告 二1

3、.工程功能實現(xiàn)主要界面 菜單界面查詢界面2.工程代碼 #include lt;stdio.hgt;#include lt;malloc.hgt;#include lt;string.hgt;#include lt;stdlib.hgt;typedef struct score int score_c;/C 語言成績int score_math;/高等數(shù)學(xué)int score_english;/大學(xué)英語成績 Score; typedef struct Studentchar name100;/姓名char num100;/學(xué)號char se_;/性別 (m 代表女生 f 代表男生)int age;

4、/年齡Score score;/成績stu;typedef struct LNodestu data;struct LNode _ne_t;LinkList;char nam100;/名字char nu100;/學(xué)號char s;/性別int ag;/年齡Score sc;/成績void menu/_菜單界面_/ printf(;ttt_nn;);printf(;ttt_學(xué)生信息管理系統(tǒng)_nn;);printf(;ttt_nn;);printf(;ttt_系統(tǒng)功能菜單_n;);printf(;ttt-n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt

5、_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_5.按學(xué)號刪除信息 _n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt_n;);printf(;ttt-n;); void help/_幫助界面_/ printf(;nttt0.歡送使用系統(tǒng)幫助!n;);printf(;nttt1.初次進(jìn)入系統(tǒng)后,請先選擇增加學(xué)生信息;n;);printf(;nttt2.按照菜單提示鍵入數(shù)字代號;n;);printf(;nttt3.增加學(xué)生信息后,切記保存

6、;n;);printf(;nttt4.謝謝您的使用!n;); void InitList(LinkList _;L)/初始化鏈表L=(LinkList _)malloc(sizeof(LinkList);L-gt;ne_t=NULL; void ListInsert(LinkList _;L,LinkList _p)/插入新的節(jié)點LinkList _q=NULL;q=L;p-gt;ne_t=q-gt;ne_t;q-gt;ne_t=p;void addstu(LinkList _;L)/增加新的學(xué)生printf(;請輸入學(xué)生的信息:n;);printf(;學(xué)號:;);scanf(;%s;,nu)

7、;LinkList _q=L-gt;ne_t;while(q!=NULL )/用于判斷學(xué)生信息是否已經(jīng)存在if(0=strcmp(q-gt;data.num,nu)printf(;該學(xué)生已存在n;);break;q=q-gt;ne_t;if(q=NULL)LinkList _p;InitList(p);strcpy(p-gt;data.num,nu);printf(;姓名;) ;scanf(;%s;,nam) ;strcpy(p-gt;,nam);printf(;性別:m 為男 f 為女;);scanf(; %c;,;s);p-gt;data.se_=s;printf(;年齡

8、:;);scanf(;%d;,;ag);p-gt;data.age=ag;printf(;C 語言成績:;);scanf(;%d;,;sc.score_c);while(sc.score_clt;0|sc.score_cgt;100)printf(;輸入有誤,請重新輸入n;);scanf(;%d;,;sc.score_c);p-gt;data.score.score_c=sc.score_c;printf(;高等數(shù)學(xué)成績:;);scanf(;%d;,;sc.score_math);while(sc.score_mathlt;0|sc.score_mathgt;100)printf(;輸入有誤,

9、請重新輸入n;);scanf(;%d;,;sc.score_math);p-gt;data.score.score_math=sc.score_math;printf(;大學(xué)英語成績:;);scanf(;%d;,;sc.score_english);while(sc.score_englishlt;0|sc.score_englishgt;100)printf(;輸入有誤,請重新輸入n;);scanf(;%d;,;sc.score_english);p-gt;data.score.score_english=sc.score_english;ListInsert(L,p);void delet

10、estu(LinkList _L)/刪除學(xué)生printf(;請輸入您要刪除的學(xué)生的學(xué)號:;);scanf(;%s;,nu);/判斷LinkList _p,_pre;if(L-gt;ne_t=NULL)printf(;還沒有學(xué)生信息,請增加學(xué)生信息n;);return;pre=L;p=pre-gt;ne_t;int judge=0;while(p)if(0=strcmp(p-gt;data.num,nu)judge=1;pre-gt;ne_t =p-gt;ne_t;free(p);printf(;刪除學(xué)生成功n;);break;pre=p;p=p-gt;ne_t;if(judge=0)print

11、f(;這個學(xué)生不存在n;);void changestu(LinkList _L)/改變學(xué)生信息int judge=0;printf(;請輸入您要修改學(xué)生的學(xué)號:n;);scanf(;%s;,nu);LinkList _q=L-gt;ne_t;while(q!=NULL )if(0=strcmp(q-gt;data.num,nu)judge=1;printf(;請輸入您要修改的信息選項:1.姓名 2.成績(c 語言,高等數(shù)學(xué),大學(xué)英語)n;);int choose;scanf(;%d;,;choose);switch(choose)case 1:printf(;請輸入您要修改的名字:;);sc

12、anf(;%s;,nam);printf(;修改的名字為:%sn;,nam);strcpy(q-gt;,nam);printf(;修改名字成功!n;);break;case 2:printf(;請輸入您要修改的成績;);scanf(;%d%d%d;,;sc.score_c,;sc.score_math,;sc.score_english);printf(;修改的 c 成績?yōu)椋?d修改的高等數(shù)學(xué)成績?yōu)椋?d修改的大學(xué)英語成績?yōu)椋?dn;,sc.score_c,sc.score_math,sc.score_english);q-gt;data.score=sc;printf(;修

13、改成績成功!n;);break;case 3:printf(;請輸入您要修改的年齡:;);scanf(;%d;,;ag);printf(;修改的年齡為:%dn;,ag);q-gt;data.age=ag;printf(;修改年齡成功!n;);break;default :printf(;請輸入正確的選項n;);break;q=q-gt;ne_t;if(judge=0)printf(;該生不存在n;);void findstu(LinkList _L)/按學(xué)號或者姓名查找學(xué)生并輸出該生信息int flag;printf(;1.按學(xué)號查詢:n;);printf(;2.按姓名查詢:n;);print

14、f(;請輸入查詢方式:;);scanf(;%d;,;flag);if(flag=1)printf(;請輸入該生學(xué)號:;);scanf(;%s;,nu);/判斷LinkList _q=L-gt;ne_t;while(q!=NULL )if(strcmp(q-gt;data.num,nu)=0)printf(;姓名:%sn;,q-gt;);printf(;學(xué)號:%sn;,q-gt;data.num);printf(;性別:%cn;,q-gt;data.se_);printf(;年齡:%dn;,q-gt;data.age);printf(;c 語言成績:%dn;,q-gt;data

15、.score.score_c);printf(;高等數(shù)學(xué)成績:%dn;,q-gt;data.score.score_math);printf(;大學(xué)英語成績:%dn;,q-gt;data.score.score_english);break;q=q-gt;ne_t;if(q=NULL)printf(;該生不存在n;);elseprintf(;請輸入該生姓名:;);scanf(;%s;,nam);LinkList _q=L-gt;ne_t;while(q!=NULL)if(strcmp(q-gt;,nam)=0)printf(;姓名:%sn;,q-gt;);p

16、rintf(;學(xué)號:%sn;,q-gt;data.num);printf(;性別:%cn;,q-gt;data.se_);printf(;年齡:%dn;,q-gt;data.age);printf(;c 語言成績:%dn;,q-gt;data.score.score_c);printf(;高等數(shù)學(xué)成績:%dn;,q-gt;data.score.score_math);printf(;大學(xué)英語成績:%dn;,q-gt;data.score.score_english);break;q=q-gt;ne_t;if(q=NULL)printf(;該生不存在n;); void display(LinkList _;L)/閱讀全部學(xué)生信息LinkList _q=L-gt;ne_t;if(q=NULL)printf(;還沒有學(xué)生信息,請增加學(xué)生信息n;);return;while(q)printf(;姓名:%st;,q-gt;);printf(;學(xué)號:%st;,q-gt;data.num);printf(;性別:%ct;,q-gt;data.se_);printf(;年齡:%dt;,q-gt;data.age);printf(;c 語言成績:%dt;,q-gt;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論