源代码复习过程.doc

源代码复习过程.doc

ID:57139225

大小:32.00 KB

页数:10页

时间:2020-08-03

源代码复习过程.doc_第1页
源代码复习过程.doc_第2页
源代码复习过程.doc_第3页
源代码复习过程.doc_第4页
源代码复习过程.doc_第5页
资源描述:

《源代码复习过程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、源代码精品文档#include#include#includetypedefstructpnode//结构体定义用于存放学生信息的节点{charname[8];//姓名charxh[16];//学号charfh[30];//房号}personnode;charfilename[50];//文件名FILE*fp;//指向文件的指针voidcreat()//创建新数据文件的函数创建一个二进制文件用于存放学生数据{personnode*person;person=(personnode*)malloc(siz

2、eof(personnode));//为节点分配内存printf("请输入文件名:");scanf("%s",filename);if((fp=fopen(filename,"w+"))==NULL){printf("你没有输入文件名,不能找到文件夹");exit(0);}printf("请输入姓名,学号(相同的长度)和房号,以空格隔开,以#结束");scanf("%s",person->name);while(strcmp(person->name,"#"))//该循环用于控制学生信息的录入当输入#时学生信息录入完毕{scanf("%s%

3、s",person->xh,person->fh);fprintf(fp,"%-10s%-20s%-50s",person->name,person->xh,person->fh);scanf("%s",person->name);收集于网络,如有侵权请联系管理员删除精品文档}fclose(fp);}voidreadfile()//文件读取函数用于打开已有的二进制数据文件{printf("pleaseenterthefileroad:");scanf("%s",filename);//此处输入为文件的路径如c:zhangif((fp=fopen(

4、filename,"r+"))==NULL){printf("can'topenthefile:");exit(0);}fclose(fp);}voidoutput()//输出函数用于输出文件的全部信息{personnode*person;longoffset1,offset2;charname1[8],name2[8],name3[8];charxh1[16],xh2[16],xh3[16];charfh1[30],fh2[30],fh3[30];person=(personnode*)malloc(sizeof(personnode));if((f

5、p=fopen(filename,"r"))==NULL){printf("can'topenthefile");exit(0);}while(!feof(fp))//此循环用于对文件数据中关键字学号进行从小到大冒泡排序{inta,b,c,d;//a为循环结束判定变量b,c,d用于起泡排序时学号交换的替换if((fp=fopen(filename,"r+"))==NULL){printf("can'topenthefile");exit(0);收集于网络,如有侵权请联系管理员删除精品文档}while(!feof(fp))//从文件头开始遍历{while

6、(!feof(fp))//对两组数据进行排序{offset1=ftell(fp);//获取文件内部当前指针位置fscanf(fp,"%s%s%s",person->name,person->xh,person->fh);strcpy(name1,person->name);strcpy(xh1,person->xh);strcpy(fh1,person->fh);if(feof(fp))break;//文件结束跳出循环offset2=ftell(fp);//获取文件内部下一指针位置fscanf(fp,"%s%s%s",person->name,pers

7、on->xh,person->fh);strcpy(name2,person->name);strcpy(xh2,person->xh);strcpy(fh2,person->fh);b=strlen(xh1);c=strlen(xh2);d=strcmp(xh1,xh2);if(b==c&&d>0)//如果学号1大于等于学号2则交换全部数据{strcpy(name3,name1);strcpy(name1,name2);strcpy(name2,name3);strcpy(xh3,xh1);strcpy(xh1,xh2);strcpy(xh2,xh3);st

8、rcpy(fh3,fh1);strcp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。