资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
#include stdio.h#include time.h#include string.h#include stdlib.h#include conio.h#define NULL 0typedef struct Lstu int cla,ID; long num; char name20; char sex20; float chinese,math,english; float sum,ave; Lstu *next;Lstu;Lstu *head;void Create(int n) /创建链表Lstu *p,*s;int i;for(i=0;icla); printf(请输入学号: );scanf(%ld,&p-num); printf(请输入姓名: );scanf(%s,p-name);printf(请输入性别: );scanf(%s,p-sex);printf(请输入语文成绩: );scanf(%f,&p-chinese);printf(请输入数学成绩: );scanf(%f,&p-math);printf(请输入英语成绩: );scanf(%f,&p-english);p-sum=p-chinese+p-math+p-english;p-ave=p-sum/3;head=p;if(n=1) p-next=NULL; elses=(Lstu *)malloc(sizeof(Lstu);printf(请输入第%d个人的信息n,i+1);printf(请输入班级: );scanf(%d,&s-cla); printf(请输入学号: );scanf(%ld,&s-num); printf(请输入姓名: );scanf(%s,s-name);printf(请输入性别: );scanf(%s,s-sex);printf(请输入语文成绩: );scanf(%f,&s-chinese);printf(请输入数学成绩: );scanf(%f,&s-math);printf(请输入英语成绩: );scanf(%f,&s-english);s-sum=s-chinese+s-math+s-english;s-ave=s-sum/3; p-next=s;p=s;s-next=NULL;void List() /输出链表内容 Lstu *p;int i=0; p=head; if(p=NULL)printf(Sorry,Its a Empty Listn);elseprintf(nnt-n);printf(t%-5s%-5s %-10s%-8s%-7s%-10s%-10s%-10sn,序号,班级,学号,姓名,性别,语文成绩,数学成绩,英语成绩);printf(t-n);while (p)i+;p-ID=i; printf(t %-4d%-5d %-7d %-8s%-7s%-10.2f%-10.2f%-10.2fn,p-ID,p-cla,p-num,p-name,p-sex,p-chinese,p-math,p-english); printf(t-n); p=p-next; void list() /输出链表所有内容 Lstu *p;int i=0; p=head; if(p=NULL)printf(Sorry,Its a Empty Listn);elseprintf(n -n);printf( %-5s%-5s %-7s %-8s%-7s%-10s%-10s%-10s%-8s%-8sn,序号,班级,学号,姓名,性别,语文成绩,数学成绩,英语成绩,总分,平均分);printf( -n);while (p)i+;p-ID=i; printf( %-4d%-6d%-12d%-8s%-7s%-10.2f%-10.2f%-10.2f%-8.2f%-8.2fn,p-ID,p-cla,p-num,p-name,p-sex, p-chinese,p-math,p-english,p-sum,p-ave); printf( -n); p=p-next; void save() /文件保存 FILE *fp; Lstu *p; p=head; if(fp=fopen(初始值二进制.txt,wb)=NULL) printf(Cannot open the file ); exit(0); while(p) fwrite(p,sizeof(Lstu),1,fp); p=p-next; fclose(fp);void save1() /文件保存 FILE *fp; Lstu *p; p=head; if(fp=fopen(初始值二进制备用.txt,wb)=NULL) printf(Cannot open the file ); exit(0); while(p) fwrite(p,sizeof(Lstu),1,fp); p=p-next; fclose(fp);void read() /文件读取 FILE *fp; Lstu *p,*p1; if(fp=fopen(初始值二进制.txt,rb)=NULL) printf(Cannot open the filen); exit(0); head=(Lstu*)malloc(sizeof(Lstu); p1=head; while(!feof(fp) p=(Lstu *)malloc(sizeof(Lstu); if(fread(p,sizeof(Lstu),1,fp)=1) p1-next=p; p1=p1-next; head=head-next;fclose(fp);void read1() /文件读取 FILE *fp; Lstu *p,*p1; if(fp=fopen(初始值二进制备用.txt,rb)=NULL) printf(Cannot open the filen); exit(0); head=(Lstu*)malloc(sizeof(Lstu); p1=head; while(!feof(fp) p=(Lstu *)malloc(sizeof(Lstu); if(fread(p,sizeof(Lstu),1,fp)=1) p1-next=p; p1=p1-next; head=head-next;fclose(fp);void SAVE() /保存到可浏览文件 FILE *fp; Lstu *p;int i=0; p=head; if(fp=fopen(初始值可浏览文件.txt,w+)=NULL) printf(Cannot open the file ); exit(0); fprintf(fp,nnt-n); fprintf(fp,t%-5s%-5s %-10s%-8s%-7s%-10s%-10s%-10sn,序号,班级,学号,姓名,性别,语文成绩,数学成绩,英语成绩); fprintf(fp,t-nn);while(p) i+;p-ID=i; fprintf(fp,t %-4d%-5d %-7d %-8s%-7s%-10.2f%-10.2f%-10.2fn,p-ID,p-cla,p-num,p-name, p-sex,p-chinese,p-math,p-english); fprintf(fp,t-
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号