資源描述:
《比較靠譜的(原本)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、/*HELLO.C--Hello,world*/#include"stdio.h"#include"conio.h"typedefstructstudent{charnum[11];/*學(xué)號*/charname[10];/*姓名*/intcgrade;/*c語言成績*/integrade;/*英語成績*/intmgrade;/*高數(shù)成績*/inttotal;/*總分*/floatave;/*平均分*/intrank;/*名次*/};//菜單voidmenu()/*便于操作員使用*/{/*清屏*/system("cls");printf("學(xué)生平
2、時成績管理");printf("=======================");printf("1.成績錄入");printf("2.計算");printf("3.查詢");printf("4.修改");printf("5.插入");printf("6.顯示");printf("7.統(tǒng)計");printf("8.刪除");printf("0.退出");printf("=======================");printf("請選擇相應(yīng)的功能:");}//成績錄入voidinput()
3、{FILE*fp;stuxs;/*定義一個結(jié)構(gòu)體變量來裝從文件中讀出來的數(shù)據(jù)*/if((fp=fopen("student.dat","ab"))==NULL){printf("can'topenfile!");exit(0);}printf("錄入格式:姓名學(xué)號C語言高數(shù)英語當(dāng)輸入姓名為ps結(jié)束錄入");while(1)/*中間加油break,可使循環(huán)中斷*/{scanf("%s",xs.name);if(strcmp(xs.name,"ps")==0)break;/*判斷姓名是否為ps,用字符串判斷*/scanf("%d%f%f
4、%f",&xs.num,&xs.c,&xs.math,&xs.english);xs.aver=0;/*給平均分變量賦初值*/fwrite(&xs,sizeof(stu),1,fp);//將成績信息寫入文件}fclose(fp);}//計算平均分voidsum(){inti=0,n;stuxs[N];FILE*fp;if((fp=fopen("student.dat","rb+"))==NULL){printf("can'topenfile!");exit(0);}while(!feof(fp))/*文件讀入內(nèi)存,讀取指針未到文件尾時返回值
5、為0,讀到尾時返回值為1,加!取反后,結(jié)束即為0*/{fread(&xs[i],sizeof(stu),1,fp);/*讀入結(jié)構(gòu)體變量*/if(feof(fp))break;/*上面while循環(huán)那個會多讀一次因為讀到尾時那個0還沒返回,這里判斷如果以讀到文件尾,則直接停止,避免重復(fù)輸入*/xs[i].aver=(xs[i].c+xs[i].math+xs[i].english)/3;i++;}n=i;/*把i的末尾值給n,用于下面循環(huán)寫入*/i=0;fclose(fp);if((fp=fopen("student.dat","wb"))==N
6、ULL){printf("can'topenfile!");exit(0);}while(i7、){fread(&xs,sizeof(stu),1,fp);if(strcmp(xs.name,name)==0)/*按姓名查詢時判斷輸入的姓名是否存在,會循環(huán)從數(shù)據(jù)中找取*/{printf("學(xué)生的信息如下:");printf("%10s%6s%6s%6s%6s%6s","姓名","學(xué)號","C語言","高數(shù)","英語","平均成績");printf("%10s%6d%6.2f%6.2f%6.2f%6.2f",xs.name,xs.num,xs.c,xs.math,xs.english,xs.aver);break;}}if(
8、feof(fp))printf("查找失敗!!!");/*學(xué)生不存在*/fclose(fp);}voidxuehao(){FILE*fp;stuxs;