数据结构课程设计报告-宿舍管理系统内容摘要:

{ while(!feof(fp)) //内部循环 { offset1=ftell(fp)。 //获取文件内部当前指针位置fscanf(fp,%s%s%s%s\n,personname,personnum,persondor,persongroup)。 strcpy(name1,personname)。 strcpy (num1,personnum)。 strcpy(dor1,persondor)。 strcpy(group1,persongroup)。 if(feof(fp)) break。 //文件结束 跳出循环 offset2=ftell(fp)。 //获取文件内部下一指针位置fscanf(fp,%s%s%s%s\n,personname,personnum,persondor,persongroup)。 strcpy (name2,personname)。 strcpy(num2,personnum)。 strcpy(dor2,persondor)。 strcpy(group2,persongroup)。 b=strlen(num1)。 c=strlen(num2)。 d=strcmp(num1,num2)。 if(b==camp。 amp。 d0) //如果 学号 1大于等于学号 2 则交换全部数据 { strcpy(name3,name1)。 strcpy(name1,name2)。 strcpy(name2,name3)。 strcpy(num3,num1)。 strcpy(num1,num2)。 strcpy(num2,num3)。 strcpy(dor3,dor1)。 strcpy(dor1,dor2)。 strcpy(dor2,dor3)。 strcpy(group3,group1)。 strcpy(group1,group2)。 strcpy(group2,group3)。 fseek(fp,offset1,SEEK_SET)。 //将 指针移动 offset1个字节 14 strcpy(personname,name1)。 strcpy(personnum,num1)。 strcpy(persondor,dor1)。 strcpy(persongroup,group1)。 fprintf(fp,%10s%10s%10s%10s\n, personname,personnum,persondor,persongroup)。 //排序后写入文件 strcpy(personname,name2)。 strcpy(personnum,num2)。 strcpy( persondor,dor2)。 strcpy(persongroup,group2)。 fprintf(fp,%10s%10s%10s%10s\n,personname,personnum,persondor,persongroup)。 //排序后写入文件 } fseek(fp,offset2,SEEK_SET)。 //将文件位置指针从文件头向前移动 offset2个字节 } rewind(fp)。 //指向头文件 while(!feof(fp)) //此循环用于判断学号是否有序 { offset1=ftell(fp)。 fscanf(fp,%s%s%s%s\n,personname,personnum,persondor,persongroup)。 strcpy (num1,personnum)。 if(feof(fp)) {a=1。 break。 } offset2=ftell(fp)。 fscanf(fp,%s%s%s%s\n,personname,personnum,persondor,persongroup)。 strcpy(num2,personnum)。 b=strlen(num1)。 c=strlen(num2)。 d=strcmp(num1,num2)。 if(b==camp。 amp。 d=0) a=1。 //若 a为 1 则有序 else { a=0。 //a为 0则无序 break。 } fseek(fp,offset2,SEEK_SET)。 } if(a==1) break。 //a为 1 说明学号已经有序 跳出循环 rewind(fp)。 } if(a) break。 //若 a为 1,则学号已有序排列,跳出总循环,输出文件 } rewind(fp)。 printf(\n****************************。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。