《C語言程序設計報告》模板_第1頁
《C語言程序設計報告》模板_第2頁
《C語言程序設計報告》模板_第3頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設計綜合實驗報告學院:影視融媒體學院專業:數字媒體技術姓名:吳丹學號:201905760032020年12月22日L實驗目的1) 進一步掌握和利用c語言進行程序設計的能力2) 進一步理解和運用結構化程序設計的思想和方法3) 初步掌握開發一個小型實用系統的基本方法4) 掌握編寫程序設計開發文檔的能力2.實驗丿包括學號、姓名、語文、數學成績;將所有學生信息打印輸出;可以根據姓名查找到學生,然后修改學生姓名,成績; 根據學號查找到學生,將其信息刪除;根據學生姓名,將其信息打印輸岀;1)2)3)4)5)6)完成一個學生成績管理系統的設計與實現,此系統具有以下功能: 添加學生信息。顯示學生信息

2、。修改學生信息。刪除學生信息。查找學生信息。按學生總成績進行從高到低的排序。請完成此系統的開發。3總體設計(1) 函數名:void menu ()函數功能:顯示功能選擇菜單入口參數:無岀口參數:無算法描述:switch,控制菜單功能的選擇(2) 函數名:void add (int i, id)函數功能:添加用戶,添加三個學生的成績信息入口參數:無出口參數:無算法描述:do.while循環不斷輸入學生記錄(3) 函數名:void showALL (int i)函數功能:輸出錄入的所有學生的學號、姓名、數學成績、語文成績和成績總和入口參數:整型,學生記錄情況出口參數:無算法描述:調用show ()

3、函數進入顯示記錄模塊,for循環語句(4) 函數務 void modify ()函數功能:修改學生記錄入口參數:無出口參數:無算法描述:for,循環語句,輸入要修改的學生姓名,當用戶輸入了已錄入的學生姓名 后,如果學生信息存在,即可修改除學號以外的英他信息,否則輸岀''該學生不存在”(5) 函數劃:void del ()函數功能:刪除記錄入口參數:無岀口參數:無算法描述:for循環語句,讀取記錄,對學生學號進行判斷,如果學好存在,即可刪除該生的所有信息,否則輸出“沒有找到該生的記錄”(6) void search ()函數功能:查找記錄入口參數:無出口參數:無算法描述:for循

4、環語句,在該模塊中輸入查找的學生姓名,如果該學生存在,則輸岀 該學生的全部信息,否則輸出'沒有找到該生的記錄”(7) void sort ()函數功能:排序記錄入口參數:無出口參數:無算法描述:for,該模塊會輸岀所有學生的信息,并按總成績由高到低進行排序4. 詳細設計根據總體設計里的劃分的模塊,對每個模塊的具體實現思路進行說明,并且給出 相應模塊的代碼。(1) 菜單選擇void menu()system(l,cls,)5 printf(MnM)J printf(Mtt printf("tt printf(Mtt printf(Mtt學生成績管理系統tt tt ttprint

5、f("tt|tt printf(Mtt printf(Mtt printf(wtt printf(wtttt tt tt23456e添加記錄 顯示記錄 修改記錄 刪除記錄 査找記錄 排序記錄 退出系統nw)jnH)l1十); nM)J 十);十);printf (wttW選擇(e6) (2) 添加記錄,函數內部用do.while循環不斷輸入學生記錄,存儲于stu數組 中,直到輸入結束輸入。void add(struct s七udent stu)int i, id = 0;char quit;doprintfC*學號:”); scanf (&id):for (i = 0;i&l

6、t;n;i+) if (id = stui.id)jprintf ( 11 此學號存在!nM) jreturn J . .; stui.id = idj printf(,f姓名;w)j scanf (,%s,8stu i .name);|printf (,f 語文成績:M)jscanf (,%dM>&stu i .Chinese); printf('*數學成n)j scanf (tf%dHj®stui .math);stu i5um = stu ic:hinRS2 + st ui .math; n*;printf (M是否繼續添加?(Y/N)M); scanf

7、(; while (quit != 1N*)j(3) 顯示記錄,在函數內部用for循環語句遍歷stu數組,將數組元素(學生記 錄)打印輸出。在for循環內部調用的是show ()函數。void show(struct student stu>int i)printf (,%-10dwJstui id) jSprintf ( ,%-10sM>stu i name) jprintf (M%- 10dwstui.Chinese);printf ( ,%-10d'stu i .math) j printf (M%- 10dnMjstui.sun) jvoid showALL(str

8、uct student stu)<int i;HHjfor (i = 0;i>n;i4+)show(stu,i);(4)修改記錄,當輸入學生姓名時,用for循環遍歷stu數組,如果找到學生記 錄就修改其姓名、語文成績、數學成績信息,然后返回;如果沒找到,則輸出提 示信息。void modify(struct student stu)char name8>chiint i;printf(修改學生的記錄口 十); printf("請希入學生的姓名:”); scant( "Xs1*,;for (i = 0)i<nji+)if (strcmpCname,st

9、uiname)=0)gwtchar()jI printfC'找到該生的記錄,如下所示二十); jHHjshow(stu,i); printfC 是否修改?(Y/N)rT);scanfCc&ch)if (ch = 1Y* | ch = *y') getchar()i printf(M姓名:w);scanf(n%sHj&)j printf ("語文成媛;”);scanf(M%dM>&stuiChinese); printf(H數學成績:scanf (,%dM>8stui .math);stui.sum = stui.C

10、hinese + stui.mathj printf(11 修改完畢。nM)jreturnjprintf(-沒有找到該生的記錄.十);(5)刪除記錄,當輸入學生姓名時,用for循環遍歷stu數組,如果找到學生記 錄,例如在位置i處,則將位置i+1處的記錄移動到位置i處,這樣就將i位置處 的記錄刪除了,而后面的記錄要依次往前移動,填補空位。如果for循環遍歷結束, 沒有找到學生記錄,則輸出提示信息。void del(struct student stu)int id,ijchar ch;printf(-lffll除學生的記錄。十);| printf(11請輸入學號s n);scanf("

11、;%d",&id);for (i =i<ni+) if (id = stui.id)getchar()j printfC1找到診生的記錄,如下所示:nu);j HH;show(stuj i);printf(f,是否刪除?(Y/N)n")jiscanfCc&chJjif (ch = 1丫' | ch = y1) i i <.for (j i<nji+) stui = stui+l5I!printf (-ffil 除成功 L);return; printf(-沒有找到該生的記錄! n-);(6) 查找記錄,當輸入學生姓名時,用for循環

12、遍歷數組stu,如果找到,則輸 出此學生記錄。如果foi循環遍歷結束,沒有找到相應學生記錄,則輸出提示信息。void search(struct student stu)char name8;int ijprintfC"査找學生的記錄.n-)5printfC*»輸入學生的姓名:)! scanf(M%sH finame);for (i = 0i<nji+)<if (strcmpCname,) = 0)printfC"找到該生的記錄,如下所示* n“); HH;shou(stu,i); returnj! pdntfC沒有找到該生的記錄.n

13、-);(7)排序記錄,函數內部實現為冒泡排序。void sor七(struct student stu)in* i>jjstruct student 七; printfC按總成績進行排序,”);for (i = 0;i<n-lji+)for (j = i+1jj<n;j+)if(stuisum<s七uj.sum)t = stuijstui = stujjstuj = t;printf(n排序結果如F: n")j showALL(stu)i5. 程序運行結果對系統各模塊實際執行悄況進行描述與展示。(1)菜單選擇 C:Users12265Desktop»

14、f®3Z:44: 傾目 1.exe統系理錄錄錄錄錄錄統 管記記記記記記系 絨加示改除找序出 成濟昭修刪含lib退 1234560 學諸選(0-6):(2) 添加記錄 C:Users12265Desldop新建文件夾(3)項目 1.exe牛1234560學管記記記記記記系 績加示改除找序出 ,顯修酬查排退m9080 加?>(¥/N)Yse8790 加?»(Y/N)Yly返978S 加?N)N 單!(3) 顯示記錄 C:Usei5Y12265Deslaop宙建文件夾 、項目 1.exe帖TomJOSLil擇語908797理錄錄錄錄錄錄統 管記記記記記記系 績加.

15、小改除找序:| 成添顯修刪含fir退 41234560 學數學成績809088總分170177185(4) 修改記錄和 C:Users12265DesktopSrS* (3)VS§ 1.exe系理汞來求錄錄錄銃 管記記記記記記系 絨加.小改除找序出 賊添顯修刪杳排iu 牛1234560 學請選擇(0-6): 3修改學生的記錄。請輸入學生的姓名:Lily找到該牛的記求,如下所示:了號 姓名 語文成績數學成績總分3Lily 9788址否修改?(Y/N)185姓名:Lina語文成績:90數學成績:99 修改完畢。按任意鏈返I叫上菜單!(5) 刪除記錄 .: C:Users12265Desk

16、topiJtJZ: (3)1§ 1.exe統系理錄錄錄錄衆錄統 管記記記記記記系 績加示改除找庁出 賊添界修刪査排退 生1234560 學請選擇(0-6):4刪除學生的記錄。請輸入學號:3找到該生的記錄.如卜所示:學號 姓名語文成績數學成績總分3Lina 9099189是否刪除?(Y/N)bj除成功!按任意鍵返冋主菜臥!(6) 查找記錄數學成績總分9017780170請選擇(0-6):6 按總成績進和排序,排序結果如下 學號姓名語文成績9Jose87Tom90退出系統 C:Users12265Des 譏 op歯服件夾 、項目 1.exe:紀 C:Users12265DeUaop新建文

17、件夾(3)1 頁目 1.exe理錄錄錄錄錄錄統 管記記記記記記系 績加小改除找序山 成添顯修'!'査捋退 HJ1234 5 6O 學(7)I 一 理錄錄錄錄錄錄統_ 管記記記記記記系 一 績加示改除找療出一 戒添顯修刪杳排退_ 住1234560 一請選抒(0-6) : 0程序結束!process exited after 1.813 seconds with return value 0 請按任意鍵繼續.6. 總結總結系統完成的情況,碰到的各類問題和解決方法,以及其它與課程相關、 技術相關的心得體會。c語言是一門重視實踐的課程,無論課堂上你聽的有多仔細,上機實踐還是會有這樣那樣 的問題,一些錯誤只有自己親身經歷,并努力解決才會影響深刻。(1)分淸主次,先將最精腌 的東西提煉出來,再將整個C語言學一遍,從全局上把握C語

溫馨提示

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

評論

0/150

提交評論