MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación > Webmasters - Diseño Web - Programación - Diseño gráfico
Error en "Calculadora"
Tania:
Jirho, pa mi que estaba regañando a Jalp :P
BuHo:
Jajaja, si que era a Jalp, pero no le regañaba xDDD
JalpWeb:
Lo primero gracias por vuestra ayuda :D He modificado la estructura y he intentado añadir la división pero no me sale.
--- Código: ---#include "stdio.h"
#include "string.h"
main()
{
char operacion [20];
char fin [2];
int num1;
int num2;
int resultado;
printf ("Escriba la operación que desee realizar: (Escribir igual sino no funciona)\n Suma\n Resta\n Multiplicación\n División\n ");
scanf ("%s",operacion);
if (strcmp(operacion,"Suma")==0)
{
printf ("\nSuma\n");
printf (" Escriba el primer número con el que desee operar\n ");
scanf ("%d",&num1);
printf (" Escriba el segundo número con el que desee operar\n ");
scanf ("%d",&num2);
resultado=num1+num2;
printf ("El resultado es %d\n\n",resultado);
}
else {
if (strcmp(operacion,"Resta")==0)
{
printf ("\nResta\n");
printf (" Escriba el primer número con el que desee operar\n ");
scanf ("%d",&num1);
printf (" Escriba el segundo número con el que desee operar\n ");
scanf ("%d",&num2);
resultado=num1-num2;
printf ("El resultado es %d\n\n",resultado);
}
else {
if (strcmp(operacion,"Multiplicación")==0)
{
printf ("\nMultiplicación\n");
printf (" Escriba el primer número con el que desee operar\n ");
scanf ("%d",&num1);
printf (" Escriba el segundo número con el que desee operar\n ");
scanf ("%d",&num2);
resultado=num1*num2;
printf (" El resultado es %d\n\n",resultado);
}
else {
if (strcmp(operacion,"División")==0)
{
printf ("\nDivisión\n");
printf (" Escriba el primer número con el que desee operar\n ");
scanf ("%d",&num1);
printf (" Escriba el segundo número con el que desee operar\n ");
scanf ("%d",&num2);
resultado=(float)num1/(float)num2;
printf ("El resultado es %.2f\n\n",resultado);
}
else {
printf ("El número de operación indicado no es valido\n");
{
/*1*/
}}}}}
printf ("¿Desea realizar otra operación? Si o No\n");
scanf("%s",fin);
if (strcmp(fin,"Si")==0)
{
/*2*/
}
else
{
if (strcmp(fin,"No")==0)
{
/*3*/
}
else
{
/*4*/
}
}
}
--- Fin del código ---
¿Que codigo debería poner en /*1*/ y en /*2*/ para que vaya al principio del programa?
¿Y en el /*3*/ para que saliera totalmente?
¿Y en el /*4*/ para que vuelva a formular la pregunta ¿Desea hacer otra operación?
¿Que he fallado en la división? :?:
BuHo:
¿Que error te da la division?
Lo de los puntos /*1, 2, 3 y 4*/ pienso que seria bueno ponerlo dentro de un bucle, al menos algunas de las opciones. No obstante, si tu profesor pasa de todo puedes usar la funcion goto, aunque si yo fuera tu profesor no te dejaria usarla ;)
Para salir del programa totalmente puedes usar exit(). Por ejemplol, exit(1);
jirho:
...jeje... Buho sabe que aqui nada de cosas raras, todo va en un ambiente saludable...por otro lado, Jalp, mira que defines num1 y num2 como enteros y en la division los operas como float, eso te da error, y por otro lado, como dice Buho, un ciclo te permite hacer lo que dices de volver al principio y todo eso, recuerda que un ciclo es el que te permite estar dentro de ciertas sentecias hasta que se cumpla una condicion de salida...es decir si el numero no es valido, volver a menu...trabajalo que asi aprendereras... ha y nada de goto....:wink: ...
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa