下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下画线处填入正确的内容并将下画线删除,使

admin2017-01-11  41

问题 下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
    请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
    注意:不得增行或删行,也不得更改程序的结构!
【试题源程序】
#include
#include
#define N 5
typedef struct
{  int num;
  char name[10];
  char tel[10];
}STYPE;
void check();
/**********found**********/
int fun(【1】*std)
{
/**********found**********/
    【2】*fp;  int i;
  if((fp=fopen("myfile5.dat","wb"))==NULL)
    return(0);
  printf("\nOutput data to file!\n");
  for(i=0;i<N;i++)
/**********found**********/
    fwrite(&std,sizeof(STYPE),1,【3】);
  fclose(fp);
  retum(1);
}
main()
{  STYPE s[10]={{1,"aaaaa”,“111111”},{1,"bbbbb","222222"},{1,"c
CCCC","333333"},{1,"ddddd","444444"},{1,"eeeee","555555"}};
  int k;
  k=fun(s);
  if(k==1)
  {pfintf(”Succeed!”);check();}
  else
    printf("Fail!”);
}
void check()
{  FILE*fp;int i;
STYPE S[10];
if((fp=fopen("myfile5.dat","rb"))==NULL)
  {printf("Fail!\n");exit(0);}
  printf("\nRead file and output to screen:\n");
  pfinff("\n nun name tel\n");
  for(i=0;i<N;i++)
  {  fread(&s,sizeof(STYPE),1,fp);
    pfintf("%6d  %s  %s\n",s.num,s.name,S.tel);
  }
  fclose(fp);
}

选项

答案【1】STYPE 【2】FILE 【3】fp

解析 填空【l】:根据主函数中的调用函数fun(s)可知,函数fun()的形参应为结构体类型,因此填入STYPE。
填空【2】:fp是指向文件类型的指针变量,因此填入FILE。
填空【3】:函数fwrite调用的一般形式为“fwrite(buffer,size,count,fp);”,其中,fp表示文件指针。
转载请注明原文地址:https://kaotiyun.com/show/QuID777K
0

相关试题推荐
最新回复(0)