C++;代码跳过if语句。不';不允许用户提供输入 新的C++程序设计。谁能告诉我下面的代码有什么问题吗?现在的问题是if语句忽略了您给它的任何值,而只是转到if语句中的代码部分
if语句本身的代码也有问题。它不接受用户的任何输入。任何帮助都将不胜感激!谢谢C++;代码跳过if语句。不';不允许用户提供输入 新的C++程序设计。谁能告诉我下面的代码有什么问题吗?现在的问题是if语句忽略了您给它的任何值,而只是转到if语句中的代码部分,c++,C++,if语句本身的代码也有问题。它不接受用户的任何输入。任何帮助都将不胜感激!谢谢 #include <stdio.h> #define SIZE 80 #include <iostream> int main(void) { FILE * pFile; int c; // variable to hold character input by user char sentence[SIZE]; // create char array int i = 0;
#include <stdio.h>
#define SIZE 80
#include <iostream>
int main(void)
{
FILE * pFile;
int c; // variable to hold character input by user
char sentence[SIZE]; // create char array
int i = 0; // initialize counter i
int number;
std::cout << "Give a number. 1 for file. Anything else for standard.";
std::cin >> number;
std::cin.clear();
if(number=1)
{
printf("Enter sentence to append: ");
fgets(sentence,256,stdin);
pFile=fopen("mylog.txt","a");
fputs(sentence,pFile);
fclose(pFile);
}
else
{
// prompt user to enter line of text
puts("Enter a line of text:");
// use getchar to read each character
while ((i < SIZE-1) && (c = getchar()) != '\n') {
sentence[i++] = c;}
sentence[i]= '\0';
// terminate string
// use puts to display sentence
puts("\nThe line entered was:");
puts(sentence);
}
}
#包括
#定义大小80
#包括
内部主(空)
{
文件*pFile;
int c;//用于保存用户输入的字符的变量
字符句子[SIZE];//创建字符数组
int i=0;//初始化计数器i
整数;
std::cout>number;
std::cin.clear();
如果(数字=1)
{
printf(“输入要追加的句子:”);
fgets(第256句,标准文本);
pFile=fopen(“mylog.txt”,“a”);
FPUT(句子,pFile);
fclose(pFile);
}
其他的
{
//提示用户输入文本行
puts(“输入一行文本:”);
//使用getchar读取每个字符
而((i
该=
是赋值运算符。您只是将number
的值设置为1
。=
运算符将比较这两个值。=
是赋值运算符。您只是将number
的值设置为1
。=
操作符将比较这两个值。if(number=1)
=>if(number==1)
。如果用户键入的字符超过80个,则while
循环后面的行将写越界,并且fgets()
也可以在同一个80个字符的数组中读取多达256个字符。好的,修复了这些问题,但它仍然不会接受用户的输入。它显示“输入要追加的句子”,但随后直接跳到末尾。if(number=1)
=>if(number==1)
。如果用户键入的字符超过80个,则while
循环后面的行将写越界,而fgets()
在同一个80个字符的数组中最多可以读取256个字符。好的,修复了这些问题,但它仍然不会接受用户的输入。它会显示“输入要追加的句子”,但会直接跳到结尾。已经修复了这个问题。你知道为什么它的其余部分不起作用了吗?你可能想看看这篇关于FGET的参考资料,已经修复了。你知道为什么它的其余部分不起作用吗?你可能想看看这篇FGET的参考资料