1、void chaxunname();void del_data();void del_num();void del_name();void amend();void exitout();main() int sel; int q; do printf(n *Please input the password:); scanf(%s,password); q=pass(); while(q=0); while(1) n * * * * * * * * * * * * * * * * * * * * n * = *n * 1. input grade *n * 2. load data *n *
2、3. output grade *n * 4. sort student grade *n * 5. seek student information *n * 6. delete student * 7. insert new student * 8. amend data *n * 9. exit *nPlease choose(18): scanf(%d,&sel); switch(sel) case 1:input_grade();break; case 2:load(); case 3:output_grade(); case 4:sort(); case 5:chaxun(); c
3、ase 6:del_data(); case 7:insert(); case 8:amend(); case 9:exitout(); default:printf(No option selected! /*登陆函数*/int pass() /*功能:输入正确的密码后进入用户界面*/ static char key10=nicaicai; if(strcmp(password,key)=0) printf( *you are welcome!* return 1; else *you are wrong!Please again* return 0;/*输入函数*/void input_g
4、rade() /*输入学生信息*/ printf(Input data: for(i=0;iN;i+)Enter %d student date:,N);number?stui.num); if(stui.num=-1) break; count+;name? %s,stui.name);sex?,stui.sex);English? %dstui.English);Math?stui.Math);Cprogram?stui.Cprogram); stui.Total=stui.English+stui.Math+stui.Cprogram; /*计算总成绩*/ stui.Average=st
5、ui.Total*1.0/3; /*计算平均成绩,将int型转换成float型*/ save();/*输出函数*/void output_grade() /*在屏幕上显示输入的学生信息*/ if(count=0)no information! elsenAll students information as follows:numbertnametsextEnglishtMathtCprogramtTotaltAveragencount;%dt%st%st%dt%dt%dtt%0.2ft%0.2ftn,stui.num,stui.name,stui.sex,stui.English,stui.
6、Math,stui.Cprogram,stui.Total,stui.Average);/*排序函数*/void sort() /*将学生信息排序*/ int sel2;no message! while(1) printf( printf( 1.sort by totaln /*按总成绩排序*/ 2.sort by namen /*按姓名排序*/ 3.sort by numn /*按学号排序*/ 4.returnnPlease choose(14): scanf(sel2); switch(sel2) case 1:sort_total(); case 2:sort_name(); case
7、 3:sort_num(); case 4:return; default:No option choose! void sort_total() int j; int t; int l; for(i=1; l=i-1; for(j=i;jstul.Total)l=j; /*如果j位同学的总成绩大于i位,将j的值赋值于l*/ if(i-1)!=l) stut=stui-1; stui-1=stul; stul=stut; /*j位和i位交换位置*/void sort_name() int o; if(strcmp(stuj.name,stul.name)0)l=j;/*用字符串比较函数比较j位
8、和l位的大小*/ stuo=stui-1; stul=stuo;void sort_num() int m; if(stuj.numstul.num)l=j; stum=stui-1; stul=stum;/*写入函数*/void save() /*定义save函数存储数据到文件中*/ FILE * fp; int i; if(fp=fopen(c:123new3.dat,wb)=NULL)Cannot open filen exit(0); fwrite(&stui,sizeof(struct student),1,fp);/*fwrite函数向文件里输入一个数据块*/ fclose(fp)
9、;/*存放出函数*/void load() /*定义load函数从文件中读取数据到内存中*/ fread(&/*fread函数从文件中读入数据块*/ while(! feof(fp) i+; fread(&/*查询函数*/void chaxun() /*查询学生信息*/ int sel1; 1.choose number findn /*按学号查询*/ 2.choose name findn /*按姓名查询*/ 3.output gradensel1); switch(sel1)chaxunnum();chaxunname();void chaxunnum() int stu_num;Plea
10、se input query student number:stu_num); if(stui.num=stu_num)break; if(i0)Successful find! if(f=0)/*删除函数*/void del_data() /*删除学生信息*/ int sign; 1.choose number deleten /*按学号删除*/ 2.choose name deleten /*按姓名删除*/sign); switch(sign)del_num();del_name();void del_num() int j=0,delnum;Please input the number that you want to delete:n delnum); if(stui.num=delnum)break;count-1; stuj=stuj+1; count-;Successful delete!void del_name() int k=0; int r=0; int c=0; char delname20;Please input the name that you want to delete:,delname); if(strcmp(stui.name,delname)=0) k=i; c+; for(r=k;r i
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2