




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)訓(xùn)目的能力目標(biāo)全面熟悉、掌握C語言基本知識,掌握C程序設(shè)計(jì)中數(shù)組、函數(shù)、指針 的操作,把編程和實(shí)際結(jié)合起來,增強(qiáng)對不同的問題運(yùn)用和靈活選擇合 適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握 分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動手能力,培養(yǎng)使用計(jì)算機(jī) 解決實(shí)際問題的能力,規(guī)范編程思想,為以后在專業(yè)課程中應(yīng)用計(jì)算機(jī) 系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。實(shí)訓(xùn)要求:(1)掌握C語言中的基本數(shù)據(jù)輸入、輸出;(2)熟練使用C語言中的數(shù)組;(3)熟練使用C語言中的函數(shù);(4)熟練使用C語言中的指針;(5)熟練使用C語言中的結(jié)構(gòu)體。實(shí)訓(xùn)內(nèi)容(過程及步驟)設(shè)計(jì)題目:學(xué)
2、生成績查詢系統(tǒng)1、基本思路:以數(shù)組為基礎(chǔ),加以函數(shù)和結(jié)構(gòu)體。然后程序分由“ 輸入學(xué)生成績”,“輸出學(xué)生成績 “查詢學(xué)生成績”/修改學(xué)生成績”,“查看成績排序”/查看成績統(tǒng)計(jì)保存數(shù)據(jù) “讀取數(shù)據(jù)”等等這幾大部分組成。這五部分各自用一個(gè)程序列出,然后在用其他函數(shù)將他們連接起來。2、程序:#include <stdafx.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <conio.h>#define N 10/* 定義結(jié)構(gòu)體*typedef struct
3、 students /* 標(biāo)記為 students*/ char num10;/* 學(xué)生學(xué)號 */char name10;/* 學(xué)生姓名 */int age; /* 年齡*/charsex10;/*性別*/floatcyy;/*C語言成績*/floatcomputer;/*計(jì)算機(jī)成績*/floatenglish;/*英語成績*/floatpj;/*平均成績*/STU;STU temp;void sort(STU students口,int n);/ 排序void save(STU students口,int n); / 導(dǎo)出int Locate(STU students口,int n); /
4、查詢/* 顯示菜單*/char displaymenu()char k;system( "cls");printf("n");printf("n");printf("1printf("2printf("3printf("4printf("5printf("6printf("7printf("8printf("9printf("學(xué)生成績管理應(yīng)用菜單輸入學(xué)生成績nn");輸出學(xué)生成績nn");查詢學(xué)生成績nn"
5、);修改學(xué)生成績nn");查看成績排序nn");查看成績統(tǒng)計(jì)nn");保存數(shù)據(jù)nn");讀取數(shù)據(jù)nn");退出系統(tǒng)nn");請選擇你想進(jìn)行的操作:");k=getchar();return k;/* 定義輸出函數(shù)*/void printheader() /*格式化輸出表頭*/printf(printf("nn*學(xué)生成績管理系統(tǒng)*nnn""|學(xué)號|姓名|年齡|性別| C語言成績|計(jì)算機(jī)成績|英語成績|平均成績| n"););void printdata(STU pp) /*格式化輸出表中
6、數(shù)據(jù)*/STU* p;p=&pp;printf( "| %-5s| %-5s| %-4d| %-4s|%-6.0f|%-6.0f| %-5.0f| %-6.0f|n"x,p->cyy,p->computer,p->english,p->pj);/* 添力口學(xué)生信息*/,p->num,p->name,p->age,p->seint add(STU students口 , int *n) int i=0;system( "cls");printf( " n");printf(&quo
7、t;請輸入學(xué)生信息n");printf("退出請?jiān)趯W(xué)生號處輸入:0 n");printf("請輸入學(xué)生學(xué)號:n ");scanf( "%s" ,studentsi.num);while(strcmp(studentsi.num,"0") ) /當(dāng)輸入的學(xué)號為時(shí)結(jié)束輸入printf("請輸入學(xué)生姓名:n ");scanf("%s" ,);printf("*nnn");printf("請輸入學(xué)生年齡:n &quo
8、t;);scanf("%d" ,&studentsi.age);printf("*nnn");printf("請輸入學(xué)生性別:n");scanf("%s",studentsi.sex);printf("*nnn");printf("請輸入C語言成績:n ");scanf("%f" ,&studentsi.cyy);printf("*nnn");printf("請輸入計(jì)算機(jī)成績:n ");scanf(&
9、quot;%f" ,&puter);printf("*nnn");printf("請輸入英語成績:n ");scanf("%f" ,&studentsi.english);printf("*nnn");studentsi.pj=(studentsi.cyy+puter+studentsi.english)/3;printf(i+; printf( printf( scanf(*n=i;”學(xué)生平均成績:%-8.0fn" ,stud
10、entsi.pj);“*nnn");"請輸入學(xué)生學(xué)號:n ");"%s",studentsi.num);save(students ,i);return i;/*查詢學(xué)生信息函數(shù)*/int Locate(STU students口, int n) int k,m=-1;char num10,name20;int i=0;system( "cls");printf("退出請輸入:0 n");printf("請選擇以什么方式查詢:1).按學(xué)生學(xué)號查詢2).按學(xué)生姓名查詢n");scanf(
11、 "%d",&k);if (k=1) printf("請輸入你要查詢的學(xué)生學(xué)號:n");scanf( "%s",num);while (i<n)if (strcmp(studentsi.num,num)=0) /* 若找到學(xué)號 */printf( ">>學(xué)生學(xué)號:sn*學(xué)生姓名:sn*學(xué)生年齡:dn*學(xué)生性別:sn>C語言成績:%-8.0fn> 計(jì) 算機(jī)成績:%-8.0fn>> 英語成績:%-8.0fn>> 平均成績:-8.0fn" ,studentsi
12、.num,,studentsi.age,studentsi.sex,studentsi.cy y,puter,studentsi.english,studentsi.pj);m=i;getchar();break;i+;if (i>=n)printf("沒有所找學(xué)生信息n");getchar(); else if (k=2) printf("請輸入你要查詢的學(xué)生姓名:n");scanf( "%s",name); while (i<n)if (strcmp(student
13、,name)=0) /* 若找到姓名 */ printf( "學(xué)生學(xué)號:sn學(xué)生姓名:%sn學(xué)生年齡:dn學(xué)生性別:sn學(xué)生C語言成績:-8.0fn計(jì)算 機(jī)成績:%-8.0fn英語成績:%-8.0fn平均成績:-8.0fn",studentsi.num,,studentsi.age,studentsi.sex,studentsi.cyy,puter,studentsi.english,studentsi.pj);m=i;getchar(); break; i+; if (i>=n) printf(&q
14、uot;沒有所找學(xué)生信息n");return m;/*返回一個(gè)根n#于修改學(xué)生信息*/ getchar();/* 顯示函數(shù)*/void input(STU students口,int n)int i;system( "cis" ); / 清屏if (n=0)/*表示沒有學(xué)生信息記錄*/printf( "n沒有學(xué)生記錄!n"); printf( "nn");printheader(); /*輸出表格頭部*/ i=0; while (i<n)/*逐條輸出數(shù)組中存儲的學(xué)生信息*/printdata(studentsi); i
15、+; getchar();/*修改子程序*/void Modify(STU students口, int n)int i;if (n<=0)system( "cls");printf( " n 退出請輸入:0 n");printf( "nnot found!n");getchar();return ;system( "cls");printf( "修改學(xué)生信息");input(students,n);i=Locate(students,n); /*查詢到該數(shù)組元素,并返回下標(biāo)值*/if (
16、i!=-1)/*若i!=-,表明已經(jīng)找到該數(shù)組元素*/printf("請輸入新的學(xué)生信息:n");printf("學(xué)號:");scanf( "%s",studentsi.num);printf("姓名:");scanf( "%s" ,);printf("年齡:");scanf( "%d",&studentsi.age);printf("性別:");scanf( "%s",stude
17、ntsi.sex);printf("C 語言:");scanf( "%f" ,&studentsi.cyy);printf(" 英語:");scanf( "%f" ,&studentsi.english);printf(" 計(jì)算機(jī):");scanf( "%f" ,&puter);studentsi.pj=(studentsi.cyy+studentsi.english+puter)/3;printf(
18、 "平均成績:%-9.0fn" ,studentsi.pj);save(students ,n);printf( "n 修改成功!n");elseprintf( "not found!n" );getchar();/*學(xué)生成績排序子程序 *void sort(STU students口,int n)int i,j,a,b,c,d,e,f,k;float p;printf( " n 退出請輸入:0 n"););printf("成績排序方式選擇:1.按C吾言2.按英語3.按平均n " scanf(
19、"%d",&k);if (k=1)/*用選擇法對印言排序*/for (i=0; i<n; i+) for (j=0;j<n-1;j+)if (studentsi.english<studentsj+1.english) temp=studentsi;studentsi=studentsj+1;studentsj+1=temp;else if (k=2) /*英語用冒泡法*/for (a=0; a<n-1; a+) c=a;for (b=a+1; b<n; b+)if (studentsb.cyy>studentsc.cyy) c=
20、b;if (c!=a) temp=studentsa;studentsa=studentsc;studentsc=temp; if (k=3)/*平均成績用插入法*/for (d=1;d<n;d+)p=studentsd.pj;for (e=0;e<d;e+)if (studentse.pj<p)break ;if (e=d)continue ;for (f=d;f>e;f-)studentsf=studentsf-1;studentse=temp;input(students,n); /*顯示排序后的所有記錄*/save(students ,n);printf( &q
21、uot;n 排序完成!n");/*統(tǒng)計(jì)學(xué)生分?jǐn)?shù)在各等級的人數(shù)子程序*/void Tongji(STU students口, int n)int count6085=0,count85=0,count60=0;int i=0;system( "cls");printf( " n 退出請輸入:0 n");input(students,n);i=0;while (i<n)if (studentsi.pj>85)count85+;i=i+1;if (studentsi.pj>=60&&studentsi.pj<=
22、85) count6085+;i=i+1;<85*/if (studentsi.pj<60)count60+;i=i+1;<60*/ printf( printf( printf( printf( printf( printf( printf(n*統(tǒng)計(jì)結(jié)果*nn");平均成績高于分的人數(shù):%d n" ,count85);n"平均成績在分和分之間的人數(shù):%d n" ,count6085);n"平均成績低于分的人數(shù):d n" ,count60);n"continue ;/* 平均成績=>85*/conti
23、nue ;/*60< 平均成績continue ;/*平均成績);););統(tǒng)計(jì)結(jié)束*");printf( "nn*getchar();/* 導(dǎo)出或保存數(shù)據(jù)*/void save(STU students口,int n)FILE* fp;int i=0;fp=fopen( "students" , "wb+"); /*以讀寫方式打開創(chuàng)建一個(gè)二進(jìn)制文件*/if (fp=NULL) /*打開文件失敗*/printf( "n*打開文件錯(cuò)誤!*n");return ;for (i=0;i<n;i+)*/if (f
24、write(&studentsi, sizeof (STU),1,fp)=1) /*每次寫一條記錄或一個(gè)結(jié)構(gòu)數(shù)組元素至文件 continue ;elsebreak;if (i>0)getchar();printf( "nn* 共導(dǎo)出 df學(xué)生信息*n" ,i);getchar();elsesystem( "cls");printf( "*沒有信息導(dǎo)出*n");getchar();fclose(fp); /*關(guān)閉此文件*/* 導(dǎo)入數(shù)據(jù)*/void Read(STU students口, int * n)FILE* fp;i
25、nt i=0;fp=fopen( "students","廿);/*以只讀方式打開一個(gè)已有的二進(jìn)制文件*/if (fp=NULL) /*打開文件失敗*/printf( 、*打開文件錯(cuò)誤!*n");exit(0);for (i=0;i<N;i+)if (fread(&studentsi,sizeof (STU),1,fp)=1) /*每次讀一條記錄或一個(gè)結(jié)構(gòu)數(shù)組元素至文件*/continue ;elsebreak;*n=i;if (i>0)printf(,nn*共導(dǎo)入:%d個(gè)學(xué)生信息*n",i);getchar();else
26、system("cls");printf(*沒有信息導(dǎo)入! *n");getchar();getchar();fclose(fp);/*關(guān)閉此文件*/* 主函數(shù) */ void main() STU studentsN;int n;char s13,s23="1"int i,k;printf("nn");printf("*口);printf("A歡迎使用本軟件>Ann");printf("A版本:修改版>Annn");printf("a姓名:邢曾智 &l
27、t;班級:09511002< 學(xué)號 >:0951100201An");printf("AAn,);printf("*、口);printf("nn");for (i=0;i<3;i+) printf( "n請輸入密碼:");gets(sl);if (strcmp(s1,s2)=0)break ;elseprintf( "n>密碼錯(cuò)誤,請重新輸入");if (i>2)printf( "n您已連續(xù)次輸錯(cuò),系統(tǒng)將退出!n");exit(0);elsewhile (
28、1)k=displaymenu();switch (k) case '1' : add(students,&n); break;case '2' : Read(students,&n);input(students,n) ;break ;case '3' : Read(students,&n);Locate(students,n);break ;case '4' : Read(students,&n);Modify(students,n);break ;case '5' : Read
29、(students,&n);sort(students,n);break ;case '6' : Read(students,&n);Tongji(students,n);break ;case '7' : save(students,n) ;break ;case '8' : Read(students,&n);break ;case '9' : system( "cls");printf( "n * 謝謝您的使用 *n");exit(0); break;defau
30、lt : printf( "nn輸入錯(cuò)誤,輸入必須是9之間的一個(gè)數(shù)字!請重新輸入 n" );getchar();getchar();3、運(yùn)行結(jié)果(截圖):第一步:輸入本軟件的使用密碼。第二步:登陸后的畫面圓J C:W;ndovjsm32,cmd.exc學(xué)生成廷管理 一應(yīng)用篥量一 輸入學(xué)生成績 輸出學(xué)生成績 查詢學(xué)生碰責(zé) 修改學(xué)生成績 查看成績排序 查看成績統(tǒng)計(jì) 保存數(shù)據(jù) 讀取數(shù)據(jù) 退出系統(tǒng)請選擇你想進(jìn)行的操作:第三步:輸入學(xué)生成績的畫面第四步:輸出學(xué)生成績這個(gè)是隨便輸入后保存的有關(guān)數(shù)據(jù)33 C:Windom 3 2cmd, exe黑蜒蓑H:舞施聶時(shí):MM:M:E 生成與聲言王里;二充舞舞髯:M X 舞M詞ME X X X舞舞菊花舞 * M父學(xué)號R2 01智 三1:百 姓張邢年齡!性別;C語言成績I計(jì)算機(jī)成績;英語成績I平均成績第五步:查詢成績FCT C:Mndow5與ystem32cmd.exe退出請神人;清選擇因十以方式查詢中.按學(xué)生學(xué)號查詢 2).按學(xué)生姓名查詢請輸入你要查詢的學(xué)生學(xué)號二1學(xué)生學(xué)號二01學(xué)生姓芻:用曾智 學(xué)生年售:25 季較價(jià)男 靖高成獲:65 h56;墟長績:6S) 平均成績第六步:修改原來的信息厘 CW ndowssystem 32cmd.exe共導(dǎo)出2個(gè)學(xué)生
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度2月智能駕駛芯片兼容性檢測轉(zhuǎn)讓條款
- 叉車安全培訓(xùn)知識
- 2024年烏魯木齊石化分公司秋季高校畢業(yè)生招聘132人筆試參考題庫附帶答案詳解
- 2024年中儲糧質(zhì)檢中心有限公司社會招聘23人筆試參考題庫附帶答案詳解
- 交通安全培訓(xùn)課件
- 二零二五版別墅房屋出租合同
- 二零二五版借款延期補(bǔ)充協(xié)議
- 運(yùn)營維護(hù)的合同范例共
- 二零二五攪拌樁施工勞務(wù)分包協(xié)議
- 演出安全協(xié)議書二零二五年
- 粘液囊腫病例
- 如何幫助大學(xué)生克服游戲成癮問題
- Rational Rose 建模-家庭收支管理系統(tǒng)
- 旅游策劃期末試卷B卷-旅游策劃(哈工大出版社)配套材料
- 生物制藥技術(shù)專業(yè)建設(shè)方案
- TY/T 1106-2023群眾體育賽事活動運(yùn)營服務(wù)規(guī)范
- 無錫星洲工業(yè)園低碳園區(qū)規(guī)劃方案
- 北師大版心理健康六年級上冊第十四課欣賞我自己 課件
- 小班語言繪本《報(bào)紙上的洞洞》
- 宴席設(shè)計(jì)與菜品開發(fā)第二版勞動版宴席菜肴與菜單設(shè)計(jì)課件
- 2023學(xué)年完整公開課版積極情緒
評論
0/150
提交評論