Código C++:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main () {
int opcion, opcion1, opcion2, n, contador, b, mayor;
float var1, var2, resultado;
char letra;
opcion = 0;
while ( opcion != 6 ){
printf ( "1.- Calculadora\n" ); printf ( "2.- Conversor de distancias\n" ); printf ( "3.- Comparador de 3 enteros\n" ); printf ( "4.- Reconocedor de vocales\n" ); printf ( "5.- Suma con IVA\n" ); printf ( "Ingrese Opcion: " );
scanf ( "%d%*c", &opcion
); //El problema esta en esta linea. debes ignorar el enter
switch ( opcion ) {
case 1: // Opción 1 menu principal
printf ( "Ingrese opcion a calcular\n\n" ); printf ( "1.- Area de un triangulo\n" ); printf ( "2.- Area de un circulo\n" ); printf ( "3.- Area de un rectangulo\n" ); printf ( "4.- U otro numero Salir\n\n" ); printf ( "Ingrese Opcion: " ); scanf ( "%d", &opcion1
);
switch ( opcion1 ) {
case 1:
printf ( "Ingrese la base del triangulo: " ); printf ( "Ingrese la altura del triangulo: " ); resultado = ( var1 * var2 ) / 2;
printf ( "El area del triangulo es de: %.2f unidades cuadradas", resultado
); break;
case 2:
printf ( "Ingrese el radio del circulo: " ); resultado = ( var1 * var1 ) * 3.14;
printf ( "El area del circulo es de: %.2f unidades cuadradas", resultado
); break;
case 3:
printf ( "Ingrese el largo del rectangulo: " ); printf ( "Ingrese el ancho del rectangulo: " ); resultado = var1 * var2;
printf ( "El area del rectangulo es de: %.2f unidades cuadradas", resultado
); break;
}
break;
case 2: // Opción 2 menu principal
printf ( "Ingrese opcion a convertir\n\n" ); printf ( "1.- De Kilometros a centimetros\n" ); printf ( "2.- De Millas a Pies\n" ); printf ( "3.- De Yardas a Pulgadas\n" ); printf ( "4.- U otro numero Salir\n\n" ); printf ( "Ingrese Opcion: " ); scanf ( "%d", &opcion2
);
switch ( opcion2 )
{
case 1:
printf ( "Ingrese los kilometros a convertir en centimetros: " ); var2 = var1;
resultado = var1 * 100000;
printf ( " Kilometros equivalen a: %.2f centimetros", resultado
); break;
case 2:
printf ( "Ingrese las millas a convertir en pies: " ); var2 = var1;
resultado = var1 * 5280;
printf ( " Millas equivalen a: %.2f Pies", resultado
); break;
case 3:
printf ( "Ingrese las yardas a convertir en pulgadas: " ); var2 = var1;
resultado = var1 * 36;
printf ( " Yardas equivalen a: %.2f Pulgadas", resultado
); break;
}
break;
case 3: // Opción 3 menu principal
b = 0;
contador = 0;
while ( contador < 3 ) {
printf ( "Ingrese numero a comparar:" );
if ( b == 0 || n > mayor ) {
mayor = n;
b = 1;
}
contador = contador + 1;
}
printf ( "El mayor de los numeros ingresados es: %d", mayor
);
if ( mayor % 2 == 0 )
printf ( " y es un numero par" ); else
printf ( " y es un numero impar" );
break;
case 4:
printf ( "Ingrese una letra: " ); letra = 0;
scanf ( "%c",&letra
); //Aqui es %c y no %d de entero
if ( letra == 'a' || letra == 'e' || letra == 'i' || letra == 'o' || letra == 'u' || letra == 'A' || letra == 'E' || letra == 'I' || letra == 'O' || letra == 'U' ) {
printf ( "La letra %c es una vocal\n", letra
); }
else {
printf ( "La letra %c no es una vocal\n", letra
); }
break;
}
}
return 0;
}
debes aprender como funciona el buffer:
Aquí tienes un ejemplo:
escriba justo 1abc y pulse enter para ver como encajan cada letra en su lugarcito XD
Código C++:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main () {
int opcion;
char letraA, letraB, letraC, ENTER = 0;
if ( opcion == 1 ) {
}
opcion=0;
printf ( "opcion tiene: %d \nletraA tiene: %c \nletraB tiene: %c \nletraC tiene: %c \nENTER tiene %d", opcion
, letraA
, letraB
, letraC
, ENTER
); printf ( "\n\nPuedes comprobar que ENTER es igual a 10 que en la tabla ASC2 corresponde al caracter salto de linea que es el '\\n'\n\n"); printf ( "\nPuedes conferir en: http://www.elcodigoascii.com.ar/codigo-americano-estandar-intercambio-informacion/codigo-ascii.gif \n"); printf ( "\n\nDesea conferir? Si elijes 1 se abrira su navegador con la tabla asc2\n1-si\nOtro numero-no\n"); scanf ( "%d%*c", &opcion
); if(opcion==1){
system("start \"Internet Explorer.exe\" \"http://www.elcodigoascii.com.ar/codigo-americano-estandar-intercambio-informacion/codigo-ascii.gif\" "); }
else{
}
printf("Pulse una tecla para salir.");
return 0;
}