Dev - C++ - DECIMAL A BINARIO

 
Vista:

DECIMAL A BINARIO

Publicado por ALFREDO (2 intervenciones) el 29/09/2022 06:13:58
//AYUDA NO SE QUE ESTA MAL AQUI
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int a,M,C,D,U ;
cout<<"programa para mostrar la equivalencia en romanos de un numero decimal\n";
cout<<"porfavor ingrese un numero de 1 a 12 de acuerdo al calendario\n";
cin>>a;

M = (a/1000) mod 10;
C = (a/100) mod 10;
D = (a/10) mod 10;
U = (a/1) mod 10;

{ if (M < 3)
switch (M){

case 1 :cout<<"M";break;
case 2 :cout<<"MM";break;
case 3 :cout<<"MMM";break;
}

switch (C){

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 (D){

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 8 :cout<<"XC";break;
}

switch (U){

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 8 :cout<<"IX";break;
}

}
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kevin

DECIMAL A BINARIO

Publicado por kevin (59 intervenciones) el 29/09/2022 15:02:41
Tuviste dos errores:

la palabra "mod" en C++ no existe, para hacer la operación modulo se usa el %

Los switch case tenian un caso repetido (el caso 8) dos veces


Este es el codigo limpio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
int a,M,C,D,U ;
cout<<"programa para mostrar la equivalencia en romanos de un numero decimal\n"
    <<"porfavor ingrese un numero de 1 a 12 de acuerdo al calendario\n";
 
cin>>a;
 
M = (a/1000) % 10;
C = (a/100) % 10;
D = (a/10) % 10;
U = (a/1) % 10;
 
if (M < 3) {
    switch (M)
    {
        case 1 :cout<<"M";break;
        case 2 :cout<<"MM";break;
        case 3 :cout<<"MMM";break;
    }
 
    switch (C)
    {
        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 (D)
    {
        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 (U)
    {
        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;
    }
 
}
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

DECIMAL A BINARIO

Publicado por antonio (85 intervenciones) el 29/09/2022 15:32:37
Hola buenas pues no se que tienes mal no le he mirado pero es mas fácil, ir restando el numero e ir poniendo lo que corresponde:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include<iostream>
using namespace std;
int main (){
	int numero=0;
	cout<<"Introduzca el Numero";
	cin>>numero;
	string romano;
	while(numero>0){
		if(numero-1000>=0){
			numero=numero-1000;
			romano=romano+"M";
		}
		else if(numero-900>=0){
			numero=numero-900;
			romano=romano+"CM";
		}
		else if(numero-500>=0){
			numero=numero-500;
			romano=romano+"D";
		}
		else if(numero-400>=0){
			numero=numero-400;
			romano=romano+"CD";
		}
		else if(numero-100>=0){
			numero=numero-100;
			romano=romano+"C";
		}
		else if(numero-90>=0){
			numero=numero-90;
			romano=romano+"XC";
		}
		else if(numero-50>=0){
			numero=numero-50;
			romano=romano+"L";
		}
		else if(numero-40>=0){
			numero=numero-40;
			romano=romano+"XL";
		}
		else if(numero-10>=0){
			numero=numero-10;
			romano=romano+"X";
		}
		else if(numero-9>=0){
			numero=numero-9;
			romano=romano+"IX";
		}
		else if(numero-5>=0){
			numero=numero-5;
			romano=romano+"V";
		}
		else if(numero-4>=0){
			numero=numero-4;
			romano=romano+"IV";
		}
		else{
			numero=numero-1;
			romano=romano+"I";
		}
 
	}
	cout<<"El numero en romano es: "<<romano<<"\n";
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar