Pequeña duda
Publicado por Dimus (1 intervención) el 18/07/2002 00:56:27
Hola a todos.
Tengo un pequeño problema, os explico ... He creado un pequeño programa que lo que hace es pedir al usuario que operacion quiere hacer (sumar,restar,multiplicar y dividir). Bien, entonces el usuario debe de introducir la primera letra de la opcion que desea (si quiere sumas insertara "s", si quiere restar "r" ...) Pues bien, si se inserta una letra que NO esta disponible para hacer la operacion, pues el programa le pedira otra vez la letra. (ejemplo):
[root@localhost autoenseñanza]# ./24
Sumar, Restar, Multiplicar, Dividir
introduza la primera letra: a
introduza la primera letra:
introduza la primera letra: ----> aqui tengo que introducir de nuevo el caracter
Pues bien, ¿sabes como podria para que no pregunta dos veces la letra ?
Seguidamente voy a poner el codigo fuente del programa.
Un saludo a todos y gracias por adelantado.
#include <stdio.h>
main()
{
int a, b;
char ch;
printf("\nSumar, Restar, Multiplicar, Dividir\n");
do{
printf("\nintroduza la primera letra: ");
fflush(stdin);
ch=getchar();
} while(ch!='s' && ch!='r' && ch!='m' && ch!='d'); // s=sumar r=restar ...
fflush(stdin);
printf("Introduzca el primer numero: ");
scanf("%d",&a);
printf("Introduzca el segundo numero: ");
scanf("%d",&b);
if(ch=='s') printf("%d", a+b);
else if(ch=='r') { printf("%d", a-b); }
else if(ch=='m') { printf("%d", a*b); }
else if(ch=='d') { printf("%d", a/b); }
}
Tengo un pequeño problema, os explico ... He creado un pequeño programa que lo que hace es pedir al usuario que operacion quiere hacer (sumar,restar,multiplicar y dividir). Bien, entonces el usuario debe de introducir la primera letra de la opcion que desea (si quiere sumas insertara "s", si quiere restar "r" ...) Pues bien, si se inserta una letra que NO esta disponible para hacer la operacion, pues el programa le pedira otra vez la letra. (ejemplo):
[root@localhost autoenseñanza]# ./24
Sumar, Restar, Multiplicar, Dividir
introduza la primera letra: a
introduza la primera letra:
introduza la primera letra: ----> aqui tengo que introducir de nuevo el caracter
Pues bien, ¿sabes como podria para que no pregunta dos veces la letra ?
Seguidamente voy a poner el codigo fuente del programa.
Un saludo a todos y gracias por adelantado.
#include <stdio.h>
main()
{
int a, b;
char ch;
printf("\nSumar, Restar, Multiplicar, Dividir\n");
do{
printf("\nintroduza la primera letra: ");
fflush(stdin);
ch=getchar();
} while(ch!='s' && ch!='r' && ch!='m' && ch!='d'); // s=sumar r=restar ...
fflush(stdin);
printf("Introduzca el primer numero: ");
scanf("%d",&a);
printf("Introduzca el segundo numero: ");
scanf("%d",&b);
if(ch=='s') printf("%d", a+b);
else if(ch=='r') { printf("%d", a-b); }
else if(ch=='m') { printf("%d", a*b); }
else if(ch=='d') { printf("%d", a/b); }
}
Valora esta pregunta


0