C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(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 語(yǔ)言的基本知識(shí)和技能(2) 基本掌握結(jié)構(gòu)化程序設(shè)計(jì)的思路和方法(3) 熟練掌握指針的用法和用鏈表存儲(chǔ)數(shù)據(jù)的方法(4) 能夠利用所學(xué)的基本知識(shí)和技能,發(fā)揮自學(xué)能力和查找資料的能力,解決稍微復(fù)雜的結(jié)構(gòu)化程序設(shè)計(jì)問(wèn)題(5) 培養(yǎng)創(chuàng)新能力和良好的思維能力。2設(shè)計(jì)任務(wù)

2、(1)編寫(xiě)一個(gè)班級(jí)成績(jī)管理系統(tǒng),以文件形式保存班級(jí)學(xué)生的基本信息。(2) 能運(yùn)用自己編寫(xiě)的程序?qū)W(xué)生信息進(jìn)行一定的處理。從設(shè)計(jì)目的之后奇數(shù)頁(yè)開(kāi)始撰寫(xiě)。調(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ì)過(guò)程中首先運(yùn)用拉文件的讀取等必要的知識(shí)通過(guò)把文件的內(nèi)容讀取到內(nèi)存然后打印出來(lái)。

3、刪除函數(shù)的設(shè)計(jì)是首先從文件內(nèi)找到要?jiǎng)h除的人,然后通過(guò)寫(xiě)一個(gè)實(shí)現(xiàn)刪除目的的FOR循環(huán)將該人從內(nèi)存里刪除,然后再用寫(xiě)的方式打開(kāi)文件,將內(nèi)存內(nèi)的信息寫(xiě)入文件,實(shí)現(xiàn)刪除。查找也是先打開(kāi)文件,用一個(gè)字符串對(duì)比的方法找出用戶要查找的人,然后打印出來(lái)。修改也大體和刪除相同,添加函數(shù)在設(shè)計(jì)時(shí)通過(guò)申請(qǐng)一片空間,然后通過(guò)指針將需要添加的信息添加進(jìn)去,從而實(shí)現(xiàn)添加功能。3-4程序流程圖開(kāi)始執(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)的選擇功能,通過(guò)主選單的操作進(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ì)與收獲通過(guò)這次課程設(shè)計(jì),我對(duì)很多的函數(shù)有新的認(rèn)識(shí),也學(xué)會(huì)運(yùn)用多種函數(shù),我也明白寫(xiě)軟件的基本過(guò)程和基本方法。寫(xiě)軟件的過(guò)程中我又學(xué)到曾經(jīng)自己不知道的函數(shù)或是自己不會(huì)的函數(shù)的用法。特別是文件的開(kāi)啟和關(guān)閉,讀與寫(xiě)。這次課程設(shè)計(jì)課總的來(lái)說(shuō)讓我受益匪淺。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語(yǔ)言程序設(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):按回車沒(méi)有信息。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> /來(lái)源于網(wǎng)絡(luò)資源#define N 30int M=0;struct student char num10;/ 對(duì)用戶的信息進(jìn)行保存,他們都以二進(jìn)制的形式讀寫(xiě)。其中: 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("無(wú)此學(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論