C语言用定义结构类型的方法,编写程序建立一个具有学生学号姓名总分和联系电话的记录文件。编写程序从键盘上输入学号可以查到此人的其他信息。
Posted ieblYang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言用定义结构类型的方法,编写程序建立一个具有学生学号姓名总分和联系电话的记录文件。编写程序从键盘上输入学号可以查到此人的其他信息。相关的知识,希望对你有一定的参考价值。
1.用定义结构类型的方法,编写程序建立一个具有学生学号、姓名、总分和联系电话的记录文件。
2.编写程序从键盘上输入学号可以查到此人的其他信息。
第一部分代码(向文件中添加数据)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define N 5 4 struct student 5 { 6 int num; 7 char name[10]; 8 float score; 9 char tel[20]; 10 }stu[N]; 11 int main ( ) 12 { FILE *fp; 13 int i; 14 if ( ( fp = fopen ( "C:\\\\Users\\\\root\\\\Desktop\\\\students2.dat", "wb+" ) ) == NULL ) 15 { 16 printf ( "Open file error!" ); 17 exit(0); 18 } 19 printf ( "input data:\\n" ); 20 for (i=0; i<N;i++) 21 scanf ("%d %s %f %s", &stu[i].num,stu[i].name,&stu[i].score,&stu[i].tel); 22 fwrite(&stu[0], sizeof ( struct student ),N,fp); 23 fclose(fp); 24 return 0; 25 }
第二部分代码(搜索)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define N 5 4 struct student 5 { 6 int num; 7 char name[10]; 8 float score; 9 char tel[20]; 10 }stu[N]; 11 int main ( ) 12 { FILE *fp; 13 int i,stunum,temp=0; 14 if ( ( fp = fopen ( "C:\\\\Users\\\\root\\\\Desktop\\\\students2.dat", "rb" ) ) == NULL ) 15 { 16 printf ( "Open file error!" ); 17 exit(0); 18 } 19 printf("请输入要查询的学号:\\n"); 20 scanf ("%d",&stunum); 21 for(i=0;i<N;i++){ 22 fread(&stu[i],sizeof(struct student),1,fp); 23 if(stu[i].num==stunum) 24 { 25 temp=1; 26 printf("学号\\t姓名\\t成绩\\t电话\\n"); 27 printf("%d\\t%s\\t%.2f\\t%s\\n",stu[i].num,stu[i].name,stu[i].score,stu[i].tel); 28 } 29 } 30 if(temp!=1) 31 printf("Not Found!\\n"); 32 fclose(fp); 33 return 0; 34 }
运行结果
第一部分:
第二部分:
以上是关于C语言用定义结构类型的方法,编写程序建立一个具有学生学号姓名总分和联系电话的记录文件。编写程序从键盘上输入学号可以查到此人的其他信息。的主要内容,如果未能解决你的问题,请参考以下文章