C語(yǔ)言小項(xiàng)目.doc_第1頁(yè)
C語(yǔ)言小項(xiàng)目.doc_第2頁(yè)
C語(yǔ)言小項(xiàng)目.doc_第3頁(yè)
C語(yǔ)言小項(xiàng)目.doc_第4頁(yè)
C語(yǔ)言小項(xiàng)目.doc_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目實(shí)訓(xùn)一實(shí)訓(xùn)內(nèi)容:1、定義一個(gè)數(shù)組a11,用以存放學(xué)生的成績(jī)。2、從鍵盤輸入10個(gè)學(xué)生成績(jī)3、采用冒泡法,將學(xué)生成績(jī)按照從高到低進(jìn)行排序4、再輸入一個(gè)學(xué)生的成績(jī),將此成績(jī)按照排序規(guī)律插入原學(xué)生成績(jī)數(shù)組5、將排好序的成績(jī)單進(jìn)行反序存放,即原來是從高到低,現(xiàn)在改為從低到高排列。項(xiàng)目實(shí)訓(xùn)二實(shí)訓(xùn)內(nèi)容:1、在函數(shù)中進(jìn)行10個(gè)學(xué)生成績(jī)從高到低排名 sort(int a10)2、改進(jìn)第一步的函數(shù)為sort(int a,int n),進(jìn)行n個(gè)學(xué)生成績(jī)從高到低排名,3、改進(jìn)第二步的函數(shù)為sort(int a,int n, char style), 將n個(gè)學(xué)生成績(jī)從高到低排名,排名方式4、根據(jù)sort()函數(shù)的style參數(shù)進(jìn)行,如style為a按升序排,style為d按降序排。(a:ascending 升,d:descending 降)項(xiàng)目實(shí)訓(xùn)三實(shí)訓(xùn)內(nèi)容:1、定義一個(gè)數(shù)組stu10存放10個(gè)學(xué)生的成績(jī),從鍵盤輸入數(shù)據(jù),要求用指針實(shí)現(xiàn)2、將數(shù)組stu10的內(nèi)容輸出到屏幕上,要求用指針實(shí)現(xiàn)3、將成績(jī)數(shù)組按照從高到低進(jìn)行排序,要求用指針實(shí)現(xiàn)4、將第三步內(nèi)容放在函數(shù)中實(shí)現(xiàn),在主函數(shù)中調(diào)用實(shí)現(xiàn)排序,用指針實(shí)現(xiàn),輸出排序后的成績(jī)單5、采用指針方法,輸入字符串“student score ”,復(fù)制該字符串并輸出(復(fù)制字符串采用庫(kù)函數(shù)或用戶自定義函數(shù))項(xiàng)目實(shí)訓(xùn)四實(shí)訓(xùn)內(nèi)容:1、定義一個(gè)結(jié)構(gòu)體數(shù)組,存放10個(gè)學(xué)生的學(xué)號(hào),姓名,三門課的成績(jī)2、從鍵盤輸入10個(gè)學(xué)生的以上內(nèi)容3、輸出單門課成績(jī)最高的學(xué)生的學(xué)號(hào)、姓名、以及該門課程的成績(jī)4、輸出三門課程的平均分?jǐn)?shù)最高的學(xué)生的學(xué)號(hào)、姓名及其平均分5、將10個(gè)學(xué)生按照平均分?jǐn)?shù)從高到低進(jìn)行排序,輸出結(jié)果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 alice 90 80 70 80 項(xiàng)目實(shí)訓(xùn)五實(shí)訓(xùn)內(nèi)容:1、定義一個(gè)結(jié)構(gòu)體數(shù)組,存放10個(gè)學(xué)生的學(xué)號(hào),姓名,三門課的成績(jī)2、從鍵盤輸入10個(gè)學(xué)生的以上內(nèi)容,存入文件stud.dat,關(guān)閉文件3、打開stud.dat文件,將數(shù)據(jù)讀出,查看是否正確寫入,關(guān)閉文件。4、打開文件stud.dat文件,讀出數(shù)據(jù),將10個(gè)學(xué)生按照平均分?jǐn)?shù)從高到低進(jìn)行排序,分別將結(jié)果輸出到屏幕上和另一文件studsort.dat中。5、從studsort.dat 文件中讀取第2,4,6,8,10個(gè)學(xué)生的數(shù)據(jù)。最終項(xiàng)目學(xué)生成績(jī)管理系統(tǒng)完成下列功能:1、輸入:函數(shù)input把20學(xué)生的學(xué)號(hào)、姓名、性別、年齡、四科成績(jī)以及平均成績(jī)和總成績(jī)放在一個(gè)結(jié)構(gòu)體數(shù)組中,學(xué)生的學(xué)號(hào)、姓名、四科成績(jī)由鍵盤輸入,然后計(jì)算出平均成績(jī)和總成績(jī)放在結(jié)構(gòu)體對(duì)應(yīng)的域中。2、插入:insert 函數(shù)輸入一個(gè)學(xué)生的記錄,按學(xué)號(hào)的先后順序插入該學(xué)生的全部?jī)?nèi)容。3、排序:sort函數(shù)對(duì)所有學(xué)生按要求排序(1.學(xué)號(hào) 2.總成績(jī) ),并輸出。4、查找:find函數(shù)輸入一個(gè)學(xué)生的學(xué)號(hào)或姓名,找到該學(xué)生并輸出該學(xué)生的全部?jī)?nèi)容。要求能查詢多次。5、刪除:delete函數(shù)輸入一個(gè)學(xué)生的學(xué)號(hào)或姓名,找到該學(xué)生并刪除該學(xué)生的全部?jī)?nèi)容。6、輸出:函數(shù)output 輸出全部學(xué)生的記錄。7、main調(diào)用所有函數(shù),實(shí)現(xiàn)全部函數(shù)功能(注:除了定義結(jié)構(gòu)外,不允許使用全局變量,函數(shù)之間的數(shù)據(jù)全部使用參數(shù)傳遞)。/*/* 項(xiàng)目實(shí)訓(xùn)一 */* 源代碼如下: */*/# include # include # include main () int a11; int num_init; int num_sort_1,num_sort_2; int num_temp; int num_std; int num_tag; for (num_init=0;num_init=9;num_init+) printf(%d)input:,num_init+1); scanf(%d,&anum_init); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init10;num_init+) printf(%d,anum_init); printf(input student score:n); scanf(%d,&num_std); for(num_init=0;num_initanum_init) num_tag=num_init; int total=10; while (num_inittotal) atotal=atotal-1; total-; anum_tag=num_std; break; for (num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); /*/* 項(xiàng)目實(shí)訓(xùn)二 */* 源代碼如下: */*/# include # include # include # define MAXLEN 1000void sort (int a,int n,char style);int main (int argc,char *argv) int aMAXLEN; char bMAXLEN; int i=0,j,n; char s; while(1) printf(a%d=,i); fgets(b,MAXLEN,stdin); if (b0=n) break; ai=atoi(b); i+; printf(input sort style(a=asc,d=desc):); scanf(%c,&s); n=-i; sort(a,n,s); for (j=0;j0;j-) for (i=0;iai+1) t=ai; ai=ai+1; ai+1=t; else if(style=d) if (aiai+1) t=ai; ai=ai+1; ai+1=t; /*/* 項(xiàng)目實(shí)訓(xùn)三 */* 源代碼如下: */*/# include # include # include void sort(int str);int main (void) int str10; char i_msg100; char o_msg100; int i; int *pi; char *pm_i,*pm_o; pi=str; pm_i=i_msg; pm_o=o_msg; printf(fun 1)n); printf(input 10 student score:n); for(i=0;i10;i+) scanf(%d,&stri); sort(str); printf(sort result:n); for(i=0;i10;i+) printf(%d ,*(pi+i); getchar(); printf(nfun 2)n); printf(input message:n); for(i=0;i1;j-) for(i=0;ij;i+) if(*(p+i)*(p+i+1) t=*(p+i); *(p+i)=*(p+i+1); *(p+i+1)=t; /*/* 項(xiàng)目實(shí)訓(xùn)四 */* 源代碼如下: */*/# include # include # include int main (int argc,char *argv) struct stu int num; char name20; int math; int chinese; int english; int average; s10; struct stu temp; int n,l,i,j; for (n=0;n0;i-) for(j=0;ji;j+) if(sj.averagesj+1.average) temp.num=sj.num; strcpy(,); temp.math=sj.math; temp.chinese=sj.chinese; temp.english=sj.english; temp.average=sj.average; sj.num=sj+1.num; strcpy(,sj+1.name); sj.math=sj+1.math; sj.chinese=sj+1.chinese; sj.english=sj+1.english; sj.average=sj+1.average; sj+1.num=temp.num; strcpy(sj+1.name,); sj+1.math=temp.math; sj+1.chinese=temp.chinese; sj+1.english=temp.english; sj+1.average=temp.average; printf(max student:nnum:%dtname:%staverage:%dnn,s0.num,,s0.average); printf(numbertnametmathtChinesetEnglishtaveragen); for (n=0;n10;n+) printf(%dt,sn.num); printf(%st,); printf(%dt,sn.math); printf(%dt,sn.chinese); printf(%dt,sn.english); printf(%dn,sn.average); return 0;/*/* 項(xiàng)目實(shí)訓(xùn)五 */* 源代碼如下: */*/# include # include # include int main (int argc,char *argv) struct str int code; char name20; int math; int English; int Chinese; int average; stu10; struct str t; int i,j,l,f=0,ch,n=0,k=0; char temp630; FILE *fp; printf(Module 1 beginn); printf(*n); printf(Input 10 student datan); for (i=0;i10;i+) printf(input %d) student code:,i); scanf(%d,&stui.code); getchar(); printf(input name:); fgets(,20,stdin); l=strlen(); l-1=0; printf(input math score:); scanf(%d,&stui.math); printf(input English score:); scanf(%d,&stui.English); printf(input Chinese score:); scanf(%d,&stui.Chinese); if (fp=fopen(/tmp/stud.dat,wt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; for (i=0;i10;i+) fprintf(fp,%d,stui.code); fputc(:,fp); fprintf(fp,%s,); fputc(:,fp); fprintf(fp,%d,stui.math); fputc(:,fp); fprintf(fp,%d,stui.English); fputc(:,fp); fprintf(fp,%d,stui.Chinese); fputc(n,fp); fclose(fp); printf(n); printf(Module 2 begin:n); printf(*n); printf(Display stud.dat file all data:n); if (fp=fopen(/tmp/stud.dat,rt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fclose(fp); printf(n); printf(Module 3 begin:n); printf(*n); printf(Sort average score and output to studsort.datn); if (fp=fopen(/tmp/stud.dat,rt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; for(i=0;i10;i+) for(k=0;k0;i-) for(j=0;ji;j+) if(stuj.averagestuj+1.average) t.code=stuj.code; strcpy(,); t.math=stuj.math; t.Chinese=stuj.Chinese; t.English=stuj.English; t.average=stuj.average; stuj.code=stuj+1.code; strcpy(,stuj+1.name); stuj.math=stuj+1.math; stuj.Chinese=stuj+1.Chinese; stuj.English=stuj+1.English; stuj.average=stuj+1.average; stuj+1.code=t.code; strcpy(stuj+1.name,); stuj+1.math=t.math; stuj+1.Chinese=t.Chinese; stuj+1.English=t.English; stuj+1.average=t.average; for(i=0;i10;i+) printf(%d %s %d %d %d %dn,stui.code,,stui.math,stui.Chinese,stui.English,stui.average); fclose(fp); if (fp=fopen(/tmp/studsort.dat,wt+)=NULL) printf(open file studsort.dat failed!n); exit(1) ; for (i=0;i10;i+) fprintf(fp,%d,stui.code); fputc(:,fp); fprintf(fp,%s,); fputc(:,fp); fprintf(fp,%d,stui.math); fputc(:,fp); fprintf(fp,%d,stui.English); fputc(:,fp); fprintf(fp,%d,stui.Chinese); fputc(:,fp); fprintf(fp,%d,stui.average); fputc(n,fp); fclose(fp); printf(Module 4 begin:n); printf(*n); printf(Ouput 2,4,6,8,10 rows datan); if (fp=fopen(/tmp/studsort.dat,rt+)=NULL) printf(open file studsort.dat failed!n); exit(1) ; for(i=0;i10;i+) for(k=0;k6;k+) n=0; tempkn=fgetc(fp); for(;tempkn!=EOF;n+) if(tempkn=:) break; if(tempkn=n) f=f+1; break; tempkn+1=fgetc(fp); tempkn=0; if(f%2)=0) stui.code=atoi(temp0); strcpy(,temp1); stui.math=atoi(temp2); stui.English=atoi(temp3); stui.Chinese=atoi(temp4); stui.average=(stui.math+stui.English+stui.Chinese)/3; printf(%d %s %d %d %d %dn,stui.code,,stui.math,stui.English,stui.Chinese,stui.average); fclose(fp);return 0;/*/* 最終項(xiàng)目實(shí)訓(xùn) */* 源代碼如下: */*/# include # include # include struct node int code; char name20; char type; int age; int chinese; int english; int computer; int math; int total; int average;stud100;struct node temp;void menu(void) system(clear); printf(tt 項(xiàng)目六實(shí)例n); printf(tt*n); printf(tt* *n); printf(tt* 1 輸 入 數(shù) 據(jù) *n); printf(tt* 2 查 找 數(shù) 據(jù) *n); printf(tt* 3 插 入 數(shù) 據(jù) *n); printf(tt* 4 刪 除 數(shù) 據(jù) *n); printf(tt* 5 打 印 數(shù) 據(jù) *n); printf(tt* 6 排 序 數(shù) 據(jù) *n); printf(tt* 7 退 出 *n); printf(tt* *n); printf(tt* *n); printf(tt*n); printf(tt 請(qǐng)輸入你的選項(xiàng)(1-7):);void input() int i; for (i=0;i3;i+) printf(請(qǐng)輸入第%d個(gè)學(xué)生學(xué)號(hào):,i); scanf(%d,&studi.code); printf(請(qǐng)輸入第%d個(gè)學(xué)生姓名:,i); scanf(%s,); getchar(); printf(請(qǐng)輸入第%d個(gè)學(xué)生性別:,i); scanf(%c,&studi.type); printf(請(qǐng)輸入第%d個(gè)學(xué)生年齡:,i); scanf(%d,&studi.age); printf(請(qǐng)輸入第%d個(gè)學(xué)生英文成績(jī):,i); scanf(%d,&studi.english); printf(請(qǐng)輸入第%d個(gè)學(xué)生國(guó)文成績(jī):,i); scanf(%d,&studi.chinese); printf(請(qǐng)輸入第%d個(gè)學(xué)生計(jì)算機(jī)成績(jī):,i); scanf(%d,&puter); printf(請(qǐng)輸入第%d個(gè)學(xué)生數(shù)學(xué)成績(jī):,i); scanf(%d,&studi.math); studi.total=studi.english+studi.chinese+puter+studi.math; studi.average=studi.total/4; void find(int c) int n,m,i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論