




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計課程設(shè)計 班級成績管理系統(tǒng) 院系: *學(xué)院專業(yè): *專業(yè)班級: * 級*班 姓名: *學(xué)號:*導(dǎo)師: *目錄1設(shè)計目的2設(shè)計任務(wù)3設(shè)計內(nèi)容與步驟 3-1實現(xiàn)的功能 3-2數(shù)據(jù)存儲方式 3-3功能目錄 3-4程序流程圖 3-5測試與評價 3-6體會與收獲4參考文獻(xiàn)5附錄5-1用戶手冊5-2源代碼清單1設(shè)計目的(1) 熟練掌握C 語言的基本知識和技能(2) 基本掌握結(jié)構(gòu)化程序設(shè)計的思路和方法(3) 熟練掌握指針的用法和用鏈表存儲數(shù)據(jù)的方法(4) 能夠利用所學(xué)的基本知識和技能,發(fā)揮自學(xué)能力和查找資料的能力,解決稍微復(fù)雜的結(jié)構(gòu)化程序設(shè)計問題(5) 培養(yǎng)創(chuàng)新能力和良好的思維能力。2設(shè)計任務(wù)
2、(1)編寫一個班級成績管理系統(tǒng),以文件形式保存班級學(xué)生的基本信息。(2) 能運用自己編寫的程序?qū)W(xué)生信息進(jìn)行一定的處理。從設(shè)計目的之后奇數(shù)頁開始撰寫。調(diào)試環(huán)境 :VC6.0完成人:*3設(shè)計內(nèi)容與步驟31實現(xiàn)的功能a.學(xué)生成績登記b.學(xué)生信息刪除c.學(xué)生信息修改d.學(xué)生信息查詢e.學(xué)生成績排序f.密碼功能32數(shù)據(jù)存儲方式用結(jié)構(gòu)數(shù)組存儲數(shù)據(jù),以可執(zhí)行文件形式保存學(xué)生信息。33功能目錄本系統(tǒng)首先設(shè)計出了主函數(shù),然后根據(jù)去要實現(xiàn)的功能分別設(shè)計了密碼系統(tǒng),學(xué)生信息錄入、顯示、查詢、刪除、修改、添加功能的子函數(shù)。在顯示的函數(shù)設(shè)計過程中首先運用拉文件的讀取等必要的知識通過把文件的內(nèi)容讀取到內(nèi)存然后打印出來。
3、刪除函數(shù)的設(shè)計是首先從文件內(nèi)找到要刪除的人,然后通過寫一個實現(xiàn)刪除目的的FOR循環(huán)將該人從內(nèi)存里刪除,然后再用寫的方式打開文件,將內(nèi)存內(nèi)的信息寫入文件,實現(xiàn)刪除。查找也是先打開文件,用一個字符串對比的方法找出用戶要查找的人,然后打印出來。修改也大體和刪除相同,添加函數(shù)在設(shè)計時通過申請一片空間,然后通過指針將需要添加的信息添加進(jìn)去,從而實現(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測試與評價
4、1.運行進(jìn)入程序主菜單主選單具有所有函數(shù)的功能實現(xiàn)的選擇功能,通過主選單的操作進(jìn)入各個功能。主選單主要由主函數(shù)提供,其功能由子函數(shù)實現(xiàn)。a 班級成績管理主界面密碼為:1234561學(xué)生信息輸入,按回車學(xué)號姓名性別年齡成績b.學(xué)生信息顯示c學(xué)生信息查詢d學(xué)生信息刪除e學(xué)生信息排序f學(xué)生信息修改g退出系統(tǒng)3-6體會與收獲通過這次課程設(shè)計,我對很多的函數(shù)有新的認(rèn)識,也學(xué)會運用多種函數(shù),我也明白寫軟件的基本過程和基本方法。寫軟件的過程中我又學(xué)到曾經(jīng)自己不知道的函數(shù)或是自己不會的函數(shù)的用法。特別是文件的開啟和關(guān)閉,讀與寫。這次課程設(shè)計課總的來說讓我受益匪淺。4參考文獻(xiàn)【1】譚浩強(qiáng)。C程序設(shè)計(第三版)。
5、北京:清華大學(xué)出版社,2005【2】譚浩強(qiáng)。C程序設(shè)計題解與上機(jī)指導(dǎo)。第三版。北京:清華大學(xué)出版社,2005【3】C語言程序設(shè)計 北京 高等教育出版社【4】其他網(wǎng)絡(luò)資源5附錄5-1用戶手冊執(zhí)行軟件首先進(jìn)入主界面時輸入密碼:1234561當(dāng)軟件中總有輸入人員信息時:A請輸入你要選擇的功能: 根據(jù)提示輸入1 按回按回車輸入學(xué)生學(xué)號,姓名,性別,年齡,成績;按回車B學(xué)生信息查詢根據(jù)提示輸入 2 按回車輸入需要查詢?nèi)藛T學(xué)號:按回車沒有信息。C 刪除人員信息: 根據(jù)提示輸入3 按回車 輸入需要刪除的人員學(xué)號,姓名,按回車 D排序人員信息 : 根據(jù)提示輸入 4 按回車 顯示班級成績的名次。 E修改學(xué)生信息
6、根據(jù)提示輸入5 按回車根據(jù)提示可修改學(xué)號,姓名,性別,年齡,成績等。 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;/ 對用戶的信息進(jìn)行保存,他們都以二進(jìn)制的形式讀寫。其中: char name20; char sex10; int age;
7、 float score1; float score2; float score3; float score4; float sum;/ 分別對姓名、學(xué)號、性別、年齡、成績進(jìn)行儲存在子函數(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é) 生 成 績 管 理 系 統(tǒng) *n "); printf( "*n "); printf(" n"); printf( "請輸入密碼繼續(xù)!");/密碼系統(tǒng),密碼為123456 printf("n"); for(k=0;k<3;k+) printf("請輸入密碼:"); for(n=0;(strn=getch()!='r'n+) putchar('*'); printf("
9、n"); strn='0' if(strcmp(str,"123456")=0) printf("密碼正確!"); menu(); else printf("密碼錯誤!n請重新輸入!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("請選擇操作:"); scanf("%d",&as); if(as<1|as>6)as=0; switch(as) case 0
11、 :printf("輸入錯誤!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個學(xué)員學(xué)號:",i); scanf("%s",stui.num); printf("n輸入第%d個學(xué)員姓名:",i); scanf("%s",); printf("n輸入第%d個學(xué)員性別:",i); scanf("%s",stui.sex); printf("n輸入第%d個學(xué)員年齡:",i); scanf("%d&q
13、uot;,&stui.age); printf("n輸入第%d個學(xué)員成績1:",i); scanf("%f",&stui.score1); printf("n輸入第%d個學(xué)員成績2:",i); scanf("%f",&stui.score2); printf("n輸入第%d個學(xué)員成績3:",i); scanf("%f",&stui.score3); printf("n輸入第%d個學(xué)員成績4:",i); scanf("
14、;%f",&stui.score4); stui.sum+=stui.score1+stui.score2+stui.score3+stui.score4; printf("學(xué)號:%sn",stui.num); printf("姓名:%sn",); printf("性別:%sn",stui.sex); printf("年齡:%dn",stui.age); printf("成績1:%fn",stui.score1); printf("成績2:%fn&q
15、uot;,stui.score2); printf("成績3:%fn",stui.score3); printf("成績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("請輸入要查找的學(xué)號:"); scanf("%s",str); while(flag) if(strcmp(str,stui.num)=0) printf("學(xué)號 姓名 性別 年齡 成績1 成績2 成績3 成績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é)號!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("請輸入要刪除的學(xué)員學(xué)號:"); 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é)號t姓名t性別t年齡t成績1t成績2t成績3t成績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("請輸入要修改的學(xué)生的學(xué)號:n"); scanf("%s",str); if(strcmp(str,stui.num)=0) printf("學(xué)號t姓名t性別t年齡t成績1t成績2t成績3t成績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請輸入修改內(nèi)容n"); printf("請修改學(xué)生學(xué)號:"); scanf("%s",stui.num); printf("請修改學(xué)生姓名:"); scanf("%s",); printf("請修改學(xué)生性別:"); scanf("%s",stui.sex); printf("請修改學(xué)生年齡:"); scanf("%d",&stui.age); printf("請修改成績1:"); scanf(&qu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)五年級學(xué)生國旗下演講稿《夏至的悄悄話》
- 學(xué)校學(xué)生會秘書部工作總結(jié)模版
- 學(xué)校讀書活動總結(jié)模版
- 工行撤銷委托協(xié)議
- 客服年終總結(jié)模版
- 學(xué)前兒童發(fā)展 課件 第2章 胎兒的發(fā)育與出生
- 反比例函數(shù)知識點總結(jié)模版
- 銅川市重點中學(xué)2025屆八年級數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)水平測試模擬試題含解析
- 勾股定理思維導(dǎo)圖+題型總結(jié)模版
- 室性心律失常的臨床護(hù)理
- 2025年安徽馬鞍山博望港華燃?xì)庥邢薰菊衅腹P試參考題庫附帶答案詳解
- 浙江開放大學(xué)2025年《社區(qū)治理》形考任務(wù)1-3答案
- 廣告項目方案投標(biāo)文件(技術(shù)方案)
- 腦梗死三基試題及答案
- 浙江省錢塘聯(lián)盟2024-2025學(xué)年高二下學(xué)期期中聯(lián)考試題 地理 含答案
- 萬壽菊提取物項目運營方案【參考范文】
- 07北工大高數(shù)工2期末考試A卷工答案1
- 安全教育零食大PK(課堂PPT)
- 譯林版六下英語3-6四會詞歸類復(fù)習(xí)
- 協(xié)和醫(yī)院老年綜合評估表
- GB_T 15109-2021 白酒工業(yè)術(shù)語(高清-現(xiàn)行)
評論
0/150
提交評論