gpt4 book ai didi

c++ - 我解决了一个问题,不知道背后的原因

转载 作者:行者123 更新时间:2023-12-02 10:50:50 24 4
gpt4 key购买 nike

我做了一个程序,将数字转换为罗马数字,当.exe文件不起作用时,我打算将其显示给我的一个 friend 。它询问用户要输入哪个号码,然后他将程序关闭。我不明白的是为什么它在DevC++上编译后就可以工作,但是与.exe却有不同的行为
我发现那里几乎没有解决方案,而对我有用的解决方案是添加一个:

int a;
cin>>a;
返回塞罗之前。现在可以了。我不明白如果没有控制台,控制台将不会执行给出的 Action 。我将代码留在这里。

#include <iostream>
using namespace std;

int main(){
int numero, unidades, decenas, centenas, millares;
int comprobante;

cout<<"Este programa traduce un numero de 4 cifras a numeros romanos.\nDigite un numero de
maximo cuatro cifras: ";
cin>>numero;


unidades= numero%10;
numero /= 10;
decenas= numero%10;
numero/=10;
centenas= numero%10;
numero/=10;
millares=numero;
comprobante=millares/10;

if(comprobante==0){

cout<<"Su numero traducido a numeros romanos es: ";

switch(millares){
case 1: cout<<"M"; break;
case 2: cout<<"MM"; break;
case 3: cout<<"MMM"; break;

}

switch(centenas){
case 1: cout<<"C"; break;
case 2: cout<<"CC"; break;
case 3: cout<<"CCC"; break;
case 4: cout<<"CD"; break;
case 5: cout<<"D"; break;
case 6: cout<<"DC"; break;
case 7: cout<<"DCC"; break;
case 8: cout<<"DCCC"; break;
case 9: cout<<"CM"; break;
}

switch(decenas){
case 1: cout<<"X"; break;
case 2: cout<<"XX"; break;
case 3: cout<<"XXX"; break;
case 4: cout<<"XL"; break;
case 5: cout<<"L"; break;
case 6: cout<<"LX"; break;
case 7: cout<<"LXX"; break;
case 8: cout<<"LXXX"; break;
case 9: cout<<"XC"; break;
}

switch(unidades){
case 1: cout<<"I"; break;
case 2: cout<<"II"; break;
case 3: cout<<"III"; break;
case 4: cout<<"IV"; break;
case 5: cout<<"V"; break;
case 6: cout<<"VI"; break;
case 7: cout<<"VII"; break;
case 8: cout<<"VIII"; break;
case 9: cout<<"IX"; break;
}
}
else{
cout<<"Te dije de 4 cifras. Por desgraciado me cierro.";
}

int a;
cin>>a;
return 0;
}

最佳答案

程序完成后,程序将立即在终端中关闭。当您cin>>a时,它在关闭之前等待输入。参见this

关于c++ - 我解决了一个问题,不知道背后的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63816201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com