




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中南大學(xué)c語言程序設(shè)計實踐報告題 目 學(xué)生信息管理系統(tǒng) 學(xué)生姓名 張眼 指導(dǎo)教師 劉偉榮 學(xué) 院 信息科學(xué)與工程學(xué)院 專業(yè)班級 電氣信息1113班 完成時間 2012年6月28日星期四 1.設(shè)計任務(wù)及設(shè)計目標(biāo)學(xué)生信息管理系統(tǒng)是基于系統(tǒng)主菜單的操作來實現(xiàn)學(xué)生數(shù)據(jù)的錄入、修改、查詢和統(tǒng)計等系統(tǒng)的基本功能。達(dá)到對學(xué)生信息的存儲、統(tǒng)計、管理的目的。需要處理的數(shù)據(jù)如:班級、學(xué)號、姓名等。實現(xiàn)的功能模塊如:數(shù)據(jù)的錄入、數(shù)據(jù)的修改、數(shù)據(jù)的插入、數(shù)據(jù)的查詢和數(shù)據(jù)的統(tǒng)計等。在實踐過程中熟練掌握c語言的基本知識:數(shù)據(jù)類型(整型、實型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增自減運(yùn)算、賦值運(yùn)
2、算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的使用)等。進(jìn)一步掌握函數(shù)嵌套調(diào)用、文件的讀寫、鏈表的應(yīng)用等。2.總體設(shè)計我們將整個系統(tǒng)分成若干子模塊,每個模塊有自己的函數(shù),通過選擇結(jié)構(gòu)來實現(xiàn)子模塊的選擇。設(shè)計流程圖如下:學(xué)生信息管理系統(tǒng) 【1】輸入學(xué)生信息【2】瀏覽學(xué)生信息【3】查詢學(xué)生信息【4】刪除學(xué)生信息【5】修改學(xué)生信息【6】不及格學(xué)生列表【7】成績信息查詢【8】學(xué)生平均成績【0】退出系統(tǒng)3.詳細(xì)設(shè)計預(yù)處理模塊:此模塊主要是頭文件,結(jié)構(gòu)體的定義,以及函數(shù)的說明。#include#include#include#includestructstudentl
3、ongintnum;charname20;intage;charsex4;intclass;intpt; /*定義一個變量來儲存大學(xué)物理的考試成績*/intps; /*定義一個變量來儲存大學(xué)物理的平時成績*/intet; /*定義一個變量來儲存英語的考試成績*/intes; /*定義一個變量來儲存英語夫人平時成績*/intct; /*定義一個變量來儲存微積分的考試成績*/intcs; /*定義一個變量來儲存微積分的平時成績*/intxt; /*定義一個變量來儲存信號的考試成績*/intxe; /*定義一個變量來儲存信號的平時成績*/;intn=0;structstudentstu100;str
4、uctstudent*p;voidtc();void tc()voidlr();/*錄入函數(shù)*/voidll();voidcx();/*查詢函數(shù)*/voidxg();/*修改函數(shù)*/voidsc();/*刪除函數(shù)*/voidbj();/*不及格學(xué)生列表函數(shù)*/voidpj();/*平均成績計算函數(shù)*/voidkc();/*課程查詢函數(shù)*/主函數(shù)模塊:一般比較簡單,只提供輸入,處理,輸出的調(diào)用函數(shù),即只有界面顯示語句,子函數(shù)選擇語句,主要的調(diào)用語句。voidmain()intz;printf(ttt+-+n);printf(ttt|學(xué)生信息管理系統(tǒng)歡迎您|n);printf(ttt+-+n);p
5、rintf(ttt+設(shè)計者:張眼n);printf(ttt+指導(dǎo)老師:劉偉榮n);printf(重要提示:為保證您的操作得到保存,請按正常順序退出系統(tǒng)!謝謝合作n);doprintf(nttt+n);printf(ttt|*菜單*|n);printf(ttt+n);printf(ttt*1-錄入/插入學(xué)生信息*n);printf(ttt*2-瀏覽學(xué)生信息*n);printf(ttt*3-查詢學(xué)生信息*n);printf(ttt*4-刪除學(xué)生信息*n);printf(ttt*5-修改學(xué)生信息*n);printf(ttt*6-不及格學(xué)生列表*n);printf(ttt*7-成績信息查詢*n);pr
6、intf(ttt*8-平均成績*n);printf(ttt*0-退出系統(tǒng)*n);printf(ttt*n);printf(請輸入您的選擇:);scanf(%d,&z);switch(z)case0:tc();break;case1:lr();break;case2:ll();break;case3:cx();break;case4:sc();break;case5:xg();break;case6:bj();break;case7:kc();break;case8:pj();break;default:printf(n無效選項!);while(z!=0);運(yùn)行結(jié)果:輸入模塊:輸入部分包括學(xué)生的
7、姓名,學(xué)號等基本信息以及學(xué)生的大學(xué)物理,英語,微積和信號的成績,主要是通過指針來實現(xiàn)數(shù)據(jù)的輸入。用一個指向結(jié)構(gòu)體的指針來進(jìn)行數(shù)據(jù)的儲存。voidlr()/*錄入函數(shù)*/inty;if(n=0)p=stu;doprintf(-n);printf(請輸入學(xué)生的學(xué)號:);scanf(%ld,&p-num);printf(請輸入學(xué)生的姓名:);scanf(%s,p-name);printf(請輸入學(xué)生的年齡:);scanf(%d,&p-age);printf(請輸入學(xué)生的性別:);scanf(%s,p-sex);printf(請輸入學(xué)生的班級:);scanf(%d,&p-clas);printf(請輸
8、入大物考試成績:);scanf(%d,&p-pt);printf(請輸入大物平時成績:);scanf(%d,&p-ps);printf(請輸入英語考試成績:);scanf(%d,&p-et);printf(請輸入英語平時成績:);scanf(%d,&p-es);printf(請輸入微積分考試成績:);scanf(%d,&p-ct);printf(請輸入微積分平時成績:);scanf(%d,&p-cs);printf(請輸入信號考試成績:);scanf(%d,&p-xt);printf(請輸入信號平時成績:);scanf(%d,&p-xe);n+;p+;printf(n1.繼續(xù)輸入.n0.輸入完
9、畢.n);printf(請選擇:);scanf(%d,&y);while(y=1);printf(提示:輸入完畢!你一共輸入%d個n,n);運(yùn)行結(jié)果:查詢模塊:該模塊是通過輸入的學(xué)生信息(學(xué)號或姓名)來查找學(xué)生的所有信息并且顯示在屏幕上。主體通過選擇結(jié)構(gòu)對用戶的選擇進(jìn)行判斷,而后執(zhí)行相應(yīng)選擇后的語句實現(xiàn)查詢。通過函數(shù)void cx() 來實現(xiàn)。voidcx()/*查詢函數(shù)*/intc;intw,i,j=0;charname20;if(n!=0)doprintf(n);printf(+-+n);printf(|按學(xué)號查詢請按1|n);printf(|按姓名查詢請按2|n);printf(|取消請
10、按0|n);printf(+-+n);printf(請輸入選擇:);scanf(%d,&c);switch(c)case0:break;case1:printf(請輸入學(xué)生的學(xué)號;);scanf(%ld,&w);printf(n);for(i=0;in;i+)if(stui.num=w)printf(n學(xué)號t姓名t年齡t性別t班級n);printf(%ldt%st%dt%st%dn,stui.num,,stui.age,stui.sex,stui.clas);j=1;if(j=0)printf(提示:沒有該學(xué)生記錄,請核對!);break;case2:printf(請輸入學(xué)生
11、的姓名:);scanf(%s,name);printf(n);for(i=0;in;i+)if(strcmp(name,)=0)printf(n學(xué)號t姓名t年齡t性別t班級n);j=1;printf(%ldt%st%dt%st%dn,stui.num,,stui.age,stui.sex,stui.clas);if(j=0)printf(提示:沒有該學(xué)生記錄,請核對!);break;default:printf(n提示:無效選項!);break;while(c!=0);elseprintf(提示:無學(xué)生數(shù)據(jù),請輸入數(shù)據(jù)!);刪除模塊:該模塊通過輸入要刪除的學(xué)
12、生學(xué)號,通過學(xué)號查找并刪除記錄。如果沒有學(xué)生信息輸出提示:無學(xué)生數(shù)據(jù),請輸入數(shù)據(jù)!通過函數(shù)void sc() 實現(xiàn)voidsc()/*刪除函數(shù)*/longintnum;inti,j,e;if(n!=0)printf(學(xué)號t姓名t年齡t性別t班級n);printf(-n);for(i=0;in;i+)printf(%ldt%st%dt%st%dn,stui.num,,stui.age,stui.sex,stui.clas);printf(請輸入您要刪除的學(xué)生的學(xué)號:);scanf(%ld,&num);printf(n);for(i=0;in;i+)if(num=stui.num
13、)j=i;if(j!=(n-1)for(e=j;e(n-1);e+)stue.num=stue+1.num;strcpy(,stue+1.name);strcpy(stue.sex,stue+1.sex);stue.age=stue+1.age;stue.clas=stue+1.clas;stue.pt=stue+1.pt;stue.ps=stue+1.ps;stue.et=stue+1.et;stue.es=stue+1.es;stue.ct=stue+1.ct;stue.cs=stue+1.cs;n-;elsen-;printf(提示:刪除完畢!);elseprintf(
14、提示:無學(xué)生數(shù)據(jù),請輸入數(shù)據(jù)!);運(yùn)行結(jié)果:修改信息模塊:該模塊通過輸入要修改的學(xué)生學(xué)號查找學(xué)生信息,并顯示用戶修改的內(nèi)容信息,供用戶選擇,根據(jù)選項進(jìn)行修改。主體是通過一個switch語句來實現(xiàn)選擇的,根據(jù)用戶的選擇進(jìn)行語句的執(zhí)行。通過函數(shù)void xg() 實現(xiàn)。voidxg()/*修改函數(shù)*/longintnum;inti,j,c;if(n!=0)printf(請輸入您要修改的學(xué)生的學(xué)號:);scanf(%ld,&num);printf(n);for(i=0;in;i+)if(stui.num=num)j=i;doprintf(請選擇您要修改的學(xué)生的信息內(nèi)容:n);printf(+-+n)
15、;printf(|姓名請按1|n);printf(|年齡請按2|n);printf(|性別請按3|n);printf(|學(xué)號請按4|n);printf(|班級請按5|n);printf(|大物考試成績請按6|n);printf(|大物平時成績請按7|n);printf(|英語考試成績請按8|n);printf(|英語平時成績請按9|n);printf(|微積分考試成績請按10|n);printf(|微積分平時成績請按11|n);printf(|信號考試成績請按12|n);printf(|信號平時成績請按13|n);printf(|取消請按0|n);printf(+-+n);printf(請輸入
16、您的選擇:);scanf(%d,&c);printf(n);switch(c)case0:break;case1:printf(請輸入新姓名:);scanf(%s,);break;case2:printf(請輸入新年齡:);scanf(%d,&stuj.age);break;case3:printf(請輸入新性別:);scanf(%s,stuj.sex);break;case4:printf(請輸入新學(xué)號:);scanf(%ld,&stuj.num);break;case5:printf(請輸入新班級:);scanf(%d,&stuj.clas);break;case6:pr
17、intf(請輸入大物考試成績:);scanf(%d,&stuj.pt);break;case7:printf(請輸入大物平時成績:);scanf(%d,&stuj.ps);break;case8:printf(請輸入英語考試成績:);scanf(%d,&stuj.et);break;case9:printf(請輸入英語平時成績:);scanf(%d,&stuj.es);break;case10:printf(請輸入微積分考試成績:);scanf(%d,&stuj.ct);break;case11:printf(請輸入微積分平時成績:);scanf(%d,&stuj.cs);case12:pri
18、ntf(請輸入信號考試成績:);scanf(%d,&stuj.xt);case13:printf(請輸入信號考試成績:);scanf(%d,&stuj.xe);break;default:printf(n無效選項!);break; while(c!=0);elseprintf(提示:無學(xué)生數(shù)據(jù),請輸入數(shù)據(jù)!);運(yùn)行結(jié)果:不及格學(xué)生計算模塊:該模塊通過對已經(jīng)輸入的學(xué)生數(shù)據(jù)進(jìn)行處理,當(dāng)四門功課中有一門成績小于60,就輸出此學(xué)生的信息及不及格科目的成績。函數(shù)的主體是一個for循環(huán)語句的嵌套,外循環(huán)來實現(xiàn)成績的計算,內(nèi)循環(huán)實現(xiàn)不及格的選擇。此功能通過函數(shù)void bj() 實現(xiàn)。voidbj()/*不
19、及格學(xué)生列表函數(shù)*/inti,j;chara410=大學(xué)物理,大學(xué)英語,微積分,信號;floatl4;if(n!=0)printf(n學(xué)號t姓名t課程tt成績n);for(i=0;in;i+)l0=stui.pt*0.7+stui.ps*0.3;l1=stui.et*0.7+stui.es*0.3;l2=stui.ct*0.7+stui.cs*0.3;l3=stui.xt*0.7+stui.xe*0.3;for(j=0;j4;j+)if(lj60.0)printf(%ldt%st%st%3.1fn,stui.num,,aj,lj);elseprintf(提示:無學(xué)生數(shù)據(jù),請輸
20、入數(shù)據(jù)!);運(yùn)行結(jié)果:學(xué)生課程信息查詢模塊:該模塊通過用戶輸入的選項來查詢該學(xué)生的各個科目的信息,信息包括課程名稱,課程編號,學(xué)分,平時成績,考試成績,綜合成績,并最終以表格的形式輸出。此函數(shù)主要部分是一個switch()選擇語句以及輸出函數(shù)printf()。該功能通過函數(shù)void kc()來實現(xiàn)。voidkc()/*課程查詢函數(shù)*/intc;intw,i,j=0;charname20;if(n!=0)doprintf(n);printf(+-+n);printf(|按學(xué)號查詢請按1|n);printf(|按姓名查詢請按2|n);printf(|取消請按0|n);printf(+-+n);pr
21、intf(請輸入您的選擇:);scanf(%d,&c);switch(c)case0:break;case1:printf(請輸入學(xué)生的學(xué)號;);scanf(%ld,&w);printf(n);for(i=0;in;i+)if(stui.num=w)printf(n課程名稱t課程編號t學(xué)分t平時成績t考試成績t綜合成績n);printf(大學(xué)物理t0001tt4.0t%dtt%dtt%3.1fn,stui.ps,stui.pt,0.7*stui.pt+0.3*stui.ps);printf(大學(xué)英語t0002tt4.0t%dtt%dtt%3.1fn,stui.es,stui.et,0.7*st
22、ui.et+0.3*stui.es);printf(微積分tt0003tt3.0t%dtt%dtt%3.1fn,stui.cs,stui.ct,0.7*stui.ct+0.3*stui.cs);printf(信號tt0004tt3.0t%dtt%dtt%3.1fn,stui.xt,stui.xe,0.7*stui.xt+0.3*stui.xe);j=1;if(j=0)printf(提示:沒有該學(xué)生記錄,請核對!);break;case2:printf(請輸入學(xué)生的姓名:);scanf(%s,name);printf(n);for(i=0;i1)for(i=0;i(n-1);i+)for(j=i
23、+1;jn;j+)avei=(stui.pt*0.7+stui.ps*0.3+stui.et*0.7+stui.es*0.3+stui.ct*0.7+stui.cs*0.3+stui.xt*0.7+stui.xe*0.3)/4;avej=(stuj.pt*0.7+stuj.ps*0.3+stuj.et*0.7+stuj.es*0.3+stuj.ct*0.7+stuj.cs*0.3+stui.xt*0.7+stui.xe*0.3)/4;if(aveiavej)m=avej;temp=stuj;avej=avei;stuj=stui;avei=m;stui=temp;printf(學(xué)號t姓名t年齡t性別t班級t平均成績n);printf(-n);for(i=0;in;i+)printf(%ldt%st%dt%st%dt%3.1fn,stui.num,,stui
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人土地?zé)o償贈與合同范本
- 個人家政保潔合同范本
- 制定合同范本 作用
- fidic條件合同范本
- 買賣延期合同范本
- 醫(yī)用機(jī)甲租賃合同范本
- 凈水設(shè)備售賣合同范本
- 勞動合同范本藥店
- 出租和諧公寓合同范本
- 修建垃圾臺合同范本
- 城市綠化與生態(tài)環(huán)境改善
- 監(jiān)理人員安全培訓(xùn)考試試卷(答案)
- 2024-2025學(xué)年中小學(xué)校第二學(xué)期師德師風(fēng)工作計劃:必看!新學(xué)期師德師風(fēng)建設(shè)秘籍大公開(附2月-7月工作安排表)
- xxx項目財務(wù)評價報告
- 《急性心力衰竭的急救處理》課件
- 2024年中國養(yǎng)老產(chǎn)業(yè)商學(xué)研究報告-銀發(fā)經(jīng)濟(jì)專題
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- 川教版四年級《生命.生態(tài).安全》下冊全冊 課件
- JJG 693-2011可燃?xì)怏w檢測報警器
- 工程結(jié)算單(樣本)
- 淺談如何加強(qiáng)建筑施工企業(yè)的營銷之道
評論
0/150
提交評論