




已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
. 中 南 大 學 C+程序設計基礎 課 程 設 計題 目 學生成績管理系統(tǒng) 姓 名 學 號 班 級 指導教師 劉嬪 學 院 信息科學與工程學院 日 期 二一四年七月 設計任務書1、題目:C+課程設計報告2、程序功能組成: 數(shù)據(jù)的錄入:如錄入學生的基本信息,以及該學生選修課程的基本信息; 數(shù)據(jù)的修改:如修改指定學號、或者指定姓名的學生信息,或者修改其選修課程信息; 數(shù)據(jù)的插入:插入某個學生信息; 數(shù)據(jù)的查詢:如按學號查詢、按姓名查詢等; 數(shù)據(jù)的刪除:如刪除指定學號、或者指定姓名的學生及其選修課程信息; 平均成績的計算:計算每個學生各門功課的平均成績,并按平均成績從高到低的次序輸出學生信息; 列出不及格學生清單(學號、姓名、不及格的課程和成績)。3、 進度安排:序號設計內容名稱 完成時間 備注1組隊;確定題目;分工6.252初步的需求分析與設計建模6.256.273詳細的需求分析與設計建模6.286.304關鍵模塊的實現(xiàn)與測試 7.015編寫課程設計報告7.017.026最后總結,修改。7.03目 錄一、總設計方案.1二、使用說明及運行實例.2三、成員設計內容簡介.6四、項目源程序代碼.7五、設計心得.19;.一、總設計方案系統(tǒng)流程圖:開始結束選擇操作輸入數(shù)據(jù)排序顯示數(shù)據(jù)查詢刪除主菜單插入數(shù)據(jù)退出系統(tǒng)按學號按姓名保存數(shù)據(jù)吧按景平均成績選擇7選擇6選擇5選擇4選擇3選擇2選擇1選擇8按平均成績高低i讀取數(shù)據(jù)吧選擇8班級學號性別姓名二、使用說明及運行實例主界面 1 數(shù)據(jù)錄入2. 數(shù)據(jù)修改3. 數(shù)據(jù)插入4數(shù)據(jù)查詢5 數(shù)據(jù)刪除6 平均值計算7. 列出不及格學生三、成員設計內容簡介1數(shù)據(jù)錄入:數(shù)據(jù)錄入的功能是將需要的數(shù)據(jù)進行錄入,用于后面的各項操作。實現(xiàn):用輸入函數(shù)對數(shù)據(jù)進行錄入,先確定學生的個數(shù),再用一個循環(huán)進行輸入,選修課程數(shù)量亦然。2. 數(shù)據(jù)修改:數(shù)據(jù)修改的主要功能是為修改數(shù)據(jù)輸入出現(xiàn)的錯誤,實現(xiàn):先指定該生的學號,找到該生,再輸出該生當前的信息,用一個if語句對數(shù)據(jù)進行修改,再用一個循環(huán)語句對選修課信息進行修改。3. 數(shù)據(jù)插入: 數(shù)據(jù)插入的主要功能是在數(shù)據(jù)錄入之后,為防止數(shù)據(jù)輸入的遺漏,實現(xiàn):分為兩個部分,第一個是插入第一個位置,第二是插入第一個位置之后,把當前的位置賦給后面的加以實現(xiàn)。4數(shù)據(jù)查詢: 數(shù)據(jù)查詢的主要功能是在數(shù)據(jù)輸入之后進行分類再現(xiàn),實現(xiàn):分為輸出所有數(shù)據(jù),按學號查詢,按姓名查詢,當輸入的數(shù)據(jù)滿足條件時即輸出所要求的。 5數(shù)據(jù)刪除:數(shù)據(jù)刪除的主要功能是在數(shù)據(jù)錄入、數(shù)據(jù)插入和數(shù)據(jù)修改完成之后對無用數(shù)據(jù)進行刪除,實現(xiàn):輸入學號,滿足條件時即把后一個數(shù)值賦給前一個數(shù)值,達到刪除的目的。6平均值計算:平均值計算的主要功能是求平均值,再對其進行排序,實現(xiàn):用公式進行計算求平均值,之后便是排序問題,求最大值,然后依次輸出各最大值,即實現(xiàn)了排序功能。7. 列出不及格學生清單:這部分的主要功能是列出不及格學生清單,實現(xiàn):用一個判斷語句,當分數(shù)小于60時,即輸出相應的學生信息即可。四、項目源程序代碼#include#include#include#include main()int i,w=0,u/*被選中學生的下標*/,f/*科目數(shù)量*/;int o=0/*學生總數(shù)*/,p=0,g50/*每個學生的選修課程數(shù)量*/,a,x,b/*新增學生個數(shù)*/,xx/*當前學生班級*/;char xm50/*當前學生姓名*/,h10;char oo/*判斷是否繼續(xù)*/,q;float s50/*平均成績*/,max,al50;long qq;struct studentint i;/*班級*/long j;/*學號*/char m30;/*姓名*/char n10;/*性別*/int x;/*年齡*/c50;struct scoreint q;/*課程編號*/char w50;/*課程名稱*/float e;/*學分*/float r;/*考試成績*/float t;/*平時成績*/double y;/*綜合成績*/z5010;printf(nn*nnn 歡 迎 進 入nn 學生成績管理系統(tǒng)nnn 設計者: xxx 000000000nn指導教師:劉嬪nn中南大學 信息科學與工程學院 000000000nnn 2014年6月nnn*n 請輸入空回車鍵繼續(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.平均成績計算nn7.列出不及格學生清單nn8.退出系統(tǒng)nn);printf(請輸入一個數(shù)字來選擇目錄:nn);scanf(%d,&i);system(CLS);if(i=1)/*1.錄入數(shù)據(jù)*/printf(錄入數(shù)據(jù)nn);while(1)printf(n請輸入要錄入的學生個數(shù):n);scanf(%d,&b);if(b=1)for(a=0;ab;a+)printf(n請輸入第%d個學生的基本信息:nn班級 學號 姓名 性別 年齡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請輸入此學生課程數(shù)量:n);scanf(%d,&f);go+a=f;for(i=0;if;i+)printf(n請輸入該學生第%d門課程信息:nn課程編號 課程名稱 學分 考試成績 平時成績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)內沒有學生信息);elsewhile(1)printf(n請輸入要修改數(shù)據(jù)的學生的學號:n);scanf(%ld,&qq);w=0;for(a=0;ao;a+)if(qq=ca.j)printf(該學生當前信息:班級:%d 學號:%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);u=a;w=w+1;if(w=0)printf(輸入錯誤!);break;while(1)printf(n請輸入數(shù)字選擇要修改的數(shù)據(jù):n1.班級 2.學號 3.姓名 4.性別 5.年齡 6.課程信息n);scanf(%d,&i);if(i!=6) printf(n請輸入修改后數(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 該學生課程當前信息:);for(i=0;igu;i+)printf( 課程編號:%d 課程名稱:%s 學分:%3.1f 考試成績:%3.1f 平時成績:%3.1fn,zui.q,zui.w,zui.e,zui.r,zui.t);printf(n請輸入要修改的數(shù)據(jù)的當前課程編號:n);scanf(%d,&x);w=0;for(i=0;igu;i+)if(x=zui.q)printf(n請輸入數(shù)字選擇要修改的數(shù)據(jù):1.課程編號 2.課程名稱 3.學分 4.考試成績 5.平時成績n);scanf(%d,&xx);printf(n請輸入修改后數(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(輸入錯誤!);w=w+1;if(w=0) printf(輸入錯誤!);else printf(輸入錯誤!);break;printf(nn是否繼續(xù)修改此學生信息y/n?n);scanf(%s,&h);if(strcmp(h,n)=0) break;else if(strcmp(h,y)=0) system(CLS);printf(nn是否繼續(xù)下一學生信息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是否要將信息插入到第一個位置y/n?nn);scanf(%s,&h);if(strcmp(h,n)=0)printf(n請輸入要插入位置前一個學生的學號:);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(是否添加該學生的課程信息y/n?);scanf(%s,&h);if(strcmp(h,y)=0)printf(n請輸入此學生課程數(shù)量:n);scanf(%d,&f);ga+1=f;printf(n請分別輸入該學生課程信息:nn課程編號 課程名稱 學分 考試成績 平時成績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(是否添加該學生的課程信息y/n?n);scanf(%s,&h);if(strcmp(h,y)=0)printf(n請輸入此學生課程數(shù)量:n);scanf(%d,&f);g0=f;printf(n請分別輸入該學生課程信息:nn課程編號 課程名稱 學分 考試成績 平時成績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ù)插入下一學生信息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.按學號查詢nn3.按姓名查詢nn4.返回主菜單);printf(nn請輸入一個數(shù)字來選擇目錄:nn);scanf(%d,&p);if(p=1)for(a=0;ao;a+)printf(班級:%d 學號:%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(課程編號:%d 課程名稱:%s 學分:%3.1f 考試成績:%3.1f 平時成績:%3.1f 綜合成績:%3.1fn,zai.q,zai.w,zai.e,zai.r,zai.t,zai.y);else if(p=2)printf(請輸入要查詢學生的學號:n);scanf(%ld,&qq);w=0;for(a=0;ao;a+)if(qq=ca.j)printf(班級:%d 學號:%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(課程編號:%d 課程名稱:%s 學分:%3.1f 考試成績:%3.1f 平時成績:%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=3)printf(請輸入要查詢學生的姓名:n);scanf(%s,&xm);w=0;for(a=0;ao;a+)if(strcmp(xm,ca.m)=0)printf(班級:%d 學號:%ld 姓名:%s 性別:%s 年齡:%dn,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf(課程編號:%d 課程名稱:%s 學分:%3.1f 考試成績:%3.1f 平時成績:%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(輸入錯誤!n);printf(nn是否返回數(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請輸入要刪除的學生的學號: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該學生不存在!n);printf(nn是否繼續(xù)刪除學生數(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.平均成績計算*/printf(平均成績計算);printf(n按平均成績從高到低的次序輸出學生信息: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 班級:%d 學號:%ld 姓名:%s 性別:%s 年齡:%dn,sa,ca.i,ca.j,ca.m,ca.n,ca.x);for(i=0;iga;i+)printf( 課程編號:%d 課程名稱:%s 學分:%3.1f 考試成績:%3.1f 平時成績:%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.列出不及格學生清單*/printf(列出不及格學生清單);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);x=0;for(a=0;ao;a+)for(u=0;uga;u+)if(int)zau.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 居民企業(yè)管理員工手冊
- 2025年醫(yī)保知識考試題庫:基礎政策解讀與政策調整試題
- 2025年貴陽市高三語文3月模擬考試卷(一)附答案解析
- 2025年小學語文畢業(yè)升學考試全真模擬卷(閱讀寫作強化版)-閱讀理解策略
- 2025年調酒師職業(yè)資格考試酒吧人力資源模擬試題
- 2025年小學英語畢業(yè)考試模擬卷(聽力專項)-聽力與聽力訓練方法挑戰(zhàn)試題
- 碳酸鍶驗收報告
- 2025年注冊會計師考試《會計》套期會計綜合測試模擬試題卷
- 人力資源離散數(shù)據(jù)整合
- 工藝品玻璃吹制成型藝術效果追求
- 左肺占位術后護理查房
- RCA根本原因分析法在護理不良事件中的應用課件
- 期末復習Unit+6-10+單元信息摘錄專項練習-人教版英語八年級上冊
- 健康教育計劃執(zhí)行單模板
- TRD60ED培訓講義精講
- 水工鋼結構第七章平面鋼閘門課件
- 壓鑄常見不良改善方法
- 山東省濟寧市2023年中考數(shù)學試卷(附答案)
- 美國人工智能權利法案藍圖(英文)
- 2023屆江蘇省蘇州市立達中學八年級數(shù)學第二學期期末統(tǒng)考試題含解析
- 2023年自考人力資源開發(fā)與管理
評論
0/150
提交評論