【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 }

运行结果

第一部分:

第二部分:

原文地址:https://www.cnblogs.com/ieybl/p/9160835.html

时间: 2024-10-13 09:26:01

【C语言】用定义结构类型的方法,编写程序建立一个具有学生学号、姓名、总分和联系电话的记录文件。编写程序从键盘上输入学号可以查到此人的其他信息。的相关文章

c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码

从键盘上输入一个整数n,输出斐波纳猰数列 程序代码如下: 1 /* 2 2017年3月5日10:35:17 3 功能:n的阶乘采用的是递归方式实现 4 */ 5 6 #include "stdio.h" 7 long fun(int n) //注意此处的fun()是调用函数,两者之间没有空格 8 { 9 if (n > 1) //此处跳出递归的条件是当n = 1时 10 return (n * fun(n -1)); //当n的值满足条件或n = 2时程序还会执行该条语句 11

【C语言】用结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息

//用结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息 #include <stdio.h> struct Stu { int num; char name[20]; char sex; int age; }; int main() { struct Stu student[3]={{317,"han",'m',20},{318,"hun",'w',22},{311,"dan",'w',18}}; struct

GO语言练习:为类型添加方法

1.代码 2.运行 1.代码 1 package main 2 3 import "fmt" 4 5 type Integer int 6 //给in类型添加 Less 方法,int原来的方法被Integer继承 7 func (a Integer) Less (b Integer) bool { 8 return a < b 9 } 10 11 //给in类型添加 Add 方法,int原来的方法被Integer继承 12 func (a *Integer) Add (b Int

关于Go语言,自己定义结构体标签的一个妙用.

在Go中首字母大写和小写,决定着这此变量能否被外部调用, 比如:在使用标准库的json编码自定一的结构的时候: <pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" font-weight:600; color:#000080;">package</span><span style=" color:#c0c0c0;"> <

C语言如何定义结构体

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

《Go语言实战》Go 类型:基本类型、引用类型、结构类型、自定义类型

Go 语言是一种静态类型的编程语言,所以在编译器进行编译的时候,就要知道每个值的类型,这样编译器就知道要为这个值分配多少内存,并且知道这段分配的内存表示什么. 提前知道值的类型的好处有很多,比如编译器可以合理的使用这些值,可以进一步优化代码,提高执行的效率,减少 bug 等等. 基本类型 基本类型是 Go 语言自带的类型,比如 数值.浮点.字符串.布尔.数组 及 错误 类型,他们本质上是原始类型,也就是不可改变的,所以对他们进行操作,一般都会返回一个新创建的值,所以把这些值传递给函数时,其实传递

c语言指针及结构体复习

c语言简单的指针 int main() { int *p; int a = 90; p = &a;//将变量a的地址赋值给指针 *p = 10;//通过指针修改内存上的值 return 0; } c语言简单结构体 int main() { //1. 定义结构体 struct Person { int age; double height; char * name; }; //2.根据结构体类型,定义结构体变量 struct Person p={20,1.55,"jack"};/

go语言之行--结构体(struct)详解、链表

一.struct简介 go语言中没有像类的概念,但是可以通过结构体struct实现oop(面向对象编程).struct的成员(也叫属性或字段)可以是任何类型,如普通类型.复合类型.函数.map.interface.struct等,所以我们可以理解为go语言中的“类”. 二.struct详解 struct定义 在定义struct成员时候区分大小写,若首字母大写则该成员为公有成员(对外可见),否则是私有成员(对外不可见). type struct_variable_type struct { mem

使用typedef语句定义数组类型

使用typedef语句定义数组类型     1. 一维数组类型的定义格式 typedef <元素类型关键字><数组类型名>[<常量表达式>]; 例如: (1) typedef int vector[10]; (2) typedef char strings[80]; (3) typedef short int array[N]; 第一条语句定义了一个元素类型为int,含有10个元素的数组类型vector,若不使用typedef保留字,则就变成了数组定义,它只定义了一个元