Cita de: naderST en 10 Marzo 2013, 08:15 AM
Donde declaras la variable r como float, la declaras como char y en el scanf() utilizas %c y no %f.
Y además se repite demasiado código. Creo que con un switch estaría más "contenido" el programa:
Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float a, b;
int o;
char r;
printf("Ingrese el valor de a: ");
scanf("%f", &a);
printf("\nIngrese el valor de b: ");
scanf("%f", &b);
while (1) {
printf("\nEscoja la operacion a realizar: \n");
printf("\n1.- a+b\n");
printf("\n2.- a-b\n");
printf("\n3.- a*b\n");
printf("\n4.- a/b\n\n");
scanf("%d", &o);
switch (o){
case 1:
printf("\n%g + %g = %g\n", a, b,a+b);
break;
case 2:
printf("%g - %g = %g", a, b, a-b);
break;
case 3:
printf("%g*%g = %g", a, b, a*b);
break;
case 4:
if(b==0)
printf("Division no definida para b = 0");
else {
printf("%g/%g = %g", a, b, a/b);
}
break;
default:
puts("\nOperacion no valida");
break;
}
printf("\n\nDesea realizar otra operacion?\n");
printf("\n1.- S\n");
printf("\n2.- N\n\n");
scanf(" %c", &r);
if (r!='s' && r!='S')
return 1;
}
return 0;
}
Saluditos!. ...