体育资讯网

您现在的位置是:首页 > 足球联赛 > 正文

足球联赛

成绩管理系统免费(成绩查询管理系统登录)

hacker2022-06-10 13:45:29足球联赛49
本文目录一览:1、学生成绩管理系统永久免费版v6.0.9的界面怎么进入

本文目录一览:

学生成绩管理系统永久免费版 v6.0.9的界面怎么进入

这个我没用过,我用过表单大师,用表单大师可以搭建一个学生成绩管理查询系统。可以根据自己的需求定制,功能灵活,你也可以试试。先是创建表单,再到表单中设置查询参数就可以建起一个查询系统了。

简单学生成绩管理系统

#define N 7 /*学生的人数*/

typedef struct

{

char num[5];

char name[10]; /*记录姓名和学号*/

float math,english,comput,average; /*各个科目及平均分*/

}mark; /*定义学生记录结构体类型*/

typedef struct

{

float fen[4];

int n;

}fsp;/*定义学生记录转化的中间变量*/

void count(mark *s)/*统计各科平均分 各科的最高(低)分及各分数段的人数*/

{

float ave[3]={0};/*存放各科平均分 */

float m[3][2] ;

int num[3][5]={0};/*存放各分数段的人数*/

int i;

m[0][1]=m[0][0]=s-math;

m[1][0]=m[1][1]=s-english;

m[2][0]=m[2][1]=s-comput;

for(i=0;iN;i++)

{ ave[0]+=(s+i)-math;

ave[1]+=(s+i)-english;

ave[2]+=(s+i)-comput;

if( (s+i)-math m[0][0] )

m[0][0]=(s+i)-math;

else if( (s+i)-math m[0][1] )

m[0][1]=(s+i)-math;

if( (s+i)-english m[1][0] )

m[1][0]=(s+i)-english;

else if( (s+i)-english m[1][1] )

m[1][1]=(s+i)-english;

if( (s+i)-comput m[2][0] )

m[2][0]=(s+i)-comput;

else if( (s+i)-comput m[2][1] )

m[2][1]=(s+i)-comput;

/*统计各科的最高(低)分*/

if((s+i)-math60.0)

num[0][0]++;

else if((s+i)-math70.0)

num[0][1]++;

else if((s+i)-math80.0)

num[0][2]++;

else if((s+i)-math90.0)

num[0][3]++;

else num[0][4]++;

/*统计数学各分数段的人数*/

if((s+i)-english60.0)

num[1][0]++;

else if((s+i)-english70.0)

num[1][1]++;

else if((s+i)-english80.0)

num[1][2]++;

else if((s+i)-english90.0)

num[1][3]++;

else num[1][4]++;

/*统计英语各分数段的人数*/

if((s+i)-comput60.0)

num[2][0]++;

else if((s+i)-comput70.0)

num[2][1]++;

else if((s+i)-comput80.0)

num[2][2]++;

else if((s+i)-comput90.0)

num[2][3]++;

else num[2][4]++;

/*统计计算机各分数段的人数 */

}

for(i=0;i3;i++)

ave[i]=ave[i]/N;

printf("三门科的平均分分别为:\

%.1f %.1f %.1f\

",ave[0],ave[1],ave[2]);

printf("三门科的最高分与最底分分别为:\

");

printf("%.1f %.1f\

%.1f %.1f\

%.1f %.1f\

",

m[0][0],m[0][1],m[1][0],m[1][1],m[2][0],m[2][1]);

printf("三门科不及格 60-69 70-79 80-89 90分以上的人数分别为:\

");

printf("数学: %3d%5d%6d%6d%4d\

",num[0][0],num[0][1],num[0][2],num[0][3],num[0][4]);

printf("英语: %3d%5d%6d%6d%4d\

",num[1][0],num[1][1],num[1][2],num[1][3],num[1][4]);

printf("计算机:%3d%5d%6d%6d%4d\

",num[2][0],num[2][1],num[2][2],num[2][3],num[2][4]);

}

void found(mark *s)/*输入学生的学号查询学生的成绩情况*/

{

char a[10];/*接受输入的学号*/

int flag,i;/*循环变量*/

char * b="exit";

do

{ flag=0;

printf("请输入所要查询的学生的学号或姓名\

");

getchar();

gets(a);

for(i=0;iN;i++)

{printf("该生的学号,姓名,各门课程及平均成绩为:\br%s %s %.1f %.1f %.1f %.1f\br"br ,(s+i)-num,(s+i)-name,(s+i)-math,(s+i)-english,(s+i)-comput,(s+i)-average);/*成绩打印*/br flag=1;}

if(flag==0) printf("查无此人\

");

}while(strcmp(a,b));

printf("查询结束");

}

main()

{

mark *s,*a,*b,*c,*d;

fsp *p;

s=(mark*)malloc(N*sizeof(mark));

a=(mark*)malloc(N*sizeof(mark));

b=(mark*)malloc(N*sizeof(mark));

c=(mark*)malloc(N*sizeof(mark));

d=(mark*)malloc(N*sizeof(mark));

p=(fsp*)malloc(N*sizeof(fsp));/*各变量空间开辟 */

printf("初始化学生的记录为:\

");

printf("按数学成绩排序学生的记录为:\

");

printf("按英语成绩排序学生的记录为:\

");

printf("按计算机成绩排序学生的记录为:\

");

printf("按平均成绩排序学生的记录为:\

");

count(s);

found(s);

}

成绩管理系统

你把有的课程名字改一下,或者添加一些东西,在结构体定义那里#include#include#includestructstu{intnum;intwuli;inthuaxue;intmath;};FILE*fp;//添加学生信息,可以排除与已存的冲突;voidadd(){inta,b,c,d,n=0;structstustudent;fp=fopen("score.txt","r+");printf("请输入要添加学生的学号、物理成绩、化学成绩及数学成绩\n");scanf("%d%d%d%d",student.num,student.wuli,student.huaxue,student.math);while(!feof(fp)){fscanf(fp,"%d%d%d%d",a,b,c,d);if(student.num==a){printf("该学生信息已存在,不需要添加\n");fclose(fp);n=1;break;}}if(n==0){printf("信息库中没有该学生信息,可以添加\n");fseek(fp,0,2);//文件末尾添加;fprintf(fp,"%d\t%d\t%d\t%d\n",student.num,student.wuli,student.huaxue,student.math);fclose(fp);}}//修改学生信息;voidmodify(){intn=0,number,a,b,c,d,offset;structstustudent;fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空\n");exit(0);}printf("请输入要修改学生的学号\n");scanf("%d",number);while(!feof(fp)){offset=ftell(fp);fscanf(fp,"%d%d%d%d",a,b,c,d);if(number==a){printf("该学生信息为:\n");printf("%d\t%d\t%d\t%d\n",a,b,c,d);printf("请输入要修改的信息\n");scanf("%d%d%d%d",student.num,student.wuli,student.huaxue,student.math);fseek(fp,offset,0);fprintf(fp,"%d\t%d\t%d\t%d\n",student.num,student.wuli,student.huaxue,student.math);n=1;break;}}if(n==0){printf("该学生信息不存在\n");}fclose(fp);}//删除学生信息;voiddel(){intn=0,number,a,b,c,d,m,offset;fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空\n");exit(0);}printf("请输入删除学生的学号\n");scanf("%d",number);while(!feof(fp)){offset=ftell(fp);fscanf(fp,"%d%d%d%d",a,b,c,d);if(number==a){printf("该学生信息为:\n");printf("%d\t%d\t%d\t%d\n",a,b,c,d);printf("是否要删除该学生信息,是:1;否:0\n");scanf("%d",m);if(m){fseek(fp,offset,0);fprintf(fp,"%s\t%s\t%s\t%s","","","","");printf("\n");printf("该学生信息已删除\n");}elseprintf("您已放弃删除该学生信息\n");n=1;break;}}if(n==0){printf("该学生信息不存在\n");}fclose(fp);}//查找学生信息;voidsearch(){intn=0,number,a,b,c,d,m;chars[10];fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空\n");exit(0);}printf("请选择查找方式:1--按学号查找;0--按学科查找\n");scanf("%d",m);if(m){printf("请输入要查找学生的学号\n");scanf("%d",number);while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1){if(number==a){printf("已找到,该学生信息为:\n");printf("%s%s%s%s\n","学号","物理成绩","化学成绩","数学成绩");printf("%d\t%d\t%d\t%d\n",a,b,c,d);n=1;break;}}if(n==0){printf("该学生信息不存在\n");}fclose(fp);}else{printf("请输入要查找的学科\n");scanf("%s",s);if(strcmp(s,"wuli")==0){printf("学号\t物理成绩\n");while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1)printf("%d\t%d\n",a,b);fclose(fp);}if(strcmp(s,"huaxue")==0){printf("学号\t化学成绩\n");while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1)printf("%d\t%d\n",a,c);fclose(fp);}if(strcmp(s,"math")==0){printf("学号\t数学成绩\n");while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1)printf("%d\t%d\n",a,d);fclose(fp);}if(strcmp(s,"wuli")strcmp(s,"huaxue")strcmp(s,"math")){printf("错误,要查找的学科不存在\n");fclose(fp);}}}//统计学生信息;voidtongji(){intn=0,a,b,c,d,m,k,x[100],i,j,l=1;floatsum=0,h[100],k1;fp=fopen("score.txt","r+");if(fp==NULL){printf("信息库为空\n");exit(0);}printf("0--统计单科平均成绩\n");printf("1--统计单个学生的平均成绩和总成绩,对学生排名\n");printf("请选择统计类型\n");scanf("%d",m);if(!m){printf("1--统计物理的平均成绩\n");printf("2--统计化学的平均成绩\n");printf("3--统计数学的平均成绩\n");printf("请选择要统计的学科\n");scanf("%d",m);if(m==1){while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1){sum=sum+b;n++;}printf("物理的平均成绩为%2.2f\n",sum/n);fclose(fp);}if(m==2){while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1){sum=sum+c;n++;}printf("化学的平均成绩为%.2f\n",sum/n);fclose(fp);}if(m==3){while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1){sum=sum+d;n++;}printf("数学的平均成绩为%.2f\n",sum/n);fclose(fp);}}else{while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1){h[n]=(float)(b+c+d);x[n]=a;n++;}for(i=0;l==1ih[j+1]){k1=h[j];h[j]=h[j+1];h[j+1]=k1;k=x[j];x[j]=x[j+1];x[j+1]=k;l=1;}}}printf("排序后\n");printf("学号\t总成绩\t平均成绩\n");for(i=0;i=0m=5){switch(m){case1:add();break;case2:modify();break;case3:del();break;case4:search();break;case5:tongji();break;case0:exit(0);}printf("\n\n操作完毕,请再次选择!");}elseprintf("\n\n选择错误,请再次选择!");}}

学生成绩管理系统

学生成绩管理系统C代码

/ *头文件* /

#包括

包括

#包括 / *其他指令* /

包括中/ *字符串函数* /

/ *内存操作函数* /

/ *字符处理函数* /

包括 / *动态地址分配函数* /

定义:LEN大小(学生)

typedef结构中,学??生/ *定义结构数组,用于缓存数据* /

{字符数[6];

字符名称[5];

得分[3];

int总和;

浮动平均水平;

诠释订单

结构STU *下;

}成绩管理系统免费的学生;

/ *函数原型* /

学生成绩管理系统免费的init( );/ /初始化函数* /

诠释MENU_SELECT的(); / *菜单函数* /

学生的create(); / *创建的链表* /

无效打印(学生*头); / *显示所有记录* /

无效搜索(学生*头); / *找到记录* /

学生删除(STUDENT *头); / *删除记录* / /学生排序(学生头); / *排序* /

学生(学生*头,新的学生*); *插入/ *插入记录* /

无效保存(的学生头); / *保存文件* /

学生的load(); / *读取文件* /

/ *主函数接口* /

主()

{的学生*头,新的;

头的init(); / *初始化链表头的值是NULL * /

(;) / *循环无限* /

{开关(menu??_select())

{

案例1:头= create()方法的突破;

案例2:打印(头);休息;

案例3:搜索(头);突破;

情况下,4头=删除(头);突破;

情况下5头排序(头);突破;

案例6:头插入(头,与新的);打破; / *新的返回地址* /

案例7:保存(头);

案例8:头=负载(

案例9:退出);突破;(0)/ *如果菜单,返回值是年底的9个项目* /

}

}

}

/ *初始化函数* /

学生的init()

{

返回NULL; / *返回一个空指针* /

}

a

/ *菜单选择功能* /

menu_select

{N;

结构日期d / *定义的时间结构* / / GETDATE(&D)/ *读取系统日期,并把它在结构上D * /

printf的(“按任意键进入菜单......”); / *按任意键进入主菜单* /

的getch(); / *读取从键盘输入一个字符,但不显示在屏幕上* /

clrscr(); / *清屏* / / printf(“请********************************************* *********************************** \ n“);

printf(”请\ T \吨的\ n“);

printf(”请\ n \ t \ t学生成绩管理系统\ n“);

printf(”请************ ************************* MENU ************************ *************** \ n“);

printf的(”\ t \ t \ T1输入记录\ n“); / *输入学生记录* / BR / printf的(“\ t \ t \ T2打印记录\ n”); / *显示* /

printf的(“\ t \ t \ T3的搜索记录名称\ n”); / * * /

printf的(“\ t \ t \ T4。删除记录\ n”); / *删除* /

printf的(“\ t \ t \ T5。排序,使新的文件\ n“); / *排序* / br /输出(”\ t \ t \ T6插入记录到列表\ n“); / *插入* /

printf的(”\ t \ t \ T7保存的文件\ n“); / *保存* /

printf的(”\ t \ t \ T8负载的文件\ n“); / *读* /

printf的(”\ t \ T \ T9退出\ n“); / *退出* /

printf的(”\ n \ t \ t胡嘿黉\ n“);

printf的(”****** ************************************************** ************************ \ n“);

printf的(”\ t \ t \ t \ t%d \ \%d的\ \%e\“,d.da_year,d.da_mon,d.da_day); / *显示当前系统日期* /

做{

printf的(”\ n \ t \ t \拉幅机的选择(1?9):“);

scanf的(”%d“,&N);

}(N 9)/ *如果该选项是不减肥9 * /

回报率(N); / *返回选项的数量,主要功能调用相应的函数* /

}

/ *输入函数* /

学生创??建()

{I,S

学生头= NULL,* P / *定义函数这个函数返回一个指针表头指针* /

Clrscr();

(;)

{P =(学生)的malloc(LEN); / *打开了一个新的单元* / BR /(P)/ *如果指针p是空* /

{printf的(“\ Nout的记忆。”); / *输出内存溢出* /

回报(头); / *返回头指针,下同* /

}

printf的(“请输入NUM(0:列表结束):”);

scanf的(“%s”,P- NUM);

(P-数[0] == '0')打破; / *如果第一个字符的学生数0输入* /

printf(“请结束输入姓名:“);

scanf的(”%s“,P-名称);

printf(”请输入%D分数\ n“); / *迅速启动分型结果* /

= 0; / *计算每个学生的总成绩,初始值为0 * /

(i = 0; I 3; i + +)/ * 3个疗程周期的3倍* /

{

做{

printf的(“得分%D:”,i +1);

scanf的(“%d”的,普 - 得分[I]);

(P-得分[I] 得分[I] 100)/ *确保得分在0至100之间* /

printf的(“数据错误,请重新输入\ n”);

}而(P得分[I] [I] 100分);

= S + P-得分[I] / *堆积门的成绩* /

}

P-总和= S / *节省的总成绩* /

对平均= (浮)/ 3; / *首先转换类型转换s转换为float类型,然后寻求的平均* /

P-订单= 0; / *在此之前的值排序为0 * / BR / P =头; / *头节点作为一个新的输入节点的后继节点* /

头= P / *新的输入节点作为新的头节点* /

}

a回报(头);

}

/ *显示所有记录函数* / 无效打印(学生头)

{i = 0; / *统计记录数* /

学生* P / *移动指针* /

Clrscr();

P =头; / *初始的头指针* / / printf(“请\ n ************************************学生****** ****************************** \ n“);

printf(”请---- -------------------------------------------------- --------------------- \ n“); br /输出(”|记录|编号|名称| SC1 SC2 SC3 |森|大道|订单| \ n“);

printf的(”------------------------------------ ------------------------------------------- \ n“); ...... /而(p! = NULL)

{

+ +;

printf的(“|%3D |%4 |%|%-4S 3D | 3D | 3D | %的3d |%4.2f |%-5d的| \“,

,对 - 数,对 - 名称,对 - 分数[0],对 - 分数[1],对 - [2分],P-总之,对平均,P-订单);

P = P-下;

}

printf的(“------ -------------------------------------------------- ----------------------- \ n“);

printf的(”*************** *********************** END ************************** ************ \ n“);

}

/ *查找录音功能* /

无效搜索(学生*头) BR / {STUDENT * p; / *移动指针* /

个char [5]; / *商店的名称的字符数组* /

Clrscr();

scanf函数

printf的(“请输入您的名字进行搜索。\ n”);(%S“,S);

P =头; / *分配的头指针P * /

而(STRCMP(P-名称,s) P = NULL)/ *的名称的记录时不看,或指针的时空* /

P = P- / *移动指针指向下一个节点* /

(p! = NULL)/ *如果指针不为空* /

{printf(“请\ n ******** ***************************** FOUND ******************** **************** \ n“);

printf(”请---------------------- -------------------------------------------------- ------- \ n“);

printf的(”|编号|名称| SC1 SC2 | SC3 |森|大道|订购| \ n“);

printf的(” - -------------------------------------------------- --------------------------- \ n“);

printf的(”| 4 |%4S |%3D |%三维|%的3d |%的3d |%4.2f |%-5d的| \ N“,

对 - 数,对 - 名称,对 - 分数[0],对 - 分数[1],对 - 分数[2],对 - 总和,对 - 平均,对 - 顺序);

printf(“请------------------- -------------------------------------------------- --------- \ n“);

printf的(”***************************** ********** END ************************************** \ N“);

}

其他

printf的(”\ n该网页的没有NUM%的学生在名单上。\ n“); / *学生* /

}

/ *删除记录的函数* /

学生*头*删除(学生)

学生{N; * P1 * P2 / * P1是找到要删除一个节点的指针,P2及其前体的指针* /

字符c的s [6] / [6]用来存储学生数,c是用于输入字母* / / clrscr();

printf的(“请输入删除的民:”);

scanf的(“%s”);

P1 = P2 =头; / * P1和P2富最初的头指针* /

(STRCMP(P1-NUM) P1 = NULL)/ *当记录数的学校不看,或指针不为空* / / {P2 = P1 / * P1指针的值分配给P2 P1前体指针* /

P1 = P1-; / *点p1指针到下一条记录* /

} BR /(STRCMP(P1-民)== 0)/ *学生ID * /

{printf的(“***************** ********************* FOUND **************************** ******** \ n“);

printf(”请------------------------------ ------------------------------------------------- \ N“);

printf的(”|编号|名称| SC1 SC2 | SC3 |森|大道|在线订单| \ n“);

printf的(”--------- -------------------------------------------------- -------------------- \ n“);

printf的(”| 4 |%4S |%3D | 3D | 3D | 3D |%4.2f%5D | \ n“,

P1-民,P1-名称,P1-得分[0],P1 - [1分],P1-得分[2] ,P1-总之,P1-平均,P1-订单);

printf的(“-------------------------- -------------------------------------------------- --- \ n“);

printf(”请*********************************** **** END ************************************** \ n“); ...... / printf的(“成绩管理系统免费你确定要删除的学生Y / N成绩管理系统免费?”); / *提示你是否要删除,输入y删除n退出* /

(;)

/ {scanf函数(“%C”,&C);

(C =='N'| | C =='N'); / *如果你不删除,然后跳出循环* /

(C =='Y'| | C =='Y')

{

(P1 ==头)/ * P1 ==头,被删除节点是第一个节点* /

头= P1-下; / *第二个节点的地址给头* /

其他

P2-下一个= P1- /否则,请单击节点地址被分配到前一个节点的地址* /

N = N-1; br /输出(“\ nNum%的学生已被删除。\ n”,S); / printf的(“不要忘记保存。\ n”); / *循环后已被删除* /

}

}

} 其他

printf的(“\ n该网页的没有NUM%的学生在名单上。\ n”); /,找不到节点* /

回报(头);

}

/ *排序函数* /

学生排序(学生头)

{INT I = 0; / *保存排名* /

学生* P1, * P2 * T,*温度; / *定义一个临时指针* /

温度=头下; / *原来的下一个节点的指针表头的头指针* /

头 = NULL; / *头节点的新表的第一个节点* /

(temp! = NULL)/ *当原表不为空,进行排??序* /

{

T =温度; / *取前表节点* /

TEMP =温度 - ; / *原来的头节点的指针向后* /

P1 =头/头*移动指针P1指针从头开始* /

P2 =头; / *移动指针P2为的P1前驱体的头指针的初始值* /

而(平均平均 P1 = NULL)/ *成绩平均比??较* /

{

P2 = P1 / *点值小进行排序,新表指针落后* /

P1 = P1-下;

}

(P1 == P2)/ * P1 == P2,点值进行排序,应该排在第一个* / BR / {

T- = P1;进行排序的继任者的p * /

头= T / * / *新的头节点进行排序点* /

}

的else / *进行排序点应插入在中间的位置p2和p1的,例如为p的空尾之间* /

{

叔 - 下一个= p1的; / * t的后继是p1 * /

P2- = T / * P2的继任吨* /

}

}

P1 =头; / *排序头指针被分配到P1准备填写的排名* /

(p1! = NULL)/ * p1是不是空的,下面的操作* /

{

+ +; / *节点数量* /

P1-订单; / *分配的节点数量的排名* /

P1 = P1-; / *指针后移* /

}

printf的(“的排序是SUCESSFUL。\ n”排序;} / *成功* /

回报(头);

}

/ *插入记录功能* /

学生插入(学生头STUDENT *新)

{STUDENT * P0,P1,P2;

整数N,SUM1;

P1 =头/ * P1点的第一个节点* /

P0 =新/ * P0点要插入节点* /

printf的(“\ n请输入一个新的记录。\ n”) / *提示信息记录* /

printf的(“请输入数量:”);

scanf函数(“%s”的新数);

printf(“输入的名称:“);

scanf的(”%s“的新名);

printf的(”请输入%d的分数。\ n“);

SUM1 = 0; / *保存新的得分纪录,初始值为0 * /

为(i = 0; I 3; i + +)

{

做{

printf的(“得分%D:“,i +1);

scanf的(”%d“的,与新得分[]);

(新 - 得分[I] 100 | |新 - 得分[I] 0)

printf(“请数据错误,请重新输入。\ n”);

}而(新 - 评分[我] 100 | |新 - 评分[I] 0);

SUM1 = SUM1 +新 - 得分[I] / *累计门成绩* /

}

新 - 金额= SUM1; /存款总额新的记录* /

新的平均=()SUM1 / 3;

新订单= 0;

(头== NULL)/ *原链表为空表* /

{头= P0,P0- = NULL;} / *节点指出P0口作为头节点* /

其他

{((P0-平均平均)(P1-!= NULL))

{P2 = P1 / P2点只是P1结点* /

P1 = P1-; / * P1落后节点* /

}

(P0-平均 = P1-平均)

{如果(头== P1)头= P0 / *插入到原来的第一个节点* / /其他P2- = P0 / *在插入节点* /

P0- = P1;}

其他

{P1-下一个= P0到P2点P0- = NULL;} / *上的最后一个节点* /

}

N = N +1; / *节点数目加1 * /

头排序(头); / *调用sort函数的学生的成绩重新排序* /

printf的(“,已插入\ nStudent%s的。\ n”,新名);

printf的(“不要忘记保存新的文件。\ n“);

回报(头);

}

/ *将数据保存到文件函数* /

无效保存(学生*头)

{FILE * FP; / *定义点文件指针* /

STUDENT * p; / *定义移动指针* /

字符,OUTFILE [10];

输出(“请输入OUTFILE名称,例如C:\ \成绩\ n”);

scanf的(“%s”,OUTFILE);

((FP =打开(OUTFILE,“WB”) )== NULL)/ *为输出打开一个二进制文件,只写* /

{

printf的(“无法打开文件\ n”);

回报; / *如果您无法打开返回菜单* /

}

printf的(“\ nSaving的文件... \ n”);

P =头; / *移动指针从头开始* /

而(p! = NULL)/ * p不为空* /

{

FWRITE(P,LEN,1,FP); / *写的指针记录* /

P = P-下; / *指针后移* /

}

FCLOSE(FP); / *关闭文件* /

printf的(“将文件保存成功!\ n“);

}

/ *从文件功能* /

学生中读取数据负载()

{STUDENT * P1 * P2 *头= NULL; / *定义记录指针变量* /

FILE * FP / *定义指向文件的指针* /

字符的infile [10];

printf的(“输入INFILE名称,例如c:\ \成绩\ n“);

scanf的(”%s“,infile中);

((FP =的FOPEN(INFILE,”包“))= = NULL)/ *打开一个二进制文件只读* /

{

printf的(“无法打开文件\ n”);

回报(头);

}

printf的(“\ n载入的文件!\ n”);

P1 =(学生)的malloc(LEN); / *开辟了一条新的单位* /

(P1 )

{

printf的(“内存不足!\ n”);

回报(头);

}

头= P1 / *适用于空间,作为头指针* /

同时(!的feof(FP))/ *循环读取数据,直到年底结束的文件* / {

(FREAD(P1,LEN,1,FP)= 1)打破; / *如果你不读出的数据的循环* /

P1- =(学生)的malloc(LEN); / *下一个结点打开空间* /

(P1-)

{

printf的(“内存不足!\ n”);

回报(头); BR /}

P2 = P1 / P2点只是P1结点* /

P1 = P1-; / *指针回新读入数据链当前的表* /

}

P2- = NULL; / *最后一个节点的继任指针为空* /

FCLOSE(FP);

输出( “你已经成功从文件中读取数据!\ n”);

回报(头);

}

发表评论

评论列表

  • 柔侣私野(2022-06-10 23:59:16)回复取消回复

    [2]); printf("三门科的最高分与最底分分别为:\"); printf("%.1f %.1f\%.1f %.1f\%.1f %.1f\", m[0][0],m[0][1],m[1][0],m[1][1],m[2][0],m[2][1]); printf("三门科不及格 6

  • 痴者宠臣(2022-06-10 21:49:19)回复取消回复

    stu{intnum;intwuli;inthuaxue;intmath;};FILE*fp;//添加学生信息,可以排除与已存的冲突;voidadd(){inta,b,c,d,n=0;structstustudent;fp=fopen("score.txt

  • 竹祭缪败(2022-06-10 18:08:22)回复取消回复

    sp*)malloc(N*sizeof(fsp));/*各变量空间开辟 */ printf("初始化学生的记录为:\");printf("按数学成绩排序学生的记录为:\"); printf(

  • 嘻友简妗(2022-06-10 17:50:37)回复取消回复

    close(fp);}}else{while(fscanf(fp,"%d%d%d%d",a,b,c,d)!=-1){h[n]=(float)(b+c+d);x[n]=a;n++;}for(i=0;l==1i

  • 听弧颜于(2022-06-10 23:21:56)回复取消回复

    --------------------- --------------------- \ n“); br /输出(”|记录|编号|名称| SC1 SC2 SC3 |森|大道|订单| \ n“); printf的