帮忙看看这个c++程序哪哪里错了
题目:求两个数的最大值,要求:输入的两个数(整数或者实数)事先放在文本文件中,程序从文件中读这两个数据,最后把结果写到另外一个文本文件中,用文本编辑器查看结果;程序:#i...
题目:求两个数的最大值,要求:输入的两个数(整数或者实数)事先放在文本文件中,程序从文件中读这两个数据,最后把结果写到另外一个文本文件中,用文本编辑器查看结果;
程序:#include <stdio.h>
void main()
{
int Max; // 用来存放最大值
int a, b; // 用来存放两个数据
FILE* fp1; // 输入文件
FILE* fp2; // 输出文件
char fname1[100],fname2[100]; //存文件名
printf("请输入源文件名(包括路径):"); gets(fname1);
if(fname1[0]=='\0')
return;
printf("请输入目标文件名(包括路径):"); gets(fname2);
if(fname2[0]=='\0')
return;
fp1 = fopen(fname1, "rb"); // 以读取的方式打开文件
if (NULL == fp1) // 判断fname1是否成功打开
{
printf ("源文件不能不能打开\n"); // 提示错误信息
return;
}
fscanf(fp1, "%d%d", &a, &b);// 读取数据
fp2 = fopen(fname2, "wb"); // 以写入的方式打开文件
if (NULL == fp2) // 判断fname2是否成功创建
{
printf ("目标文件创建不成功\n");
return;
}
Max = (a > b) ? a : b; // 计算最大值
fprintf(fp2, "%d\n", Max); // 写入结果
printf("结果保存在目标文件%s中\n",fname2); // 提示保存成功
return;
fcloseall();
} 展开
程序:#include <stdio.h>
void main()
{
int Max; // 用来存放最大值
int a, b; // 用来存放两个数据
FILE* fp1; // 输入文件
FILE* fp2; // 输出文件
char fname1[100],fname2[100]; //存文件名
printf("请输入源文件名(包括路径):"); gets(fname1);
if(fname1[0]=='\0')
return;
printf("请输入目标文件名(包括路径):"); gets(fname2);
if(fname2[0]=='\0')
return;
fp1 = fopen(fname1, "rb"); // 以读取的方式打开文件
if (NULL == fp1) // 判断fname1是否成功打开
{
printf ("源文件不能不能打开\n"); // 提示错误信息
return;
}
fscanf(fp1, "%d%d", &a, &b);// 读取数据
fp2 = fopen(fname2, "wb"); // 以写入的方式打开文件
if (NULL == fp2) // 判断fname2是否成功创建
{
printf ("目标文件创建不成功\n");
return;
}
Max = (a > b) ? a : b; // 计算最大值
fprintf(fp2, "%d\n", Max); // 写入结果
printf("结果保存在目标文件%s中\n",fname2); // 提示保存成功
return;
fcloseall();
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询