c语言 程序填空,计算机二级-C语言-程序填空题-190107记录

//给定程序的功能是:调用fun函数建立班级通讯录。通讯中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块(代表要使用结构体)写到名为myfile5.dat的二进制的文件中。

//重要点:1,数据块结构体的定义和使用。2,文件指针的定义以及对文件的读写操作。3,结构体的定义和使用。

#include

#include

//包含工程所需要的头文件,为什么呢?因为之后会用到这些头文件中定义的函数。

#define N 5

//定义一个变量的值为5,以后用到N的时候,就是5。

typedef struct [名称]

{

int num;

char name[10];

char tel[10];

}STYPE;

//C语言可以定义新类型,把这个结构体的新类型名称定义为STYPE,以后使用STYPE就可以。(这里是无名结构体)

void check();

//函数的声明。如果函数是在调用的后面定义的,那么就要进行声明。

int fun(STYPE *std)

{

FILE *fp;

int i;

if((fp=fopen("myfile5.dat","wb"))==NULL)  return (0);//打开文件格式为二进制可写格式

printf("\nOutput data to file !\n");

for(i=0;i

{

fwrite(&std[i],sizeof(STYPE),1,fp);//指针使用时,不需要加*,定义的时候需要。

fclose(fp);//关闭文件

return(1);

}

}

main()

{

STYPE s[10]={{1,"aaaaa","111111"},{1,"bbbbb","222222"},{1,"ccccc","333333"},{1,"ddddd","444444"},{1,"eeeee","555555"}};

//STYPE为结构体类型,定义的时候直接使用。

int k;

k=fun(s);//调用fun()函数,把函数返回值赋予k,函数作用,把结构体内容,输入到指定文件中。

if(k==1)

{

printf("Succeed!");

check();//函数作用,把指定文件中的内容显示。

}

else

printf("Fail!");

}

void check()

{

FILE *fp;//定义了一个文件指针fp.

int i;

STYPE s[10];//定义结构体数组。

if((fp=fopen("myfile5.dat","rb"))==NULL)

//打开文件,调用文件打开函数fopen,文件指针进行判断是否为空。"rb"格式打开文件(二进制只读格式)

{

printf("Fail !!\n");

exit(0);//终止程序的执行。

}

printf("\nRead file and output to screen:\n");

printf("\n  num  name  tel\n");

for(i=0;i

{

fread(&s[i],sizeof(STYPE),1,fp);

//fread()函数,从文件中开始读取数据,第一个参数,从哪个位置开始读,第二个参数一次读多长,第三个参数一次读这个长度的几个,第四个参数,指针变量代表文件。

printf("%6d  %s  %s\n",s[i].num,s[i].name,s[i].tel);//结构体输出格式。

}

fclose(fp);//把文件关闭。

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值