用C语言学生成绩数据库排序功能设计,用c语言制作出学生成绩管理系统并将学生成绩从小到大排序,看看我哪有问题...

推荐答案

5a069941ca5d5df619752be8f090ae3b.png

贝尔梅尔娜美

2018.01.15

5a069941ca5d5df619752be8f090ae3b.png

采纳率:60%    等级:39

已帮助:94865人

文件是用来保存数据的,是无法用文件来进行排序的。应该从文件中把数据读入到链表或数组中,再用数组或链表结构进行排序。typedef struct/*学生结构体*/{char num[10]; /*学生学号*/char name[20]; /*学生姓名*/char sex[4];/*学生性别*/int year,month,day;/*出生年月日*/char face[4];/*政治面貌*/float math,gaoji,dianlu,aver; /*数学分析,高级语言程序设计,电路与电子学成绩*/}Student;Student stu[30];void paixu_xuehao(Student stud[],int n) /*按学号排序*/{ float p,q,w;int i,j,r,g,h;double y;char x[20],t[10],z[10];for(i=0;i0){ strcpy(t,stud[j].num);strcpy(stud[j].num,stud[j+1].num);strcpy(stud[j+1].num,t);strcpy(x,stud[j].name);strcpy(stud[j].name,stud[j+1].name);strcpy(stud[j+1].name,x);r=stu[j].year;stu[j].year=stu[j+1].year;stu[j+1].year=r;g=stu[j].month;stu[j].month=stu[j+1].month;stu[j+1].month=g;h=stu[j].day;stu[j].day=stu[j+1].day;stu[j+1].day=h;strcpy(z,stud[j].face);strcpy(stud[j].face,stud[j+1].face);strcpy(stud[j+1].face,z);y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;p=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=p;q=stu[j].gaoji;stu[j].gaoji=stu[j+1].gaoji;stu[j+1].gaoji=q;w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;}return;}int wenjian2(Student stu[],int n) /*从文件中读入数据*/{int i=0;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/printf("\t\t\tInput the filename:");scanf("\t\t\t%s",filename); /*输入文件名*/if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/{ printf("\t\t\tcann't open the file\n"); /*打开失败信息*/printf("\t\t\t");} fread(&stu[i],sizeof(Student),1,fp);   while(!feof(fp))fread(&stu[i++],sizeof(Student),1,fp);fclose(fp); /*关闭文件*/printf("\t\t\tSuccessed!\n");printf("\t\t\t");system("pause");return(i);}

10分享举报

此回答由管理员  静公主宸琰   推荐为最佳回答。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值