《C++程序設(shè)計(jì)》課程實(shí)訓(xùn)報(bào)告_第1頁
《C++程序設(shè)計(jì)》課程實(shí)訓(xùn)報(bào)告_第2頁
《C++程序設(shè)計(jì)》課程實(shí)訓(xùn)報(bào)告_第3頁
《C++程序設(shè)計(jì)》課程實(shí)訓(xùn)報(bào)告_第4頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)工程系計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)2009級(jí)

《C++程序設(shè)計(jì)》課程實(shí)訓(xùn)報(bào)告2009-2010第二學(xué)期課程實(shí)訓(xùn)題目:學(xué)生成績管理系統(tǒng)實(shí)訓(xùn)學(xué)生姓名:武智翔 所在系部名稱: 計(jì)算機(jī)工程系所在班級(jí)名稱:計(jì)算機(jī)網(wǎng)絡(luò)2009(1)參加實(shí)訓(xùn)時(shí)間:20加一2010第二學(xué)期計(jì)劃實(shí)訓(xùn)課時(shí):30實(shí)際實(shí)訓(xùn)課時(shí):30指導(dǎo)教師姓名: 趙欽二〇ー〇年六月二十五內(nèi)容提要該系統(tǒng)主要能高效的管理內(nèi)部所有學(xué)生的個(gè)人信息,并能正確快速的對(duì)系統(tǒng)的使用者的操作做出回應(yīng),使用戶可以快速準(zhǔn)確的找到學(xué)生的信息。系統(tǒng)的主要功能如下:(1)能插入以學(xué)生的名字,學(xué)生的編號(hào),學(xué)生的成績。(2)錄入學(xué)生成績信息;(3)插入學(xué)生成績信息;(4)刪除學(xué)生成績信息(5)對(duì)學(xué)生的成績進(jìn)行排序。(6)対學(xué)生成績信息進(jìn)行修改。目錄TOC\o"1-5"\h\z-系統(tǒng)的背景 1\o"CurrentDocument"二系統(tǒng)的編譯環(huán)境和語言 1三系統(tǒng)類詳細(xì)設(shè)計(jì) 1函數(shù)的列表: 1系統(tǒng)的功能: 13.3具體代碼如下: 33.4提供ー個(gè)操作界面入圖 9四運(yùn)行步驟 11五源代碼 12六數(shù)據(jù)文件 20七課程設(shè)計(jì)體會(huì) 20八參考文獻(xiàn) 21正文ー簡單概述系統(tǒng)的意義管理學(xué)生成績迫切需要這樣ー個(gè)系統(tǒng):它能高效的管理學(xué)生的成績,并能正確快速的對(duì)系統(tǒng)的使用者的操作做出回應(yīng),以提高效率,降低成本。該系統(tǒng)能夠滿足以上的要求,使用戶可以快速準(zhǔn)確的管理學(xué)生的成績.系統(tǒng)的主要功能如下:3)能查找以學(xué)生的名字,學(xué)生的編號(hào),學(xué)生的成績。(2)添加學(xué)生成績信息;(3)插入學(xué)生成績信息;(4)刪除學(xué)生成績信息(5)對(duì)學(xué)生的成績進(jìn)行排序。(6)對(duì)學(xué)生成績信息進(jìn)行修改二系統(tǒng)的編譯環(huán)境和語言該系統(tǒng)是采用C++語言在MicrosoftVisualC++6.0下編譯而成.因?yàn)樵谠撓到y(tǒng)中有明顯的對(duì)象,即是學(xué)生成績管理,且C++語言是ー個(gè)非常強(qiáng)大的面向?qū)ο蟮恼Z言,因此該系統(tǒng)使用C++編寫將會(huì)簡單,快速而有效。MicrosoftVisualC++6.0是ー個(gè)經(jīng)典且功能強(qiáng)大的編譯器,是編譯用C++語言寫成的程序的首要工具。三:本人所做的工作(1)刪除學(xué)生的信息。(2)修改程序。四系統(tǒng)的詳細(xì)設(shè)計(jì).1函數(shù)的列表:學(xué)生的學(xué)號(hào)num;學(xué)生的姓名number;學(xué)生的成績chengji;學(xué)生的平均成績ave;.2系統(tǒng)的功能:voidinput();〃錄入voidshanchu0;〃刪除voidcharu0;〃插入voidsort();〃排序voidchazhao();〃查找voidxiugai0;//修改voidExit();〃退出voidxianshi(); //顯示3.3具體代碼如下:voidinput();〃錄入voidshanchu0;〃刪除voidcharu0;//插入voidsort();〃排序voidchazhao0;〃查找voidxiugai();〃修改voidExit0;//退出voidxianshi0;〃顯示voidxingming();voidxhchaozhao();structstudent/**/{1**1intnum;/?學(xué)生學(xué)號(hào)?/charname[20];/?學(xué)生姓名?/intchengji[3];/?學(xué)生成績?/floatave;/?算平均分?/)/*II*/stu[50],studentl;staticinti=0;/*************************************** ノ予 第j 干一倂voidinput0〃錄入函數(shù)(intj;intk=0;charans;〃判斷是否繼續(xù)floatsum=0;ans=,y/;do{printf("請(qǐng)輸入學(xué)員的信息:'n");〃錄入學(xué)員信息al:printf(H\n學(xué)號(hào):");fflush(stdin);scanf("%d",&stu[i].num);if(stu[i].num<l|150<stu[i].num)//進(jìn)行判斷學(xué)員學(xué)號(hào)(printf("您輸入的有誤,請(qǐng)重新輸入!”);gotoal;)for(j=0;j<i;j++)(if(stu[j].num==stu[i].num)(printf("學(xué)號(hào)重復(fù),請(qǐng)重新輸入!”);gotoal;)}bal:printf(へn姓名:り;fflush(stdin);gets(stu[i].name);if(stu[i].name[k]<zaz11stu[i].name[k]>zzz)//姓名的判斷(printf("你輸入的姓名有誤リ;gotoba1;}for(j=0;j<i;j++)(if(stu[j].name==stu[i].name)(printf("姓名重復(fù),請(qǐng)重新輸入!");gotobal;}}printf("請(qǐng)輸入學(xué)員的成績:り;for(j=0;j<3;j++)(sal:printf("\n%d門的成績?yōu)?",j+1);scanf("%d",&stu[i].chengji[j]);if(stu[i].chengji[j]<=011100<stu[i].chengji[j])〃判斷學(xué)員成績|printf("您輸入的有誤,請(qǐng)重新輸入!'n");fflush(stdin);gotosal;)sum+=stu[i].chengji[j];}fflush(stdin);stu[i].ave=sum/3;i++;sum=O;printf("是否繼續(xù),y,II/才:り;fflush(stdin);ans=getchar();fflush(stdin);}while(ans==,y,);//進(jìn)行判斷)voidsort()〃排序函數(shù)(intj,k;if(i==0)(printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!\nり;return;}structstudenttemp;printf("排序前的學(xué)員信息如下:'n");printf("學(xué)號(hào)ゝtI\t姓名't\tI\t平均成績'n");for(j=0;j<i;j++)(printf("%d\tI\t%s\t\tI\t%.2f\n",stu[j].num,stu[j].name,stu[j].ave);)〃顯示排序前的信息for(j=0;j<i;j++)(for(k=0;k<i-j-l;k++)if(stu[k].ave<stu[k+1].ave)(temp=stu[k];stu[k]=stu[k+1];stu[k+1]=temp;})printf("排序后的成績?yōu)?\n");〃顯示排序后的信息printf("學(xué)號(hào)、t|\t姓名't'tl't平均成績'n");for(j=0;j<i;j++)printf("%d\t|\t%s\t\tI\t%.2f\n",stu[j].num,stu[j].name,stu[j].ave);/********▼▼”「.*******ef脅”r一********voidcharu0(intk,j;intb=0;floatsum=0;if(i==0)(printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!'n");return;)al:printf("\n請(qǐng)輸入插入新學(xué)員的信息");printf("\n學(xué)號(hào):");fflush(stdin);scanf("%d",&stu[i].num);if(stu[i].num<lI150<stu[i].num)〃對(duì)插入新的學(xué)員學(xué)號(hào)定格(printf("您輸入的有誤,請(qǐng)重新輸入!");gotoal;}for(j=0;j<i;j++)(if(stu[j].num==stu[i].num)〃對(duì)插入新的學(xué)員學(xué)號(hào)判斷(printf("學(xué)號(hào)重復(fù),請(qǐng)重新輸入!");gotoal;〃重新輸入學(xué)號(hào)})bal:printf("\n姓名リ;fflush(stdin);gets(stu[i].name);if(stu[i].name[b]<zazIIstu[i].name[b]>zz,)〃對(duì)新學(xué)員的姓名定格(printf("你輸入的姓名有誤リ;gotobal;〃重新輸入姓名)zal:printf("請(qǐng)輸入學(xué)員的成績:り;for(j=0;j<3;j++)printf("\n%d門的成績?yōu)?",j+1);scanf("%d",&stu[i].chengji[j]);if(stu[i].chengji[j]<0||100<stu[i].chengji[j])//判斷學(xué)員成績(printf("您輸入的有誤,請(qǐng)重新輸入!");gotozal;〃那ー門的成績過大或過底重新輸入)sum+=stu[i].chengji[j];}stu[i].ave=sum/3;//求插入學(xué)員成績的平均成績i++;sum=0;for(k=0;k<i;k++)|if(stu[k].ave<stu[i].ave)break;)studentl=stu[k];for(j=i;j>k;j—)(stu[j]=stu[j-1];},stu[k]=studentl;xianshi();}voidshanchu()(intk,j;intflag=0;intscxs;〃用來接收刪除學(xué)員學(xué)號(hào)的變量if(i==0)(printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!'n");return;)printf("請(qǐng)輸入刪除的學(xué)生學(xué)號(hào):り;〃輸入你要?jiǎng)h除的同學(xué)學(xué)號(hào)scanf(H%dn,&scxs);for(k=0;k<i;k++)if(stu[k].num==scxs)〃如果你輸入的學(xué)號(hào)=本有的學(xué)號(hào)著跳出(flag=l;break;))for(j=k;j<i;j++)(stu[j]=stu[j+l];}if(flag==l)if(flag==0)printf("沒有您要找的學(xué)員!\nり;xianshi();//調(diào)用顯示函數(shù)voidxhchazhao()〃按學(xué)號(hào)進(jìn)行查找intk,b;charans;if(i==0)printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入尚n");return;printf("\n^請(qǐng)輸入要查找學(xué)員的學(xué)號(hào)☆:り;scanf("%d",&b);〃請(qǐng)輸入你要找的學(xué)號(hào)for(k=0;k<i;k++)(if(stu[k].num==b)(break;〃用IF來判斷你是否找到你要找的學(xué)員)〃如果找到跳到下ー個(gè)IF語句類)〃沒有找到跳到下面的ELSE語句類if(k<i)printf("\n在第%d名位置找到%d學(xué)員\n",k+1,b);printf("學(xué)號(hào)ゝt姓名\t平均成績'n");printf("%d\t%s\t%.2f\n",stu[k].num,stu[k].name,stu[k].ave);)else(printf("沒有找到你要的學(xué)生ゝnり;}if(stu[k].ave<20)〃判斷你的成績,這給予你ー點(diǎn)點(diǎn)的評(píng)語(printf("你這個(gè)學(xué)生的成績太‘好,,老師我無能為カ!'n");〃20分以下的)if(stu[k].ave<60&&stu[k].ave>20)//2060分的評(píng)語|printf("你們也該加油了吧!在玩的話,老師我就要放棄你了噢!自己想想吧!り;)if(stu[k].ave<80&&stu[k].ave>60)//6080分的評(píng)語(printf("你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!り;)if(stu[k].ave>80)〃80分以上的評(píng)語(printf("你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!り;}if(stu[k].ave==20)(printf("你這個(gè)學(xué)生的成績太,好,,老師我無能為カ!\nり;}if(stu[k].ave==60)(printf("你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!り;)if(stu[k].ave==80)(printf("你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!り;)printf("是否繼續(xù),y,||,n,:り;〃進(jìn)行是否繼續(xù)使用功能fflush(stdin);ans=getchar();fflush(stdin);}while(ans==/y/);voidxingming()〃姓名查找函數(shù)intj;intk;charcha[15];charans;xianshi();do{printf("、!!☆請(qǐng)輸入要查找學(xué)員的姓名☆:り;fflush(stdin);gets(cha);for(j=0;j<i;j++)(if(strcmp(cha,stu[j].name)==0)(printf("學(xué)號(hào)ゝt姓名\t平均成績'n");/Z用IF來判斷你輸入的學(xué)員姓名是否擁有//有的話,者輸出他們的成績printf("%d\t%s\t%.2f\n",stu[j].num,stu[j].name,stu[j].ave);else〃沒有跳到ELSE語句類(printf("沒有找到你要的學(xué)生、n");}if(stu[k].ave<20)〃判斷學(xué)員的成績是否在20以下,在給予相對(duì)應(yīng)的評(píng)語(printf("你這個(gè)學(xué)生的成績太‘好,,老師我無能為カ!'n");)if(stu[k].ave<60&&stu[k].ave>20)//給2060分的學(xué)員給予相對(duì)應(yīng)的評(píng)語|printf("你們也該加油了吧!在玩的話,老師我就要放棄你了噢!自己想想吧!");}if(stu[k].ave<80&&stu[k].ave>60)//給6080分的學(xué)員相對(duì)應(yīng)的評(píng)語(printf("你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!り;}if(stu[k].ave>80)〃給80分的學(xué)員相對(duì)應(yīng)的評(píng)語(printf("你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!り;)if(stu[k].ave==20)(printf("你這個(gè)學(xué)生的成績太‘好,,老師我無能為カ!'n");}if(stu[k].ave==60)(printf("你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!り;}if(stu[k].ave==80)(printf("你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!り;)printf("是否繼續(xù),り;//進(jìn)行是否繼續(xù)使用功能fflush(stdin);ans=getchar();fflush(stdin);)}whi1e(ans==/yz);)/*****************************************イ務(wù)ア燈 イ言 盡、voidxiugai()〃修改信息函數(shù)(intk=0,j,n;inta;intflag=0;floatsum=0.0;charnamel[15];ints;charans='y';if(i==0)〃如果k=0則該系統(tǒng)還沒學(xué)員信息(printf("\t\t對(duì)不起,該系統(tǒng)錄入信息為空!請(qǐng)先進(jìn)行錄入!\nり;return;〃返回到主函數(shù))sort0;do(flag=0;printf("\n\t\t請(qǐng)輸入需要修改信息的學(xué)員的學(xué)號(hào):り;fflush(stdin);scanf("%d",&n);for(k=0;k<i;k++)(if(n==stu[k].num)〃判斷要修改的學(xué)號(hào)是否與系統(tǒng)中的某個(gè)學(xué)號(hào)相等(printf("???????????????\n");printf("????①修改學(xué)員姓名????\n");printf("???????????????\n");printf("????②修改學(xué)員成績????'n");printf("???????????????\n");fflush(stdin);scanf("%d",&a);if(a==l)printf("\n\t\t請(qǐng)輸入學(xué)號(hào)%d的詳細(xì)信息:\n",n);flag=l;break;})switch(a)(ji:printf("\t\t姓名:");fflush(stdin);gets(namel);if(strlen(namel)==0)(printf("\n\t\t姓名不能為空!'n");gotoji;}s=strlen(namel);for(j=0;j<s;j++)stu[k].name[j]=namel[j];break;fflush(stdin);printf("\nり;printf("\t\t三門成績:\n");for(j=0;jく3;j++)//輸入三門的成績(si:printf("\t\t成績(%d):",j+1);fflush(stdin);printfC",i,k);scanf("%d",&stu[k].chengji[j]);if(stu[k].chengji[j]>100|I(stu[k].chengji[j])く0)〃判斷成績是否在0—100之間,不是則重輸入printf("\t\t輸入有誤請(qǐng)重輸入:'n");fflush(stdin);gotosi;}sum+=stu[k].chengji[j];〃三門成績相加}stu[k].ave=sum/3;//計(jì)算出平均成績printf("%dave%f",k,stu[i].ave);//進(jìn)行調(diào)試一下)printf("\n\n\n");if(flag==l)(printf("\t\t修改后的學(xué)員信息如下:\n");xianshiO;〃調(diào)用顯示函數(shù))if(flag==0)(printf("\n\t\t對(duì)不起,系統(tǒng)中部不存在學(xué)號(hào)為%d的學(xué)員!\n",n);}printf("\n\t\t是否繼續(xù)輸入(yorn):");fflush(stdin);ans=getchar();sum=0;}whi1e(ans=='y'IIans==/X');)voidExit()〃退出函數(shù)(inti;for(i=10;i>=0;i一)〃倒計(jì)時(shí)(Sleep(500);system("cis");printf("離程序退出還有%d",i);}printf("\nり;printf("請(qǐng)按空格鍵,消失系統(tǒng)'n");exit(0);}voidxianshi()(intj;printf("學(xué)號(hào)、t|\t姓名、t\t|\t平均成績'n");for(j=0;j<i;j++)(printf("%d\tI\t%s\t\tI\t%.2f\n",stu[j].num,stu[j].name,stu[j].ave);)}voidchaozhao0(intselect;charans;if(i==0)〃如果k=0則該系統(tǒng)還沒學(xué)員信息(printf("\t\t對(duì)不起,該系統(tǒng)錄入信息為空!請(qǐng)先進(jìn)行錄入!'n");return;〃返回到主函數(shù)}do(if(select==3)(printf("您輸入的是字母或大于我所設(shè)置的數(shù)字!'n");break;}printf("\n");switch(select)xhchazhao();break;xingming();break;default:printf("輸入有誤,請(qǐng)輸入2之間的數(shù)。'n");}printf("是否繼續(xù),ブ||,才:");〃進(jìn)行是否繼續(xù)使用功能fflush(stdin);ans=getchar();fflush(stdin);}whi1e(1);}3.4提供ー個(gè)操作界面入圖:注意:系統(tǒng)中有全局變量用于存儲(chǔ)從數(shù)據(jù)文件中讀出的學(xué)生信息intnum;/?學(xué)生學(xué)號(hào)?/charname[20];/?學(xué)生姓名?/intchengji[3];/?學(xué)生成績?/floatave;/?算平均分?/該系統(tǒng)的操作就是圍繞這些全局變量展開。代碼如下:voidmainO〃使用的功能(intselect;intf,b=0,k;charbname[15],mm[15];〃接收姓名do(select=9;/********************直止的使用至U的功能*******************/printf("\nり;printf("\t\t\tZ===========Z\n");printf("\t\t\tZZZZO.退出功能ZZZZ\n");printf("\t\t\tZZZZZZZZZZZZZ\n");printf("\t\t\tZZZZl.錄入功能ZZZZ\n");printf("\t\t\tZZZZZZZZZZZZZ\n");printf("\t\t\tZZZZ2.排序功能ZZZZ\n");printf("\t\t\tZZZZZZZZZZZZZ\n");printf("\t\t\tZZZZ3.顯示功能ZZZZ\n");printf("\t\t\tZZZZZZZZZZZZZ\n");printf("\t\t\tZZZZ4.插入功能ZZZZ\nり;printf("\t\t\tZZZZZZZZZZZZZ\n");printf("\t\t\tZZZZ5.刪除功能ZZZZ\nり;printf("\t\t\tZZZZZZZZZZZZZ\nり;printf("\t\t\tZZZZ6.查找功能ZZZZ\nり;printf("\t\t\tZZZZZZZZZZZZZ\nり;printf("\t\t\tZZZZ7.姓名查找ZZZZ\nり;printf("\t\t\tZZZZZZZZZZZZZ\nり;printf("\t\t\tZZZZ8.學(xué)號(hào)查找ZZZZ\nり;printf("\t\t\tZZZZZZZZZZZZZ\nり;printf("\t\t\tZZZZ9.修改功能ZZZZ\nり;printf("\t\t\tZZZZZZZZZZZZZ\nり;a:printf("請(qǐng)選擇功能:");fflush(stdin);scanf("%d",&select);printf(" \nii);if(select==O)printf("**********\n");printf("****************printf("*****************printf("******************printf("*******************printf("*******************printf("*******************printf("*******************printf("*******************printf("*******************printf("*******************printf("******************printf("*******************printf("*****************printf("***************printf("**************printf("***************printf("******\nり;printf("り;printf("***\nn);printf("**\n");printf("?\nn);**********\n");*********\n");**************\n"),);***************************************************\nり;****************\nり*******\nり;*******\nり,**************************************\〇"*******ハ絞);******\nり,***********n)?****\nり;**Exit0;break;)if(select==10)printf("您輸入的是字母或大于我所設(shè)置的數(shù)字!'n");gotoa;}printf("\n");switch(select)(input0;break;sort();break;xianshi();break;case4:charu();break;case5:shanchu0;break;case6:chaozhao0;break;case7:xingming();break;case8:xhchazhao0;break;case9:xiugai();break;default:printf("輸入有誤,請(qǐng)輸入。ー9之間的數(shù)。'eり;)fflush(stdin);}while(1);五運(yùn)行步驟運(yùn)行主界面:11:選擇〇,退出程序;21:選擇1,輸入學(xué)生的學(xué)號(hào),學(xué)生的姓名,學(xué)生的成績;31:選擇2,對(duì)成績進(jìn)行排序;4]:選擇3,顯示功能;51:選擇4,輸入一個(gè)學(xué)生的學(xué)號(hào)、姓名、成績;61:選擇5,輸入學(xué)號(hào),刪除該學(xué)生的信息;7]:選擇6,查找功能;81:選擇7,按姓名查找學(xué)生的信息;91:選擇8,按學(xué)號(hào)查找學(xué)生的信息;101:選擇9,修改功能;六源代碼#include<stdio.h>〃使用于主函數(shù)#include<string.h>#include<windows.h>"windows相關(guān)voidinput();〃錄入voidshanchu():〃刪除voidcharu();〃插入voidsort。;〃排序voidchazhao():〃查找voidxiugaiO;〃修改voidExit();〃退出voidxianshi():〃顯ホvoidxingming();voidxhchaozhao();structstudent/**/{/**/intnum;/?學(xué)生學(xué)號(hào)?/charname[20];/?學(xué)生姓名?/intchengji[3];/*學(xué)生成績?/floatave;/?算平均分?/}/*\1*/stu[50],student1;staticinti=0;/*************************************** ノ予的voidinput()〃錄入函數(shù)intj;intk=0;charans;〃判斷是否繼續(xù)floatsum=0;ans='y';do(printf(”請(qǐng)輸入學(xué)員的信息:\n");〃錄入學(xué)員信息al:printf("\n學(xué)號(hào):つ;fflush(stdin);scanf("%d”,&stu[i].num);if(stu[i].num<l|150<stu[i].num)〃進(jìn)行判斷學(xué)員學(xué)號(hào)(printf("您輸入的有誤,請(qǐng)重新輸入!〃);gotoal;)for(j=0;j<i;j++)if(stu[j].num==stu[i].num)printf("學(xué)號(hào)重復(fù),請(qǐng)重新輸入!”);gotoal;))bal:printf("\n姓名:");fflush(stdin);gets(stu[i].name);if(stu[i].name[k]<,a\|stu[i].name[k]>Jz')〃姓名的判斷{printf("你輸入的姓名有誤");gotobal;)for(j=0;j<i;j++){if(stu[j].name==stu[i].name){printf("姓名重復(fù),請(qǐng)重新輸入!");gotobal;))printf("請(qǐng)輸入學(xué)員的成績:");for(j=0;j<3;j++)sal:printf("\n%d門的成績?yōu)?",j+D;scanf chengji[j]);if(stu[ij.chengji[j]<=011100くstu[i].chengji[j])〃判斷學(xué)員成績{printf("您輸入的有誤,請(qǐng)重新輸入!'n");fflush(stdin);gotosal;)sum+=stu[i].chengji[j];)fflush(stdin);stu[i].ave=sum/3;i++;sum=0;printf("是否繼續(xù)‘y'||'n':");fflush(stdin);ans=getchar();fflush(stdin);}while(ans=-y');〃進(jìn)行判斷)voidsort()〃排序函數(shù)(intj,k;if(i==0)(printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!'n");return;)structstudenttemp;printf(〃排序前的學(xué)員信息如下:'n〃);printf("學(xué)號(hào)'t|'t姓名't'tI't平均成績'n");for(j=0;j<i;j++)(printf("%d't|\t%s\t\t|'t%.2f'n”,stu[j].num,stu[j].name,stu[j].ave);}〃顯示排序前的信息for(j=0;j<i;j++)for(k=0;k<i-j-l;k++)if(stu[k].aveくstu[k+l].ave)temp=stu[k];stu[k]=stu[k+l];stu[k+l]=temp;))printf(〃排序后的成績?yōu)?\n〃);〃顯示排序后的信息printf("學(xué)號(hào)ゝt|\t姓名、t\tI\t平均成績\n");for(j=0;j<i;j++)(printf("%d\t|\t%s\t\t|\t%.2f\n”,stu[j].num,stu[j].name,stu[j].ave);)}/********************************** 插入功能voidcharu()(intk,j;intb=0;floatsum=0;if(i=0)printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!'n〃);return;)al:printf(〃、n請(qǐng)輸入插入新學(xué)員的信息”);printf("\n學(xué)號(hào):");fflush(stdin);scanf("%d",&stu[i].num);if(stu[i].num<l||50<stu[iLnum)〃對(duì)插入新的學(xué)員學(xué)號(hào)定格(printf("您輸入的有誤,請(qǐng)重新輸入!");gotoal;)for(j=0;j<i;j++)(if(stu[j].num==stu[i].num)〃對(duì)插入新的學(xué)員學(xué)號(hào)判斷{printf(〃學(xué)號(hào)重復(fù),請(qǐng)重新輸入!");gotoal;〃重新輸入學(xué)號(hào)}bal:printf(*\n姓名");fflush(stdin);gets(stu[i].name);if(stu[i].nameEb]ぐa\|stuEi].nameEb]>Jz')〃對(duì)新學(xué)員的姓名定格{printf(〃你輸入的姓名有誤〃);gotobal;〃重新輸入姓名)zal:printf("請(qǐng)輸入學(xué)員的成績:");for(j=0;j<3;j++){printf("\n%d門的成績?yōu)?",j+1);scanf("%d",&stu[i].chengjiEjD;if(stu[i].chengjiEj]<0|1100<stu[i].chengjiEj])〃判斷學(xué)員成績printf("您輸入的有誤,請(qǐng)重新輸入!”);gotozal;〃那ー門的成績過大或過底重新輸入sum+=stu[i].chengji[j];)stu[i].ave=sum/3J〃求插入學(xué)員成績的平均成績i++;sum=0;for(k=0;k<i;k++){if(stu[k].ave<stu[i].ave)break;)studentl=stu[k];for(j=i;j>k;j-){stu[j]=stu[j-l];stu[k]=studentl;xianshi();)/ロn]I /、、エ,JJ,/不不不不不于不不不不不ネ不不不不不不不不不不不不不不不不不不不不不不不不不加J冴Jヲしク!voidshanchu()(intk,j;intflag=0;intscxs;〃用來接收刪除學(xué)員學(xué)號(hào)的變量if(i=0)(printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!'n");return;)printf("請(qǐng)輸入刪除的學(xué)生學(xué)號(hào):〃);〃輸入你要?jiǎng)h除的同學(xué)學(xué)號(hào)scanfI,%d”,&scxs);for(k=0;k<i;k++){if(stu[k].num==scxs)〃如果你輸入的學(xué)號(hào)=本有的學(xué)號(hào)著跳出{flag=l;break;for(j=k;j<i;j++)(stu[j]=stu[j+l];)if(flag==l)(i—;)if(flag==0)printf("沒有您要找的學(xué)員!\n");xianshiO;〃調(diào)用顯示函數(shù))/***************************************** 冃自voidxhchazhao()〃按學(xué)號(hào)進(jìn)行查找(intk,b;charans;if(i==0)printf("系統(tǒng)尚無記錄,請(qǐng)先進(jìn)行錄入!'n");return;)do{printfC'n^請(qǐng)輸入要查找學(xué)員的學(xué)號(hào)☆:");scanf("%d",&b);〃請(qǐng)輸入你要找的學(xué)號(hào)for(k=0;k<i;k++){if(stu[k].num==b){break;〃用IF來判斷你是否找到你要找的學(xué)員}〃如果找到跳到下ー個(gè)IF語句類)〃沒有找到跳到下面的ELSE語句類if(k<i){printf("\n在第%d名位置找到%d學(xué)員、n”,k+1,b);printf(〃學(xué)號(hào)ゝt姓名\t平均成績\n〃);printf("%d\t%s\t%.2f\n”,stu[kJ.num,stu[k].name,stu[k].ave);)elseprintf(〃沒有找到你要的學(xué)生、n");if(stu[k].ave<20)〃判斷你的成績,這給予你ー點(diǎn)點(diǎn)的評(píng)語{printf(〃你這個(gè)學(xué)生的成績太‘好,,老師我無能為カ!'n〃);〃20分以下的)if(stu[k].ave<60&&stu[k].ave>20)〃20~60分的評(píng)語{printf(〃你們也該加油了吧!在玩的話,老師我就要放棄你了噢!自己想想吧!”);)if(stu[k].ave<80&&stu[k].ave>60)//60~80分的評(píng)語{printf(〃你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!”);}if(stu[k].ave>80)//80分以上的評(píng)語{printf(〃你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!〃);)if(stu[k].ave=20)printf(〃你這個(gè)學(xué)生的成績太‘好,,老師我無能為カ!'n〃);)if(stu[k].ave==60){printf(〃你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!〃);)if(stu[k].ave=80){printf(〃你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!つ;)printf(〃是否繼續(xù)〃);〃進(jìn)行是否繼續(xù)使用功能fflush(stdin);ans=getchar();fflush(stdin);}while(ans=='y');)voidxingming()〃姓名査找函數(shù)(intj;intk;charcha[15];charans;xianshi();do{printf請(qǐng)輸入要查找學(xué)員的姓名☆:");fflush(stdin);gets(cha);for(j=0;j<i;j++)(if(strcmp(cha,stu[j].name)==0)(printf(〃學(xué)號(hào)ゝt姓名\t平均成績\n〃);/Z用IF來判斷你輸入的學(xué)員姓名是否擁有〃有的話,者輸出他們的成績printf(*%d\t%s\t%.2f\n,stu[j].num,stu[j].name,stu[j].ave);)else〃沒有跳到ELSE語句類(printf(〃沒有找到你要的學(xué)生、n");)if(stu[k].ave<20)〃判斷學(xué)員的成績是否在20以下,在給予相對(duì)應(yīng)的評(píng)語)if(stu[k].ave<60&&stu[k].ave>20)〃給20~60分的學(xué)員給予相對(duì)應(yīng)的評(píng)語{printf(〃你們也該加油了吧!在玩的話,老師我就要放棄你了噢!自己想想吧!”);if(stu[k].ave<80&&stu[k].ave>60)〃給60~80分的學(xué)員相對(duì)應(yīng)的評(píng)語{printf(〃你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!”);}if(stu[k].ave>80)〃給80分的學(xué)員相對(duì)應(yīng)的評(píng)語{printf(〃你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!〃);)if(stu[k].ave=20))if(stu[k].ave==60){printf(〃你們很有希望成為班上的優(yōu)秀學(xué)員,加油吧!〃);)if(stu[k].ave=80){printf(〃你們是我們班的驕傲!為了你自己的夢(mèng)想加油吧!つ;)printf(〃是否繼續(xù)〃);〃進(jìn)行是否繼續(xù)使用功能fflush(stdin);ans=getchar();fflush(stdin);)}while(ans==,y');)/*****************************************修改信息voidxiugai()〃修改信息函數(shù)intk=0,j,n;inta;intflag=0;floatsum=0.0;charnamel[15];ints;charans='y';if(i==0)〃如果k=0則該系統(tǒng)還沒學(xué)員信息(printf(〃、t\t對(duì)不起,該系統(tǒng)錄入信息為空!請(qǐng)先進(jìn)行錄入!'/r

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論