已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
. 中 南 大 學(xué) C+程序設(shè)計(jì)基礎(chǔ) 課 程 設(shè) 計(jì)題 目 學(xué)生成績管理系統(tǒng) 姓 名 學(xué) 號(hào) 班 級(jí) 指導(dǎo)教師 劉嬪 學(xué) 院 信息科學(xué)與工程學(xué)院 日 期 二一四年七月 設(shè)計(jì)任務(wù)書1、題目:C+課程設(shè)計(jì)報(bào)告2、程序功能組成: 數(shù)據(jù)的錄入:如錄入學(xué)生的基本信息,以及該學(xué)生選修課程的基本信息; 數(shù)據(jù)的修改:如修改指定學(xué)號(hào)、或者指定姓名的學(xué)生信息,或者修改其選修課程信息; 數(shù)據(jù)的插入:插入某個(gè)學(xué)生信息; 數(shù)據(jù)的查詢:如按學(xué)號(hào)查詢、按姓名查詢等; 數(shù)據(jù)的刪除:如刪除指定學(xué)號(hào)、或者指定姓名的學(xué)生及其選修課程信息; 平均成績的計(jì)算:計(jì)算每個(gè)學(xué)生各門功課的平均成績,并按平均成績從高到低的次序輸出學(xué)生信息; 列出不及格學(xué)生清單(學(xué)號(hào)、姓名、不及格的課程和成績)。3、 進(jìn)度安排:序號(hào)設(shè)計(jì)內(nèi)容名稱 完成時(shí)間 備注1組隊(duì);確定題目;分工6.252初步的需求分析與設(shè)計(jì)建模6.256.273詳細(xì)的需求分析與設(shè)計(jì)建模6.286.304關(guān)鍵模塊的實(shí)現(xiàn)與測(cè)試 7.015編寫課程設(shè)計(jì)報(bào)告7.017.026最后總結(jié),修改。7.03目 錄一、總設(shè)計(jì)方案.1二、使用說明及運(yùn)行實(shí)例.2三、成員設(shè)計(jì)內(nèi)容簡介.6四、項(xiàng)目源程序代碼.7五、設(shè)計(jì)心得.19;.一、總設(shè)計(jì)方案系統(tǒng)流程圖:開始結(jié)束選擇操作輸入數(shù)據(jù)排序顯示數(shù)據(jù)查詢刪除主菜單插入數(shù)據(jù)退出系統(tǒng)按學(xué)號(hào)按姓名保存數(shù)據(jù)吧按景平均成績選擇7選擇6選擇5選擇4選擇3選擇2選擇1選擇8按平均成績高低i讀取數(shù)據(jù)吧選擇8班級(jí)學(xué)號(hào)性別姓名二、使用說明及運(yùn)行實(shí)例主界面 1 數(shù)據(jù)錄入2. 數(shù)據(jù)修改3. 數(shù)據(jù)插入4數(shù)據(jù)查詢5 數(shù)據(jù)刪除6 平均值計(jì)算7. 列出不及格學(xué)生三、成員設(shè)計(jì)內(nèi)容簡介1數(shù)據(jù)錄入:數(shù)據(jù)錄入的功能是將需要的數(shù)據(jù)進(jìn)行錄入,用于后面的各項(xiàng)操作。實(shí)現(xiàn):用輸入函數(shù)對(duì)數(shù)據(jù)進(jìn)行錄入,先確定學(xué)生的個(gè)數(shù),再用一個(gè)循環(huán)進(jìn)行輸入,選修課程數(shù)量亦然。2. 數(shù)據(jù)修改:數(shù)據(jù)修改的主要功能是為修改數(shù)據(jù)輸入出現(xiàn)的錯(cuò)誤,實(shí)現(xiàn):先指定該生的學(xué)號(hào),找到該生,再輸出該生當(dāng)前的信息,用一個(gè)if語句對(duì)數(shù)據(jù)進(jìn)行修改,再用一個(gè)循環(huán)語句對(duì)選修課信息進(jìn)行修改。3. 數(shù)據(jù)插入: 數(shù)據(jù)插入的主要功能是在數(shù)據(jù)錄入之后,為防止數(shù)據(jù)輸入的遺漏,實(shí)現(xiàn):分為兩個(gè)部分,第一個(gè)是插入第一個(gè)位置,第二是插入第一個(gè)位置之后,把當(dāng)前的位置賦給后面的加以實(shí)現(xiàn)。4數(shù)據(jù)查詢: 數(shù)據(jù)查詢的主要功能是在數(shù)據(jù)輸入之后進(jìn)行分類再現(xiàn),實(shí)現(xiàn):分為輸出所有數(shù)據(jù),按學(xué)號(hào)查詢,按姓名查詢,當(dāng)輸入的數(shù)據(jù)滿足條件時(shí)即輸出所要求的。 5數(shù)據(jù)刪除:數(shù)據(jù)刪除的主要功能是在數(shù)據(jù)錄入、數(shù)據(jù)插入和數(shù)據(jù)修改完成之后對(duì)無用數(shù)據(jù)進(jìn)行刪除,實(shí)現(xiàn):輸入學(xué)號(hào),滿足條件時(shí)即把后一個(gè)數(shù)值賦給前一個(gè)數(shù)值,達(dá)到刪除的目的。6平均值計(jì)算:平均值計(jì)算的主要功能是求平均值,再對(duì)其進(jìn)行排序,實(shí)現(xiàn):用公式進(jìn)行計(jì)算求平均值,之后便是排序問題,求最大值,然后依次輸出各最大值,即實(shí)現(xiàn)了排序功能。7. 列出不及格學(xué)生清單:這部分的主要功能是列出不及格學(xué)生清單,實(shí)現(xiàn):用一個(gè)判斷語句,當(dāng)分?jǐn)?shù)小于60時(shí),即輸出相應(yīng)的學(xué)生信息即可。四、項(xiàng)目源程序代碼#include#include#include#include main()int i,w=0,u/*被選中學(xué)生的下標(biāo)*/,f/*科目數(shù)量*/;int o=0/*學(xué)生總數(shù)*/,p=0,g50/*每個(gè)學(xué)生的選修課程數(shù)量*/,a,x,b/*新增學(xué)生個(gè)數(shù)*/,xx/*當(dāng)前學(xué)生班級(jí)*/;char xm50/*當(dāng)前學(xué)生姓名*/,h10;char oo/*判斷是否繼續(xù)*/,q;float s50/*平均成績*/,max,al50;long qq;struct studentint i;/*班級(jí)*/long j;/*學(xué)號(hào)*/char m30;/*姓名*/char n10;/*性別*/int x;/*年齡*/c50;struct scoreint q;/*課程編號(hào)*/char w50;/*課程名稱*/float e;/*學(xué)分*/float r;/*考試成績*/float t;/*平時(shí)成績*/double y;/*綜合成績*/z5010;printf(nn*nnn 歡 迎 進(jìn) 入nn 學(xué)生成績管理系統(tǒng)nnn 設(shè)計(jì)者: xxx 000000000nn指導(dǎo)教師:劉嬪nn中南大學(xué) 信息科學(xué)與工程學(xué)院 000000000nnn 2014年6月nnn*n 請(qǐng)輸入空回車鍵繼續(xù));getchar();system(CLS);while(1)system(CLS);printf(nn*n 系統(tǒng)主菜單nn1.錄入數(shù)據(jù)nn2.修改數(shù)據(jù)nn3.插入數(shù)據(jù)nn4.數(shù)據(jù)查詢nn5.刪除數(shù)據(jù)nn6.平均成績計(jì)算nn7.列出不及格學(xué)生清單nn8.退出系統(tǒng)nn);printf(請(qǐng)輸入一個(gè)數(shù)字來選擇目錄:nn);scanf(%d,&i);system(CLS);if(i=1)/*1.錄入數(shù)據(jù)*/printf(錄入數(shù)據(jù)nn);while(1)printf(n請(qǐng)輸入要錄入的學(xué)生個(gè)數(shù):n);scanf(%d,&b);if(b=1)for(a=0;ab;a+)printf(n請(qǐng)輸入第%d個(gè)學(xué)生的基本信息:nn班級(jí) 學(xué)號(hào) 姓名 性別 年齡n,a+1);scanf(%d %ld %s %s %d,&co+a.i,&co+a.j,&co+a.m,&co+a.n,&co+a.x);printf(n請(qǐng)輸入此學(xué)生課程數(shù)量:n);scanf(%d,&f);go+a=f;for(i=0;if;i+)printf(n請(qǐng)輸入該學(xué)生第%d門課程信息:nn課程編號(hào) 課程名稱 學(xué)分 考試成績 平時(shí)成績n,i+1);scanf(%d %s %f %f %f,&zo+ai.q,&zo+ai.w,&zo+ai.e,&zo+ai.r,&zo+ai.t);o=p+b;p=b;getchar();printf(n是否繼續(xù)輸入y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);else if(i=2)/*2.修改數(shù)據(jù)*/printf(修改數(shù)據(jù)n);if(o=0) printf(n系統(tǒng)內(nèi)沒有學(xué)生信息);elsewhile(1)printf(n請(qǐng)輸入要修改數(shù)據(jù)的學(xué)生的學(xué)號(hào):n);scanf(%ld,&qq);w=0;for(a=0;ao;a+)if(qq=ca.j)printf(該學(xué)生當(dāng)前信息:班級(jí):%d 學(xué)號(hào):%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);u=a;w=w+1;if(w=0)printf(輸入錯(cuò)誤!);break;while(1)printf(n請(qǐng)輸入數(shù)字選擇要修改的數(shù)據(jù):n1.班級(jí) 2.學(xué)號(hào) 3.姓名 4.性別 5.年齡 6.課程信息n);scanf(%d,&i);if(i!=6) printf(n請(qǐng)輸入修改后數(shù)據(jù):n);if(i=1)scanf(%d,&cu.i);else if(i=2)scanf(%ld,&cu.j);else if(i=3)scanf(%s,&cu.m);else if(i=4)scanf(%s,&cu.n);else if(i=5)scanf(%d,&cu.x);else if(i=6)printf(n 該學(xué)生課程當(dāng)前信息:);for(i=0;igu;i+)printf( 課程編號(hào):%d 課程名稱:%s 學(xué)分:%3.1f 考試成績:%3.1f 平時(shí)成績:%3.1fn,zui.q,zui.w,zui.e,zui.r,zui.t);printf(n請(qǐng)輸入要修改的數(shù)據(jù)的當(dāng)前課程編號(hào):n);scanf(%d,&x);w=0;for(i=0;igu;i+)if(x=zui.q)printf(n請(qǐng)輸入數(shù)字選擇要修改的數(shù)據(jù):1.課程編號(hào) 2.課程名稱 3.學(xué)分 4.考試成績 5.平時(shí)成績n);scanf(%d,&xx);printf(n請(qǐng)輸入修改后數(shù)據(jù):n);if(xx=1)scanf(%d,&zui.q);else if(xx=2)scanf(%s,&zui.w);else if(xx=3)scanf(%f,&zui.e);else if(xx=4)scanf(%f,&zui.r);else if(xx=5)scanf(%f,&zui.t);else printf(輸入錯(cuò)誤!);w=w+1;if(w=0) printf(輸入錯(cuò)誤!);else printf(輸入錯(cuò)誤!);break;printf(nn是否繼續(xù)修改此學(xué)生信息y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);printf(nn是否繼續(xù)下一學(xué)生信息y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);else if(i=3)/*3.插入數(shù)據(jù)*/printf(插入數(shù)據(jù));while(1)printf(n是否要將信息插入到第一個(gè)位置y/n?nn);scanf(%s,&h);if(strcmp(h,n)=0)printf(n請(qǐng)輸入要插入位置前一個(gè)學(xué)生的學(xué)號(hào):);scanf(%ld,&qq);for(a=0;aa;u-)cu+1=cu;for(i=0;igu;i+)zu+1i=zui;gu+1=gu;scanf(%d %ld %s %s %d,&ca+1.i,&ca+1.j,&ca+1.m,&ca+1.n,&ca+1.x);o=o+1;printf(是否添加該學(xué)生的課程信息y/n?);scanf(%s,&h);if(strcmp(h,y)=0)printf(n請(qǐng)輸入此學(xué)生課程數(shù)量:n);scanf(%d,&f);ga+1=f;printf(n請(qǐng)分別輸入該學(xué)生課程信息:nn課程編號(hào) 課程名稱 學(xué)分 考試成績 平時(shí)成績n);for(i=0;i=0;u-)cu+1=cu;for(i=0;igu;i+)zu+1i=zui;gu+1=gu;scanf(%d %ld %s %s %d,&c0.i,&c0.j,&c0.m,&c0.n,&c0.x);o=o+1;printf(是否添加該學(xué)生的課程信息y/n?n);scanf(%s,&h);if(strcmp(h,y)=0)printf(n請(qǐng)輸入此學(xué)生課程數(shù)量:n);scanf(%d,&f);g0=f;printf(n請(qǐng)分別輸入該學(xué)生課程信息:nn課程編號(hào) 課程名稱 學(xué)分 考試成績 平時(shí)成績n);for(i=0;if;i+)scanf(%d %s %f %f %f,&z0i.q,&z0i.w,&z0i.e,&z0i.r,&z0i.t);printf(nn是否繼續(xù)插入下一學(xué)生信息y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);else if(i=4)/*4.數(shù)據(jù)查詢*/printf(數(shù)據(jù)查詢n);for(a=0;ao;a+)for(i=0;iga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)printf(nn*nn 數(shù) 據(jù) 查 詢nnn1.顯示全部數(shù)據(jù)nn2.按學(xué)號(hào)查詢nn3.按姓名查詢nn4.返回主菜單);printf(nn請(qǐng)輸入一個(gè)數(shù)字來選擇目錄:nn);scanf(%d,&p);if(p=1)for(a=0;ao;a+)printf(班級(jí):%d 學(xué)號(hào):%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(課程編號(hào):%d 課程名稱:%s 學(xué)分:%3.1f 考試成績:%3.1f 平時(shí)成績:%3.1f 綜合成績:%3.1fn,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);else if(p=2)printf(請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào):n);scanf(%ld,&qq);w=0;for(a=0;ao;a+)if(qq=ca.j)printf(班級(jí):%d 學(xué)號(hào):%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(課程編號(hào):%d 課程名稱:%s 學(xué)分:%3.1f 考試成績:%3.1f 平時(shí)成績:%3.1f 綜合成績:%3.1fn,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);w=w+1;if(w=0) printf(此學(xué)號(hào)不存在!n);else if(p=3)printf(請(qǐng)輸入要查詢學(xué)生的姓名:n);scanf(%s,&xm);w=0;for(a=0;ao;a+)if(strcmp(xm,ca.m)=0)printf(班級(jí):%d 學(xué)號(hào):%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(課程編號(hào):%d 課程名稱:%s 學(xué)分:%3.1f 考試成績:%3.1f 平時(shí)成績:%3.1f 綜合成績%3.1fn,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);w=w+1; if(w=0) printf(此姓名不存在!n);else if(p=4)break;else printf(輸入錯(cuò)誤!n);printf(nn是否返回?cái)?shù)據(jù)查詢界面y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);else if(i=5)/*5.刪除數(shù)據(jù)*/printf(刪除數(shù)據(jù));while(1)printf(n請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):n);scanf(%ld,&qq);w=0;for(a=0;ao;a+)if(qq=ca.j)for(i=a;io;i+)ci=ci+1;for(u=0;ugi;u+)ziu=zi+1u;gi=gi+1;printf(n已刪除nn);w=w+1;o=o-1;if(w=0) printf(n該學(xué)生不存在!n);printf(nn是否繼續(xù)刪除學(xué)生數(shù)據(jù)y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);else if(i=6)/*6.平均成績計(jì)算*/printf(平均成績計(jì)算);printf(n按平均成績從高到低的次序輸出學(xué)生信息:nn);for(a=0;ao;a+)for(i=0;iga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)for(a=0;ao;a+)ala=0;for(u=0;uga;u+)ala=ala+zau.t;sa=ala/ga;for(a=0;ao;a+)max=sa;for(u=a;umax) max=su;su=sa;sa=max;for(a=0;ao;a+)printf(平均成績:%3.1f 班級(jí):%d 學(xué)號(hào):%ld 姓名:%s 性別:%s 年齡:%dn,sa,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf( 課程編號(hào):%d 課程名稱:%s 學(xué)分:%3.1f 考試成績:%3.1f 平時(shí)成績:%3.1f 綜合成績%3.1fn,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);printf(nn是否返回主目錄y/n?n);scanf(%s,&h);if(strcmp(h,y)=0) break;else if(strcmp(h,n)=0) system(CLS);else if(i=7)/*7.列出不及格學(xué)生清單*/printf(列出不及格學(xué)生清單);for(a=0;ao;a+)for(i=0;iga;i+)zai.y=zai.r*0.7+zai.t*0.3;while(1)printf(nn不及格學(xué)生清單:nn);x=0;for(a=0;ao;a+)for(u=0;uga;u+)if(int)zau.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年廣東省廣州市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 淮北市和淮南市2025屆高三第一次質(zhì)量檢測(cè)(一模)地理試卷(含答案)
- 甘肅省隴南市(2024年-2025年小學(xué)六年級(jí)語文)部編版期末考試(上學(xué)期)試卷及答案
- 2024年組織毒活苗項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025年疾病預(yù)防控制及防疫服務(wù)項(xiàng)目申請(qǐng)報(bào)告模式
- 2025年電纜網(wǎng)設(shè)備項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模范
- 廣東省肇慶市(2024年-2025年小學(xué)六年級(jí)語文)統(tǒng)編版質(zhì)量測(cè)試((上下)學(xué)期)試卷及答案
- 廣東省湛江市(2024年-2025年小學(xué)六年級(jí)語文)部編版隨堂測(cè)試(下學(xué)期)試卷及答案
- 學(xué)校工作失職檢討書(5篇)
- 2025年皮棉清理機(jī)項(xiàng)目申請(qǐng)報(bào)告
- 2025年山西文旅集團(tuán)招聘筆試參考題庫含答案解析
- 【8地RJ期末】安徽省蕪湖市無為市2023-2024學(xué)年八年級(jí)上學(xué)期期末地理試題(含解析)
- 2023學(xué)年杭州市十四中高二數(shù)學(xué)(上)期末考試卷附答案解析
- 五級(jí)(程控交換)職業(yè)技能鑒定理論考試題及答案
- 醫(yī)療救護(hù)合作協(xié)議
- 《微元法的應(yīng)用》課件
- 文職-管理學(xué)基礎(chǔ)知識(shí)點(diǎn)
- 標(biāo)準(zhǔn)門面租房合同范本
- 2024年上海市16區(qū)高考英語一模試卷聽力部分匯編(附14區(qū)聽力音頻)含答案與文本
- 《無人機(jī)飛行操控技術(shù)(微課版)》全套教學(xué)課件
- 2023-2024學(xué)年廣東省深圳高級(jí)中學(xué)七年級(jí)(上)期末歷史試卷
評(píng)論
0/150
提交評(píng)論