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

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

#include <stdio.h>

#include <stdlib.h>

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

#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<N;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<N;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);//把文件关闭。

}

计算机二级-C语言-程序填空题-190107记录的更多相关文章

  1. 计算机二级-C语言-程序填空题-190109记录-对二维字符串数组的处理

    //给定程序,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长.ss所指字符串数组中共有M个字符串,且串长<N. //重难点 ...

  2. 计算机二级-C语言-程序填空题-190110记录-文件写入与文件读出显示

    //给定程序功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1(独立一行)作为字符串输入结束的标志,然后将文件的内容读到显示在屏幕上.文件的读写分别由自定义 ...

  3. 计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。

    //给定程序的功能是,调用函数fun将指定源文件中的内容赋值到指定目标文件中,复制成功时函数返回1,失败时返回0,把复制的内容输出到终端屏幕.主函数中源文件名放在变量sfname中,目标文件名放在变量 ...

  4. 计算机二级-C语言-程序填空题-190115记录-fprintf()函数和fscanf()函数的使用。

    //给定程序,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myflie3.txt的文本文件中,然后再顺序读出显示在屏幕上. //重难点:fprintf()函数和fscanf()函数的使 ...

  5. 计算机二级C语言选择题错题知识点记录。

    计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...

  6. 计算机二级-C语言-对文件的读写操作。链表的定义与赋值。对字符串的遍历和处理。

    //程序填空题:在此程序中,通过定义学生结构体变量,存储了学生的学号,姓名和三门课的成绩.所有学生数据均以二进制方式输出到文件中.函数fun()函数的功能是重写形参filename所指文件中最后一个学 ...

  7. 计算机二级C语言冲刺笔记。

    2018-03-0618:32:26 风萧萧兮易水寒,壮士一去...... 四级依旧没过,计算机二级接踵而至, default语句在switch语句中可以省略,所以B错误:switch语句中并非每个c ...

  8. 计算机二级-C语言-程序修改题-190108记录-字符串处理

    //程序修改题:给定程序MODI1.C中函数fun的功能是:先将字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面.例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为 ...

  9. 计算机二级-C语言-程序修改题-190113记录-对指定字符串的大小写变换处理。

    //给定程序中fun函数的功能是:将p所指的字符串中每个单词的最后一个字母改成大写.(这里的“单词”是指由空格隔开的字符串) //重难点:指针对数组的遍历.大小写转换的方法.第一种使用加减32 得到, ...

随机推荐

  1. static静态不是很静

    在类中定义变量时,不会开辟存储空间,只有类定义一个对象时才会开辟类中成员变量的内存空间,且建立一个对象开辟一次,大小与类中的成员变量及函数有关.而static在静态区开辟内存空间,不占用内存空间. 1 ...

  2. JS变量和数据类型及其转化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. JUC-多线程锁

    多线程锁的练习题 1.标准访问,先打印短信还是邮件 class Phone { public synchronized void sendSMS() throws Exception { Thread ...

  4. msfconsole启动失败并报错`not_after=': bignum too big to convert into `long'的解决方法

    1.启动msfconsole失败并报如下错误: /usr/share/metasploit-framework/lib/msf/core/payload/android.rb:86:in `not_a ...

  5. 服务器上搭建使用SSH账户登录的Git仓库

    1.安装git yum install -y git 2.创建git仓库保存的目录 mkdir /data/git_repo 3.初始化空仓库 cd /data/git_repogit init -- ...

  6. CSS技巧!鼠标经过图片抖动效果

    把代码加到style.css(模板的主css里面): /**图片抖动**/ img:hover{-webkit-animation: tada 1s .2s ease both;-moz-animat ...

  7. Qt- 图形界面应用程序的运行模式

    main() 定义主窗口 ————>fd = DefineMainWindow() 创建主窗口————>win = CreateMainWindow() 创建主窗口中的元素-----> ...

  8. 三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署

    本文学习笔记参照来源:https://tf.wiki/zh/basic/basic.html 前文:三分钟快速上手TensorFlow 2.0 (上)——前置基础.模型建立与可视化 tf.train. ...

  9. Python中的模块简单认识

    将自己定义的方法,变量存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件称为模块. 细说的话,模块可以分为四个通用类别: 1 使用python编写的.py文件(自定义模块) 2 已被编译为共 ...

  10. css div布局示例2(head-main-footer

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...