




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言程序設(shè)計(jì)課程設(shè)計(jì) 班級(jí)成績(jī)管理系統(tǒng) 院系: *學(xué)院專業(yè): *專業(yè)班級(jí): * 級(jí)*班 姓名: *學(xué)號(hào):*導(dǎo)師: *目錄1設(shè)計(jì)目的2設(shè)計(jì)任務(wù)3設(shè)計(jì)內(nèi)容與步驟 3-1實(shí)現(xiàn)的功能 3-2數(shù)據(jù)存儲(chǔ)方式 3-3功能目錄 3-4程序流程圖 3-5測(cè)試與評(píng)價(jià) 3-6體會(huì)與收獲4參考文獻(xiàn)5附錄5-1用戶手冊(cè)5-2源代碼清單1設(shè)計(jì)目的(1) 熟練掌握C 語言的基本知識(shí)和技能(2) 基本掌握結(jié)構(gòu)化程序設(shè)計(jì)的思路和方法(3) 熟練掌握指針的用法和用鏈表存儲(chǔ)數(shù)據(jù)的方法(4) 能夠利用所學(xué)的基本知識(shí)和技能,發(fā)揮自學(xué)能力和查找資料的能力,解決稍微復(fù)雜的結(jié)構(gòu)化程序設(shè)計(jì)問題(5) 培養(yǎng)創(chuàng)新能力和良好的思維能力。2設(shè)計(jì)任務(wù)
2、(1)編寫一個(gè)班級(jí)成績(jī)管理系統(tǒng),以文件形式保存班級(jí)學(xué)生的基本信息。(2) 能運(yùn)用自己編寫的程序?qū)W(xué)生信息進(jìn)行一定的處理。從設(shè)計(jì)目的之后奇數(shù)頁開始撰寫。調(diào)試環(huán)境 :VC6.0完成人:*3設(shè)計(jì)內(nèi)容與步驟31實(shí)現(xiàn)的功能a.學(xué)生成績(jī)登記b.學(xué)生信息刪除c.學(xué)生信息修改d.學(xué)生信息查詢e.學(xué)生成績(jī)排序f.密碼功能32數(shù)據(jù)存儲(chǔ)方式用結(jié)構(gòu)數(shù)組存儲(chǔ)數(shù)據(jù),以可執(zhí)行文件形式保存學(xué)生信息。33功能目錄本系統(tǒng)首先設(shè)計(jì)出了主函數(shù),然后根據(jù)去要實(shí)現(xiàn)的功能分別設(shè)計(jì)了密碼系統(tǒng),學(xué)生信息錄入、顯示、查詢、刪除、修改、添加功能的子函數(shù)。在顯示的函數(shù)設(shè)計(jì)過程中首先運(yùn)用拉文件的讀取等必要的知識(shí)通過把文件的內(nèi)容讀取到內(nèi)存然后打印出來。
3、刪除函數(shù)的設(shè)計(jì)是首先從文件內(nèi)找到要?jiǎng)h除的人,然后通過寫一個(gè)實(shí)現(xiàn)刪除目的的FOR循環(huán)將該人從內(nèi)存里刪除,然后再用寫的方式打開文件,將內(nèi)存內(nèi)的信息寫入文件,實(shí)現(xiàn)刪除。查找也是先打開文件,用一個(gè)字符串對(duì)比的方法找出用戶要查找的人,然后打印出來。修改也大體和刪除相同,添加函數(shù)在設(shè)計(jì)時(shí)通過申請(qǐng)一片空間,然后通過指針將需要添加的信息添加進(jìn)去,從而實(shí)現(xiàn)添加功能。3-4程序流程圖開始執(zhí)行printf()函數(shù)選擇(a)調(diào)用void Search()函數(shù)調(diào)用Voidinput()函數(shù)執(zhí)行printf()退出系統(tǒng)調(diào)用void Modi()函數(shù)調(diào)用void Sort()函數(shù)調(diào)用void Del()函數(shù)3-5測(cè)試與評(píng)價(jià)
4、1.運(yùn)行進(jìn)入程序主菜單主選單具有所有函數(shù)的功能實(shí)現(xiàn)的選擇功能,通過主選單的操作進(jìn)入各個(gè)功能。主選單主要由主函數(shù)提供,其功能由子函數(shù)實(shí)現(xiàn)。a 班級(jí)成績(jī)管理主界面密碼為:1234561學(xué)生信息輸入,按回車學(xué)號(hào)姓名性別年齡成績(jī)b.學(xué)生信息顯示c學(xué)生信息查詢d學(xué)生信息刪除e學(xué)生信息排序f學(xué)生信息修改g退出系統(tǒng)3-6體會(huì)與收獲通過這次課程設(shè)計(jì),我對(duì)很多的函數(shù)有新的認(rèn)識(shí),也學(xué)會(huì)運(yùn)用多種函數(shù),我也明白寫軟件的基本過程和基本方法。寫軟件的過程中我又學(xué)到曾經(jīng)自己不知道的函數(shù)或是自己不會(huì)的函數(shù)的用法。特別是文件的開啟和關(guān)閉,讀與寫。這次課程設(shè)計(jì)課總的來說讓我受益匪淺。4參考文獻(xiàn)【1】譚浩強(qiáng)。C程序設(shè)計(jì)(第三版)。
5、北京:清華大學(xué)出版社,2005【2】譚浩強(qiáng)。C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)。第三版。北京:清華大學(xué)出版社,2005【3】C語言程序設(shè)計(jì) 北京 高等教育出版社【4】其他網(wǎng)絡(luò)資源5附錄5-1用戶手冊(cè)執(zhí)行軟件首先進(jìn)入主界面時(shí)輸入密碼:1234561當(dāng)軟件中總有輸入人員信息時(shí):A請(qǐng)輸入你要選擇的功能: 根據(jù)提示輸入1 按回按回車輸入學(xué)生學(xué)號(hào),姓名,性別,年齡,成績(jī);按回車B學(xué)生信息查詢根據(jù)提示輸入 2 按回車輸入需要查詢?nèi)藛T學(xué)號(hào):按回車沒有信息。C 刪除人員信息: 根據(jù)提示輸入3 按回車 輸入需要?jiǎng)h除的人員學(xué)號(hào),姓名,按回車 D排序人員信息 : 根據(jù)提示輸入 4 按回車 顯示班級(jí)成績(jī)的名次。 E修改學(xué)生信息
6、根據(jù)提示輸入5 按回車根據(jù)提示可修改學(xué)號(hào),姓名,性別,年齡,成績(jī)等。 F退出系統(tǒng)根據(jù)提示輸入 6按回車,接著輸入密碼 按回車。5-2源代碼清單/軟件中使用結(jié)構(gòu)體和結(jié)構(gòu)體數(shù)組 #include<stdio.h>#include<string.h>#include<stdlib.h>#include <conio.h> /來源于網(wǎng)絡(luò)資源#define N 30int M=0;struct student char num10;/ 對(duì)用戶的信息進(jìn)行保存,他們都以二進(jìn)制的形式讀寫。其中: char name20; char sex10; int age;
7、 float score1; float score2; float score3; float score4; float sum;/ 分別對(duì)姓名、學(xué)號(hào)、性別、年齡、成績(jī)進(jìn)行儲(chǔ)存在子函數(shù)中還使用了結(jié)構(gòu)體數(shù)組:stuN; void menu(); void Input(); void Search(); void Del(); void Sort(); void Modi(); void main() int n,k; char str10; printf( "n ");/主菜單系統(tǒng) printf( "*n "); printf( "* 歡 迎
8、 進(jìn) 入 *n "); printf( "* 學(xué) 生 成 績(jī) 管 理 系 統(tǒng) *n "); printf( "*n "); printf(" n"); printf( "請(qǐng)輸入密碼繼續(xù)!");/密碼系統(tǒng),密碼為123456 printf("n"); for(k=0;k<3;k+) printf("請(qǐng)輸入密碼:"); for(n=0;(strn=getch()!='r'n+) putchar('*'); printf("
9、n"); strn='0' if(strcmp(str,"123456")=0) printf("密碼正確!"); menu(); else printf("密碼錯(cuò)誤!n請(qǐng)重新輸入!n你已輸入%d次",k+1); printf("nnn"); system("cls"); menu(); void menu() int as; printf( "*n "); printf( " 歡迎進(jìn)入主菜單! *n "); printf( &q
10、uot;*n "); printf("1.學(xué)生信息的錄入"); printf("2.學(xué)生信息的查詢"); printf("3.學(xué)生信息的刪除"); printf("4.學(xué)生信息的排序"); printf("5.學(xué)生信息的修改"); printf("6.退出系統(tǒng)"); printf("請(qǐng)選擇操作:"); scanf("%d",&as); if(as<1|as>6)as=0; switch(as) case 0
11、 :printf("輸入錯(cuò)誤!n");break; case 1 :Input();break; case 2:Search();break; case 3:Del();break; case 4:Sort();break; case 5:Modi();break; case 6:break; default: menu(); void Input() int num20; static int i=0; int flag=1; char l; system("cls"); printf("*歡迎進(jìn)入學(xué)員信息的錄入!*n"); whi
12、le(flag) i+; printf("AA%dAA",i); printf("n輸入第%d個(gè)學(xué)員學(xué)號(hào):",i); scanf("%s",stui.num); printf("n輸入第%d個(gè)學(xué)員姓名:",i); scanf("%s",); printf("n輸入第%d個(gè)學(xué)員性別:",i); scanf("%s",stui.sex); printf("n輸入第%d個(gè)學(xué)員年齡:",i); scanf("%d&q
13、uot;,&stui.age); printf("n輸入第%d個(gè)學(xué)員成績(jī)1:",i); scanf("%f",&stui.score1); printf("n輸入第%d個(gè)學(xué)員成績(jī)2:",i); scanf("%f",&stui.score2); printf("n輸入第%d個(gè)學(xué)員成績(jī)3:",i); scanf("%f",&stui.score3); printf("n輸入第%d個(gè)學(xué)員成績(jī)4:",i); scanf("
14、;%f",&stui.score4); stui.sum+=stui.score1+stui.score2+stui.score3+stui.score4; printf("學(xué)號(hào):%sn",stui.num); printf("姓名:%sn",); printf("性別:%sn",stui.sex); printf("年齡:%dn",stui.age); printf("成績(jī)1:%fn",stui.score1); printf("成績(jī)2:%fn&q
15、uot;,stui.score2); printf("成績(jī)3:%fn",stui.score3); printf("成績(jī)4:%fn",stui.score4); printf("總分:%fn",stui.sum); printf("是否繼續(xù)輸入?(Y/N)"); getchar(); scanf("%c",&l); if(l='n'|l='N') flag=0; else if(l='Y') Input(); else break; sys
16、tem("cls"); menu(); void Search()/子函數(shù)SEARCH int i=0,flag=1; char cn; char str20; system("cls"); printf("*歡迎進(jìn)入學(xué)員信息查詢系統(tǒng)!*n"); printf("請(qǐng)輸入要查找的學(xué)號(hào):"); scanf("%s",str); while(flag) if(strcmp(str,stui.num)=0) printf("學(xué)號(hào) 姓名 性別 年齡 成績(jī)1 成績(jī)2 成績(jī)3 成績(jī)4n")
17、; printf("%s %s %s %d %f %f %f %fn",stui.num,,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4); break; i+; if(i=N) printf("無此學(xué)號(hào)!n"); if(i=N)flag=0; printf ("是否繼續(xù)輸入(Y/N)?"); getchar(); if(getchar()='Y')Search(); menu(); void Del() int i
18、,j,flag=1; char cn; char str20; system("cls"); printf("*歡迎進(jìn)入學(xué)員信息刪除系統(tǒng)!*n"); while(flag) printf("請(qǐng)輸入要?jiǎng)h除的學(xué)員學(xué)號(hào):"); scanf("%s",&str); for(i=0;i<N;i+) if(strcmp(str,stui.num)=0) for(j=i;j<N;j+) stuj=stuj+1; printf("刪除成功!n"); printf("是否繼續(xù)輸入(Y
19、/N):"); getchar(); scanf("%c",&cn); if(cn='n'|cn='N')flag=0; system("cls"); menu(); void Sort() struct student t; int i,j,k,p,x,flag=1; float sumN; float f,g; char cn; printf("*歡迎進(jìn)入學(xué)員信息排序系統(tǒng)!*n"); while(flag) for(i=0;i<N;i+) sumi=stui.score1+s
20、tui.score2+stui.score3+stui.score4; for(k=0;k<N-1;k+) x=k; for(p=k+1;p<N;p+) if(sumx>sump) x=p; g=sumk; sumk=sumx;sumx=g; t=stuk; stuk=stux; stux=t; printf("學(xué)號(hào)t姓名t性別t年齡t成績(jī)1t成績(jī)2t成績(jī)3t成績(jī)4t總分n"); for(i=N;i>0;i-) if(stui.age!=0) printf("%st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2fn&quo
21、t;,stui.num,,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4,stui.sum); printf("是否返回主菜單(y/n):"); getchar(); scanf("%c",&cn); if(cn='y'|cn='Y')flag=0; system("cls"); menu(); void Modi() int i=0,flag=1; char k; char str20; pr
22、intf("*歡迎進(jìn)入學(xué)員信息修改系統(tǒng)!*n"); while(flag) i+; printf("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):n"); scanf("%s",str); if(strcmp(str,stui.num)=0) printf("學(xué)號(hào)t姓名t性別t年齡t成績(jī)1t成績(jī)2t成績(jī)3t成績(jī)4t總分n"); printf("%st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2fn",stui.num,,stui.sex,stui.age,stui.score1
23、,stui.score2,stui.score3,stui.score4,stui.sum); printf("n請(qǐng)輸入修改內(nèi)容n"); printf("請(qǐng)修改學(xué)生學(xué)號(hào):"); scanf("%s",stui.num); printf("請(qǐng)修改學(xué)生姓名:"); scanf("%s",); printf("請(qǐng)修改學(xué)生性別:"); scanf("%s",stui.sex); printf("請(qǐng)修改學(xué)生年齡:"); scanf("%d",&stui.age); printf("請(qǐng)修改成績(jī)1:"); scanf(&qu
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高速數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 云南省保山市騰沖市第八中學(xué)2024-2025學(xué)年高一下學(xué)期5月期中考試生物試卷(有答案)
- 2025年汽車共享出行平臺(tái)運(yùn)營(yíng)模式變革與用戶忠誠(chéng)度培養(yǎng)報(bào)告
- 版語文二年級(jí)下冊(cè) 5寓言 烏鴉和狐貍練習(xí)卷
- 高考數(shù)學(xué)總復(fù)習(xí)第27講函數(shù)y=Asin(ωx+φ)的圖象及三角函數(shù)模型的簡(jiǎn)單應(yīng)用含解析
- DB62T 4054-2019 綠色食品 冷涼區(qū)冬小麥生產(chǎn)技術(shù)規(guī)程
- DB62T 4248-2020 青海云杉育苗技術(shù)規(guī)程
- DB62T 4094-2020 草品種真實(shí)性檢驗(yàn)規(guī)程 SSR 標(biāo)記法
- 城市更新項(xiàng)目文明施工措施
- 胃造瘺圍手術(shù)期護(hù)理
- 湖北省武漢市2025屆高三下學(xué)期四月調(diào)研考試(二模)數(shù)學(xué)試題 含解析
- 2025年高考?xì)v史五大熱點(diǎn)主題知識(shí)復(fù)習(xí)匯編
- 2024-2025學(xué)年譯林版(2024)初中英語七年級(jí)下冊(cè)教學(xué)計(jì)劃及進(jìn)度表
- 《中國(guó)慢性便秘臨床診斷與治療規(guī)范(2024)》解讀
- 腫瘤患者的人文關(guān)懷
- 注射相關(guān)感染預(yù)防與控制
- 一例麻醉蘇醒期躁動(dòng)患者的護(hù)理查房
- 2024年咖啡師考試資料及試題及答案
- GB/T 13511.1-2025配裝眼鏡第1部分:?jiǎn)谓购投嘟苟ㄅ溲坨R
- 2025年新媒體領(lǐng)導(dǎo)面試題及答案
- 2025統(tǒng)編辦一年級(jí)下冊(cè)道德與法治教案(精簡(jiǎn)版)
評(píng)論
0/150
提交評(píng)論