freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

實(shí)用c語言程序設(shè)計(jì)教程7復(fù)雜數(shù)據(jù)結(jié)構(gòu)——結(jié)構(gòu)體、聯(lián)合及用戶自定義類型ppt-資料下載頁

2024-10-18 13:51本頁面
  

【正文】 入第 %d個(gè)學(xué)生的姓名 :,k+1)。 gets(p[k].studentname)。 p[k].scorearr[0]=0。 for(i=1。iN。i++) { printf(請(qǐng)輸入第 %d門課程的成績(jī) :,i)。 /*提示 */ scanf(%d,amp。p[k].scorearr[i])。 getchar()。 /*計(jì)算總成績(jī) */ p[k].scorearr[0]=p[k].scorearr[0]+p[k].scorearr[i]。 } p[k].scorearr[0]=p[k].scorearr[0]/(N1)。 /*計(jì)算平均成績(jī) */ } StudentSave(classid,p,num)。 /*調(diào)用函數(shù)保存學(xué)生信息 */ printf(\n學(xué)生信息輸入并保存成功 !按回車鍵繼續(xù) ......\n)。 getchar()。 } void StudentOut(struct student *p) /*學(xué)生信息輸出模塊 */ { int i,k,num,flag。 char classid[20]。 system(cls)。 printf(\n請(qǐng)輸入你要輸出的班級(jí)編號(hào) :)。 gets(classid)。 flag=FileCheck(classid)。 /*調(diào)用函數(shù)判斷班級(jí)文件是否為空 */ if(flag==0) { printf(\n無此班級(jí)數(shù)據(jù)!按回車鍵繼續(xù) ......\n)。 getchar()。 return。 } StudentLoad(classid,p,amp。num)。 /*調(diào)用函數(shù)讀取班級(jí)文件中學(xué)生的信息 */ /*輸出表頭 */ printf(\n\n)。 printf(******************%s班級(jí)成績(jī)表 *******************\n,classid)。 printf(==================================================\n)。 printf(|%8s|%8s|%8s|,學(xué)號(hào) ,姓名 ,平均分 )。 for(k=1。kN。k++) { printf(%6s%2d|,成績(jī) ,k)。} printf(\n=================================================)。 /*輸出表格內(nèi)容 */ for(k=0。knum。k++) { printf(\n|%8s|%8s|,p[k].studentid,p[k].studentname)。 for(i=0。iN。i++) printf(%8d|,p[k].scorearr[i])。 } printf(\n==================================================\n)。 printf(\n學(xué)生信息輸出結(jié)束 !按回車鍵繼續(xù) ......\n)。 getchar()。 } void StudentAdd(struct student *p) /*學(xué)生信息插入模塊 */ { int i,num。 char classid[20]。 system(cls)。 printf(\n請(qǐng)輸入你要學(xué)生所在的班級(jí)編號(hào) :)。 gets(classid)。 StudentLoad(classid,p,amp。num)。 if(num=M) { printf(班級(jí)人數(shù)已滿 ,無法進(jìn)行插入操作 !請(qǐng)按回車鍵返回 ……\n)。 getchar()。 return。 } printf(\n請(qǐng)輸入要插入學(xué)生的學(xué)號(hào) :)。 gets(p[num].studentid)。 printf(請(qǐng)輸入要插入學(xué)生的姓名 :)。 gets(p[num].studentname)。 p[num].scorearr[0]=0。 for(i=1。iN。i++) { printf(請(qǐng)輸入第 %d門課程的成績(jī) :,i)。 /*提示 */ scanf(%d,amp。p[num].scorearr[i])。 getchar()。 p[num].scorearr[0]=p[num].scorearr[0]+p[num].scorearr[i]。 /*計(jì)算總成績(jī) */ } p[num].scorearr[0]=p[num].scorearr[0]/(N1)。 /*計(jì)算平均成績(jī) */ num=num+1。 /*插入后人數(shù)加 1*/ StudentSave(classid,p,num)。 /*調(diào)用函數(shù)保存學(xué)生信息 */ printf(信息插入成功 !請(qǐng)按回車鍵返回 ……\n)。 getchar()。 } void ScoreSort(struct student *p) /*成績(jī)排序模塊 */ { int i,k,num。 int flag。 /*flag用來檢查某趟排序的過程是否發(fā)生了交換 ,以提高排序效率 */ char classid[20]。 struct student temp。 system(cls)。 printf(\n請(qǐng)輸入要平均分由高到低進(jìn)行排序的班級(jí)編號(hào) :)。 gets(classid)。 flag=FileCheck(classid)。 /*調(diào)用函數(shù)判斷班級(jí)文件是否為空 */ if(flag==0) { printf(\n無此班級(jí)數(shù)據(jù) !按回車鍵繼續(xù) ......\n)。 getchar()。 return。 } StudentLoad(classid,p,amp。num)。 /*調(diào)用函數(shù)讀取班級(jí)文件中學(xué)生的信息*/ /*使用冒泡排序法對(duì)成績(jī)按由大到小進(jìn)行排序 */ for(k=1。knum。k++) { flag=0。 for(i=0。inumk。i++) if(p[i].scorearr[0]p[i+1].scorearr[0]) { temp=p[i]。 p[i]=p[i+1]。p[i+1]=temp。 flag=1。 } if(flag==0) break。 /*flag值為 0,說明此趟排序過程中沒有發(fā)生交換 */ } StudentSave(classid,p,num)。 /*保存學(xué)生信息 */ printf(學(xué)生成績(jī)排序成功 !請(qǐng)按回車鍵返回 ……\n)。 getchar()。 } void ScoreCount(struct student *p) /*統(tǒng)計(jì)各門課程的平均成績(jī) */ { int i,k,num,flag。 float row[N]={0}。 /*定義存放單項(xiàng)平均的一維數(shù)組 */ char classid[N]。 system(cls)。 printf(\n請(qǐng)輸入要統(tǒng)計(jì)信息的班級(jí)編號(hào) :)。 gets(classid)。 flag=FileCheck(classid)。 /*調(diào)用函數(shù)判斷班級(jí)文件是否為空 */ if(flag==0) { printf(\n無此班級(jí)數(shù)據(jù) !按回車鍵繼續(xù) ......\n)。 getchar()。 return。 } StudentLoad(classid,p,amp。num)。 /*調(diào)用函數(shù)讀取班級(jí)文件中學(xué)生的信息 */ for(i=1。iN。i++) { for(k=0。knum。k++) row[i]=row[i]+p[k].scorearr[i]。 /*計(jì)算單項(xiàng)總和 */ row[i]=row[i]/num。 /*計(jì)算單項(xiàng)平均 */ } /*打印表頭 */ printf(*********%s班級(jí)各門課程平均成績(jī)表 *********\n,classid)。 printf(==========================================\n)。 printf(|%8s|%8s|,課程名 ,平均分 )。 printf(\n==========================================)。 for(i=1。iN。i++) printf(\n|%6s%2d|%|,課程 ,i,row[i])。 printf(\n==========================================\n)。 printf(\n各門課程平均成績(jī)統(tǒng)計(jì)結(jié)束 !請(qǐng)按回車鍵返回上一層 ……\n)。 getchar()。 } /*成績(jī)保存到文件中 */ void StudentSave(char *classid, struct student *p,int num) { int k。 char classname[20]。 FILE *fp。 strcpy(classname,classid)。 strcat(classname,.dat)。 /*連接擴(kuò)展名 ,生成完整的文件格式 */ if((fp=fopen(classname,wb))==NULL) { printf(文件打開失敗,系統(tǒng)退出! )。 exit(1)。 } fwrite(amp。num,sizeof(int),1,fp)。 /*把班級(jí)總?cè)藬?shù)寫入文件 */ for(k=0。knum。k++) /*把班級(jí)中每個(gè)學(xué)生的信息存放到文件中*/ fwrite(amp。p[k],sizeof(struct student),1,fp)。 fclose(fp)。 } /*讀取文件中的成績(jī) */ void StudentLoad(char *classid, struct student *p,int *num) { int k。 char classname[20]。 FILE *fp。 strcpy(classname,classid)。 strcat(classname,.dat)。 /*連接文件的擴(kuò)展名 ,生成完整的文件格式 */ if((fp=fopen(classname,ab+))==NULL) { printf(文件打開失敗,系統(tǒng)退出! )。 exit(1)。 } fread(num,sizeof(int),1,fp)。 /*讀取班級(jí)總?cè)藬?shù) */ for(k=0。k*num。k++) fread(amp。p[k],sizeof(struct student),1,fp)。 fclose(fp)。 } /*判斷文件是否為空文件 .為空返回 0,否則返回 1*/ int FileCheck(char *classid) { int flag=1。 char classname[20]。 struct student temp。 FILE *fp。 strcpy(classname,classid)。 strcat(classname,.dat)。 /*連接文件的擴(kuò)展名,生成完整的文件格式 */ if((fp=fopen(classname,ab+))==NULL) { printf(文件打開失敗,系統(tǒng)退出! )。 exit(1)。 } /*fread函數(shù)讀入的數(shù)據(jù)有效 ,則函數(shù)返回值為 1,否則返回 0,說明此文件為
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1