当前位置: 代码迷 >> C语言 >> [求助]为什么运行不了``
  详细解决方案

[求助]为什么运行不了``

热度:128   发布时间:2007-01-11 20:41:36.0
[求助]为什么运行不了``

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


#include <stdio.h>
#include <process.h>
void fun(void);
void main(void)
{
fun();
}


void fun(void)
{
int num,tlnum;
char name[20];
FILE *fp;
char filename[20];
printf("输入文件名filename:");
scanf("%s",filename);
if((fp=fopen(filename,"w")==NULL))
{
printf("cannot open this file");
exit(0);
}
printf("结束请按0\n");
printf("输入编号,姓名,电话号码:");
scanf("%d%s%d",&num,name,&tlnum);
fprintf(fp,"%3d%s%10d",num,name,tlnum);
printf("%3d%10s%10d",num,name,tlnum);
}

谁有空帮我调试一下错哪```
我看不出来我觉得我都对的```
谢谢```

搜索更多相关的解决方案: void  二进制  fun  通讯录  include  

----------------解决方案--------------------------------------------------------

问题1: if((fp=fopen(filename,"w")==NULL ) )

   改为 : if((fp=fopen(filename,"w")  ==NULL )

问题2:"输入编号,姓名,电话号码" 应该用循环表示
其他地方挺好的

  稍稍改了一下:
#include <stdio.h>
#include <process.h>

void fun(void);
void main(void)
{
fun();
}
void fun(void)
{
int num,tlnum;
char name[20];
FILE *fp;
char filename[20];

printf("输入文件名filename:");
scanf("%s", filename);

if((fp = fopen(filename, "w"))==NULL)
{
printf("cannot open this file");
exit(0);
}

printf("结束请按0\n");
while(num != 0){

printf("输入编号,姓名,电话号码:");
scanf("%d%s%d",&num,name,&tlnum);

fprintf(fp,"%3d %s%10d\n",num,name,tlnum);
printf("%3d%10s%10d\n",num,name,tlnum);
}
fclose(fp);
}


----------------解决方案--------------------------------------------------------
OK~~谢谢```
----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <process.h>
void fun(void);
void main(void)
{
fun();
}
void fun(void)
{
int num,tlnum;
char name[20];
FILE *fp;
char filename[20];

printf("输入文件名filename:");
scanf("%s", filename);
if((fp = fopen(filename, "wb"))==NULL)
{
printf("cannot open this file");
exit(0);
}
printf("结束请按0\n");
while(num != 0)
{

printf("请输入编号:");
scanf("%d",&num);
printf("请输入姓名:");
scanf("%s",name);
printf("请输入电话号码:");
scanf("%d",&tlnum);
printf("输入的信息(编号、姓名、号码分别)为:\n");
fprintf(fp,"%5d%8s%8d\n",num,name,tlnum);
printf("%5d%8s%8d\n",num,name,tlnum);
}
fclose(fp);
}


----------------解决方案--------------------------------------------------------
  相关解决方案