标题:[求助]为什么运行不了``
只看楼主
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
 问题点数:0 回复次数:3 
[求助]为什么运行不了``

/*
给定程序的功能是调用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 
2007-01-11 20:41
owen118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-1-1
得分:0 

问题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);
}

2007-01-12 01:31
frog555
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-11-9
得分:0 
OK~~谢谢```
2007-01-12 17:56
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
得分:0 

#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);
}


千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2007-01-12 20:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-115505-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.137491 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved