學(xué)生成績控制系統(tǒng)設(shè)計(jì)說明書_第1頁
學(xué)生成績控制系統(tǒng)設(shè)計(jì)說明書_第2頁
學(xué)生成績控制系統(tǒng)設(shè)計(jì)說明書_第3頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)生成績控制系統(tǒng)設(shè)計(jì)說明書系統(tǒng)總體設(shè)計(jì)本程序是由C語言的基本單位函數(shù)來設(shè)計(jì)實(shí)現(xiàn)與其功能的多次使用函數(shù)調(diào)用以及 函數(shù)的嵌套調(diào)用。本程序分為 6個(gè)模塊,分別為創(chuàng)建學(xué)生信息;顯示學(xué)生的資料;查詢 學(xué)生的成績;添加學(xué)生的資料;刪除學(xué)生的資料;修改學(xué)生的成績。本程序可以處理多個(gè) 學(xué)生的成績的輸入、添加、修改、刪除等問題。1課題總體框架圖如圖1學(xué)生成績管理系統(tǒng)學(xué)學(xué)學(xué)生生生信信信息息息的的的錄顯查入示找學(xué)學(xué)學(xué)生生生信信信息息息的的的添修刪加改除圖1總體框架圖2 總體流程圖如圖 2詳細(xì)設(shè)計(jì)1原始數(shù)據(jù)錄入功能通過鍵盤輸入某位學(xué)生的學(xué)生信息,包括姓名、學(xué)號(hào)、性別及學(xué)生高數(shù)、英語、計(jì) 算機(jī)成績,可用函數(shù)input(

2、)來實(shí)現(xiàn)此操作(如圖3)。此功能采用do-while語句根據(jù) 提示依次輸入一名學(xué)生的編號(hào)、姓名、性別、及高數(shù)、英語、計(jì)算機(jī)成績信息,每輸完 一名同學(xué)的信息,系統(tǒng)提示是否繼續(xù)輸入其他同學(xué)信息,按“Y'繼續(xù)輸入其他同學(xué),按“N'返回主菜單,操作結(jié)束。2顯示數(shù)據(jù)功能顯示輸入的全部學(xué)生信息,可用函數(shù)display。來實(shí)現(xiàn)此操作(如圖4)。該程序采用for循環(huán)。已輸入的信息經(jīng)過初始化后,首先輸出“班級(jí)學(xué)員信息列表”和學(xué)生信息各項(xiàng)所對(duì)應(yīng)的項(xiàng)目名稱。然后依次輸出各項(xiàng)學(xué)生信息,并和各項(xiàng)目對(duì)齊3查詢數(shù)據(jù)功能能根據(jù)學(xué)生的姓名,查詢指定學(xué)生的信息,用函數(shù)find()來實(shí)現(xiàn)此操作(如圖5) 該功能采用

3、do-while語句并嵌套if語句,依次核對(duì)每一個(gè)學(xué)生姓名是否與所輸入的名 字相符。正確的顯示,不對(duì)的跳過,再核對(duì)下一個(gè),核對(duì)完全后返回主菜單。圖5查詢數(shù)據(jù)功能流程圖4插入數(shù)據(jù)功能6)。該功能能根據(jù)需要再次添加學(xué)生信息,用函數(shù)in sert()來實(shí)現(xiàn)此操作(如圖 采用do-while語句,類似信息輸入功能,來插入后來要求增加的數(shù)據(jù)5修改數(shù)據(jù)功能能根據(jù)學(xué)生的學(xué)號(hào)或姓名,修改指定學(xué)生的成績,可用函數(shù)modify()來實(shí)現(xiàn)此操作(如圖7)。該功能采用for和if語句,先查找要修改的學(xué)生信息,再輸入新的信 息將其覆蓋。開始圖7修改數(shù)據(jù)功能流程圖6調(diào)試與測試N'結(jié)束輸調(diào)出主菜單,按“ 1”,根據(jù)

4、提示通過鍵盤依次輸入四名同學(xué)的信息。按 入返回主菜單,再按“ 2”顯示信息如圖&編號(hào) 姓名徃前 高數(shù)英語計(jì)鼻機(jī)1 111178.0099.009B.0S!2 2220&7.S09S.S0'3 3331fr?.00?8_0076-B0!4 4441PG.0090.001按任意鍵返回主菜單.圖8信息輸入顯示圖在主菜單界面,按” 3” ,進(jìn)入查找界面,在“輸入要查詢的學(xué)生姓名:”后輸入“222” 按回車,查找為222的同學(xué)信息顯示如圖9。龜入妥查詢的字主姓名汐22編號(hào)姓名性別高數(shù)英語計(jì)算機(jī)2222Q67.0076-68勺也-陽按任意鍵返回主菜單.圖9查找結(jié)果顯示圖在主菜單界面

5、,按“ 4”進(jìn)入添加界面,根據(jù)提示想輸入原始數(shù)據(jù)一樣再添加一名編 號(hào)為5的同學(xué)的信息,結(jié)束按回車回到主菜單,再按“ 2”顯示如圖10。編號(hào)1廿算機(jī)98.00:姓名111性別1高數(shù)78.00英語4444189-00&-亞90.60:33331匕孑回098-0076.GB ;5555178.00EE.0098.00!2222067.0078.0090.001按任意犍返回主菜單-圖10添加結(jié)果顯示圖在主菜單界面,按“ 5”進(jìn)入刪除界面,在“輸入要?jiǎng)h除的學(xué)生編號(hào):”后輸入“ 2”, 按回車,則刪除編號(hào)為2的同學(xué)信息。界面回到主菜單,按“ 2”顯示如圖11于囚苗忌了;編號(hào)姓名高數(shù)英語計(jì)算機(jī)111

6、117S.0U89.0098.SH;44441呂號(hào)町076,3333167.0098.0076,00:5E55178_00皈.0098.S61按任意犍返回主菜單圖11刪除結(jié)果顯示圖四總結(jié)經(jīng)過一周的編程實(shí)習(xí),我對(duì)C語言這門科有新的認(rèn)識(shí)。要成功編一套程序, 不僅需 要有一個(gè)整體的思路,更重要的是對(duì)基礎(chǔ)知識(shí)把握一定要扎實(shí)。通過編程,對(duì)我發(fā)現(xiàn)了 很多知識(shí)上的漏洞和不足,也得到了用諸多C語言解決實(shí)際問題的寶貴經(jīng)驗(yàn)。 相信在以后的學(xué)習(xí)生活包括考試中一定會(huì)有很大幫助在設(shè)計(jì)程序的過程中, 我了解到要設(shè)計(jì)一個(gè)完整的程序, 其中最難的可能就屬 設(shè)計(jì)整個(gè)程序的框架,其中可能會(huì)需要經(jīng)過很多次的修改與調(diào)試,所以必須要有

7、耐心, 直至最后設(shè)計(jì)出自己想要的程序。 另外平時(shí)學(xué)習(xí) c 語言的基礎(chǔ)也很關(guān)鍵, 因?yàn)槿绻綍r(shí) 學(xué)得就不怎么樣, 那么你面對(duì)這么一個(gè)比較有難度的程序,可能會(huì)望而卻步,看懂他人 的程序都是個(gè)難點(diǎn),更別說讓自己去設(shè)計(jì)??偟膩碚f,這次程序設(shè)計(jì)讓我獲益匪淺,對(duì) C 語言也有了進(jìn)一步的認(rèn)識(shí): C 語 言功能高、表達(dá)能力強(qiáng)、使用靈活方便、目標(biāo)程序效率高等等。 C 語言是在國內(nèi)外廣泛 使用的一種計(jì)算機(jī)語言, 相信除了以上優(yōu)點(diǎn), 還有許多我還未發(fā)現(xiàn),希望能在以后的學(xué) 習(xí)中有更深入的認(rèn)識(shí)。通過本次C程序課程設(shè)計(jì),我覺得對(duì)自己提高很大: 克服了的偷 懶的毛病, 這在我以后的學(xué)習(xí)和工作中的心理定位與調(diào)節(jié)有很大的幫助。

8、 我感受到了編 程是一項(xiàng)非常煩瑣周密的活動(dòng), 他不但需要一個(gè)人周密的思考問題的能力, 處理問題的 能力,還需要有足夠的耐心和嚴(yán)謹(jǐn)治學(xué)的作風(fēng),來不得半點(diǎn)馬虎。通過本次論文設(shè)計(jì), 我初步學(xué)會(huì)了論文設(shè)計(jì)的基本方法, 學(xué)會(huì)了怎樣去借鑒別人的 方法和經(jīng)驗(yàn), 知道如何去查找資料和整合處理這些資料的能力, 這為以后的大學(xué)畢業(yè)設(shè) 計(jì)論文打下了一個(gè)初步的基礎(chǔ)使我收益最大的是享受到了一種成功的喜悅, 在這個(gè)星期 之中從開始的確定論文題目, 然后是上網(wǎng)查找資料,編寫 C 語言原程序, 這個(gè)環(huán)節(jié)是一 個(gè)非常痛苦和艱難的, 常常會(huì)因?yàn)橐恍↑c(diǎn)的錯(cuò)誤而在編譯失敗與再次修改的漫漫循環(huán)之 路中, 但失敗的越多, 對(duì)人的考驗(yàn)就越

9、多, 在編譯運(yùn)行成功之后的享受成功的喜悅也就 越多,另外在調(diào)試程序的過程中不斷的思考和運(yùn)用已經(jīng)學(xué)到的知識(shí), 這對(duì)于自己是有很 大的提高的。由于所學(xué)的知識(shí)不多, 自己的編程經(jīng)驗(yàn)不足, 仍存在一些錯(cuò)誤,按現(xiàn)有的知識(shí)水平 有些東西暫時(shí)還無法解決,還有待于在以后的學(xué)習(xí)中不斷提高和改進(jìn)!參考文獻(xiàn)1 譚浩強(qiáng),張基溫 .C 語言程序設(shè)計(jì)教程 M. 第 3版. 高等教育出版社, 2006。2 田淑清,全國計(jì)算機(jī)等級(jí)考試二級(jí)教程 C 語言程序設(shè)計(jì) . 第一版 . 高等教育出版社, 2007。六 附錄學(xué)生成績管理程序源代碼#include <time.h>#include<stdio.h>

10、#include<conio.h>#include <stdlib.h>#include<string.h>#define MAX 80void input();void display();void insert();void del();void average();void find();void average();void modify();int now_no=0;struct studentint no;char name20;char sex4;float score1;float score2;float score3;float sort

11、;float ave;float sum;struct student stuMAX,*p;main()/* 主函數(shù) */int as;start: printf("ntt#歡迎使用學(xué)生成績管理系統(tǒng)#n");printf("tt作者:信息系 08 電信 2 班張建濤 n");/* 一下為功能選擇模塊 */doprintf("ttt*、t t I、/,主菜單*n");printf("nttt1. 錄入學(xué)員信息ttt2.顯示學(xué)員信息 n");printf("ttt3. 查詢學(xué)員信息 ttt4. 添加學(xué)員信息

12、n"); printf("ttt5. 刪除學(xué)員信息 ttt6. 修改學(xué)員信息 n"); printf("ttttt7.退出 n");printf("ntttt選擇功能選項(xiàng)( 1-8 ) :");fflush(stdin);scanf("%d",&as);switch(as)case 1:system("cls");input();break;case 2:system("cls");display();break;case 4:system("cl

13、s");insert();break;case 5:system("cls");del();break;case 6:system("cls");modify();break;case 3:system("cls");find();break;case 7:system("exit");exit(0);default:system("cls");goto start;while(1); /*至此功能選擇結(jié)束 */void input()/*原始數(shù)據(jù)錄入模塊 */int i=0;char

14、 ch;doprintf("tttt1.錄入學(xué)員信息n輸入第c個(gè)學(xué)員的信息n",i+1);printf("n 輸入學(xué)生編號(hào) :");scanf("%d",&stui.no);fflush(stdin);printf("n 輸入學(xué)員姓名 :");fflush(stdin);gets();printf("n 輸入學(xué)員性別 :");fflush(stdin);gets(stui.sex);printf("n 輸入學(xué)員高數(shù)成績 :");fflush(stdi

15、n);scanf("%f",&stui.score1);printf("n 輸入學(xué)員英語成績 :");fflush(stdin);scanf("%f",&stui.score2);printf("n 輸入學(xué)員計(jì)算機(jī)成績 :");fflush(stdin);scanf("%f",&stui.score3);printf("nn");i+;now_no=i;printf(" 是否繼續(xù)輸入 ?(Y/N)");fflush(stdin);c

16、h=getch();system("cls");while(ch!='n'&&ch!='N');system("cls");void display()/* 顯示數(shù)據(jù)函數(shù) */int i;char as;average();doprintf("ttt 班級(jí)學(xué)員信息列表 n");printf("t編號(hào) t 姓名 t 性別 t 高數(shù) t 英語 t 計(jì)算機(jī) t 平均值 n");for(i=0;i<now_no&&0;i+) print

17、f("t%dt%st%st%.2ft%.2ft%.2ft%.2fn",stui.no,,stui.sex,s tui.score1,stui.score2,stui.score3,stui.ave);printf("tt 按任意鍵返回主菜單 ."); fflush(stdin);as=getch();while(!as);system("cls");void insert()/* 插入數(shù)據(jù)函數(shù) */char ch;doprintf("ntt 輸入新插入學(xué)員信息 n"); printf("

18、n 輸入學(xué)生編號(hào) :"); scanf("%d",&stunow_no.no); fflush(stdin);printf("n 輸入學(xué)員姓名 :");fflush(stdin);gets(stunow_);printf("n 輸入學(xué)員性別 :"); fflush(stdin);gets(stunow_no.sex);printf("n 輸入學(xué)員高數(shù)成績 :");fflush(stdin); scanf("%f",&stunow_no.score1); p

19、rintf("n 輸入學(xué)員英語成績 :"); fflush(stdin); scanf("%f",&stunow_no.score2); printf("n 輸入學(xué)員計(jì)算機(jī)成績 :"); fflush(stdin);scanf("%f",&stunow_no.score3); printf("nn");now_no=now_no+1;printf(" 是否繼續(xù)輸入 ?(Y/N)"); fflush(stdin);ch=getch(); system("

20、;cls");while(ch!='n'&&ch!='N');void del()/* 刪除數(shù)據(jù)函數(shù) */int inum,i,j;printf(" 輸入要?jiǎng)h除學(xué)員的編號(hào) :"); fflush(stdin);scanf("%d",&inum); for(i=0;i<now_no;i+)if(stui.no=inum)if(i=now_no)now_no-=1;elsestui=stunow_no-1;now_no-=1;break;system("cls");v

21、oid find()/* 查詢函數(shù) */int i;char str20,as;doprintf(" 輸入要查詢的學(xué)生姓名 :");fflush(stdin);gets(str);for(i=0;i<now_no;i+)if(!strcmp(,str)printf("t編號(hào) t 姓名 t 性別 t 高數(shù) t 英語 t 計(jì)算機(jī) t 平均值 n");printf("t%dt%st%st%.2ft%.2ft%.2ft%.2fn",stui.no,,stui.sex,stui .score1,stui.score2,stui.score3,stui.ave);printf("tt 按任意鍵返回主菜單 .");fflush(stdin);as=getch();while(!as);system("cls");void average()/* 求平均數(shù) */int i;for(i=0;i<now_no;i+)stui.sum=stui

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論