
05/12/2009, 23:44
|
| | Fecha de Ingreso: noviembre-2003 Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 21 años, 5 meses Puntos: 0 | |
problema con calculadora en c Hola amigos estoy desesperado tengo que hacer una calculadora que realize las operaciones basicas osea suma, resta, multiplicacion y divicion y presentar el resultado en numeros romanos. La calculadora esta limitada a numeros menores o iguales a 100 y hasta 2 decimales osea decimas y centecimas.
Ya he hecho algo pero el problema es que no encuentro porque me manda errores les pongo aqui el codigo y haber si a alguien se les ocurre una mejor forma de hacerse.
Código:
#include<stdio.h>
#include<conio.h>
void convertir(int d,int u)
{
char resultado[5];
char resultado2[5];
char final[5];
switch(d)
{
case 1:
resultado='X';
break;
case 2:
resultado="XX";
break;
case 3:
resultado="XXX";
break;
case 4:
resultado="XL";
break;
case 5:
resultado="L";
break;
case 6:
resultado="LX";
break;
case 7:
resultado="LXX";
break;
case 8:
resultado="LXXX";
break;
case 9:
resultado="XC";
break;
}
switch(u)
{
case 1:
resultado2='I';
break;
case 2:
resultado2="II";
break;
case 3:
resultado2="III";
break;
case 4:
resultado2="IV";
break;
case 5:
resultado2="V";
break;
case 6:
resultado2="VI";
break;
case 7:
resultado2="VII";
break;
case 8:
resultado2="VIII";
break;
case 9:
resultado2="IX";
break;
}
strcpy(final,resultado);
srtcat(final,resultado2;
printf(" \n %s",final);
}
main()
{
clrscr();
int num1,num2,opc=1;
float res,div1,div2;
int entero,decimal,d,u,d1,u1;
char resultado[20];
float x;
while(opc==1)
{
printf("Introduce una opcion:\n ");
printf("1.-Suma \n 2.-Resta\n 3.-Multiplicacion \n 4.-Divicion \n");
scanf("%i",&opc);
if(opc==4)
{
printf("Introduce el numero a dividir \n");
scanf("%f",&div1);
printf("Introduce divisor \n");
scanf("%f",&div2);
}else if(opc==1 || opc==2 || opc==3)
{
printf("Introduce numero 1: \n");
scanf("%i",&num1);
printf("Introduce numero 2: \n") ;
scanf("%i",&num2);
}
switch(opc)
{
case 1:
res=num1+num2;
break;
case 2:
res=num1-num2;
break;
case 3:
res=num1*num2;
break;
case 4:
res=div1/div2;
if(num<100)
{
entero=num;
x=num-entero;
decimal=x*100;
d=entero/10;
u=entero%10;
d1=decimal/10;
u1=decimal%10;
convertir(d,u);
}else{
printf("C");
}
// printf("El resultado de la divicion es %f",div);
break;
default:
printf("La opcion que escogiste no es correcta");
break;
}
if(opc==1 || opc==2 || opc==3)
{
if(num<100)
{
entero=num;
x=num-entero;
decimal=x*100;
d=entero/10;
u=entero%10;
d1=decimal/10;
u1=decimal%10;
convertir(d,u);
}else{
printf("C");
}
//printf("El resultado es: %i",res);
}
printf("\n \n Preciona 1 si deseas realizar otra operacion o 0 si deseas salir:");
scanf("%i",&opc);
clrscr();
}
getch();
}
espero y me puedan ayudar me urge es para mi calificacion final espero y me puedan ayudar.
Gracias de antemano
__________________ °º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo |