我需要循环这个,并在给出字符串 -1 时让程序终止
I need to loop this through and have the program terminate when the string -1 is given
#include <iostream>
#include <cmath>
using namespace std;
int main (){
//Written By: Hannah Stang
//Reads a Binary number and converts it to a decimal
long decimal = 0, remainder, number, base = 1;
long bin;
cout << "Enter a binary number: ";
cin >> number;
bin = number;
while (number > 0)
{
remainder = number % 10;
decimal = decimal + remainder * base;
base = base * 2;
number = number / 10;
}
cout << "Conversion to decimal: " << decimal << endl;
return 0;
}
我遇到的主要问题是试图让程序运行不止一次。我需要它不断重复,直到我输入 -1 作为值。
您可以执行以下操作:
#include <iostream>
#include <cmath>
using namespace std;
int main (){
//Written By: Hannah Stang
//Reads a Binary number and converts it to a decimal
long decimal = 0, remainder, number, base = 1;
long bin;
cout << "Enter a binary number: ";
cin >> number;
while (number != -1)
{
bin = number;
while (number > 0)
{
remainder = number % 10;
decimal = decimal + remainder * base;
base = base * 2;
number = number / 10;
}
cout << "Conversion to decimal: " << decimal << endl;
cout<< "Enter a binary number: ";
cin>> number;
}
return 0;
}
换句话说,只需将主代码嵌入到一个循环中,其条件是数字不等于 -1
请注意,我正在读取循环主体末尾的数字,因此如果用户输入 -1,他会立即退出。
尝试移动 while 循环并从初始化为 1 的number
开始:
long decimal = 0, remainder, number=1, base = 1;
while (number > 0)
{
cout << "Enter a binary number: ";
cin >> number;
bin = number;
remainder = number % 10;
decimal = decimal + remainder * base;
base = base * 2;
number = number / 10;
cout << "Conversion to decimal: " << decimal << endl;
}
或者你可以做这样的事情:
while (1)
{
cout << "Enter a binary number: ";
cin >> number;
if(number == -1)
{
cout<<"Program exiting.";
break;
}
bin = number;
remainder = number % 10;
decimal = decimal + remainder * base;
base = base * 2;
number = number / 10;
cout << "Conversion to decimal: " << decimal << endl;
}
相关文章:
- 为什么这个 c++ 代码打印出长度 5,当我打印出字符串时,程序会自动终止?
- 在字符串函数中抛出'char const*'实例后调用的终止
- 使用终止程序的指针在数组中输入字符串
- 如何告诉字符串流忽略null终止字符
- 当 NUL 字符被定义为字符串的一部分时,为什么 strlen() 不计算终止 NUL 字符的字节?
- 如何将非空终止字符串输出到 iostream,但保持格式
- 是否有一种安全的方法可以断言字符串视图是否以 null 终止?
- 自动截断和 null 终止缓冲区溢出中的字符串缓冲区
- 用户定义的字符串文字为字符串null终止
- 如何制作包含原始字符串终止符C++原始字符串
- 为什么具有单独字符的字符数组不像字符串文字那样以 null 终止符结尾?
- 字符串C :libc abi.dylib:终止未被发现的类型std :: out_of_range:basic
- 如何调整标准::字符串的大小以删除所有空终止符字符?
- 终止字符串的 '