Ver Mensaje Individual
  #8 (permalink)  
Antiguo 25/06/2014, 02:52
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: Quien Podría ayudarme?

Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5. int main () {
  6.     int opcion, opcion1, opcion2, n, contador, b, mayor;
  7.     float var1, var2, resultado;
  8.     char letra;      
  9.     opcion = 0;
  10.    
  11.     while ( opcion != 6 ){
  12.         printf ( "Menu\n\n" );
  13.         printf ( "1.- Calculadora\n" );
  14.         printf ( "2.- Conversor de distancias\n" );
  15.         printf ( "3.- Comparador de 3 enteros\n" );
  16.         printf ( "4.- Reconocedor de vocales\n" );
  17.         printf ( "5.- Suma con IVA\n" );
  18.         printf ( "6.- Salir\n\n" );
  19.         printf ( "Ingrese Opcion: " );
  20.        
  21.         scanf ( "%d%*c", &opcion );   //El problema esta en esta linea. debes ignorar el enter
  22.         system ( "cls" );
  23.        
  24.         switch ( opcion ) {
  25.        
  26.             case 1: // Opción 1 menu principal
  27.            
  28.                 printf ( "Ingrese opcion a calcular\n\n" );
  29.                 printf ( "1.- Area de un triangulo\n" );
  30.                 printf ( "2.- Area de un circulo\n" );
  31.                 printf ( "3.- Area de un rectangulo\n" );
  32.                 printf ( "4.- U otro numero Salir\n\n" );
  33.                 printf ( "Ingrese Opcion: " );
  34.                 scanf ( "%d", &opcion1 );
  35.                 system ( "cls" );
  36.                
  37.                 switch ( opcion1 ) {
  38.                     case 1:
  39.                         printf ( "Ingrese la base del triangulo: " );
  40.                         scanf ( "%f", &var1 );
  41.                         printf ( "Ingrese la altura del triangulo: " );
  42.                         scanf ( "%f", &var2 );
  43.                         resultado = ( var1 * var2 ) / 2;
  44.                         printf ( "El area del triangulo es de: %.2f unidades cuadradas", resultado );
  45.                         getch();
  46.                         system ( "cls" );
  47.                         break;
  48.                        
  49.                     case 2:
  50.                         printf ( "Ingrese el radio del circulo: " );
  51.                         scanf ( "%f", &var1 );
  52.                         resultado = ( var1 * var1 ) * 3.14;
  53.                         printf ( "El area del circulo es de: %.2f unidades cuadradas", resultado );
  54.                         getch();
  55.                         system ( "cls" );
  56.                         break;
  57.                        
  58.                     case 3:
  59.                         printf ( "Ingrese el largo del rectangulo: " );
  60.                         scanf ( "%f", &var1 );
  61.                         printf ( "Ingrese el ancho del rectangulo: " );
  62.                         scanf ( "%f", &var2 );
  63.                         resultado = var1 * var2;
  64.                         printf ( "El area del rectangulo es de: %.2f unidades cuadradas", resultado );
  65.                         getch();
  66.                         system ( "cls" );
  67.                         break;
  68.                 }
  69.                
  70.                 break;
  71.                
  72.             case 2: // Opción 2 menu principal
  73.            
  74.                 printf ( "Ingrese opcion a convertir\n\n" );
  75.                 printf ( "1.- De Kilometros a centimetros\n" );
  76.                 printf ( "2.- De Millas a Pies\n" );
  77.                 printf ( "3.- De Yardas a Pulgadas\n" );
  78.                 printf ( "4.- U otro numero Salir\n\n" );
  79.                 printf ( "Ingrese Opcion: " );
  80.                 scanf ( "%d", &opcion2 );
  81.                 system ( "cls" );
  82.                
  83.                
  84.                 switch ( opcion2 )
  85.                
  86.                 {
  87.                     case 1:
  88.                         printf ( "Ingrese los kilometros a convertir en centimetros: " );
  89.                         scanf ( "%f", &var1 );
  90.                         var2 = var1;
  91.                         resultado = var1 * 100000;
  92.                         printf ( "%.2f", var2 );
  93.                         printf ( " Kilometros equivalen a: %.2f centimetros", resultado );
  94.                         getch();
  95.                         system ( "cls" );
  96.                         break;
  97.                        
  98.                     case 2:
  99.                         printf ( "Ingrese las millas a convertir en pies: " );
  100.                         scanf ( "%f", &var1 );
  101.                         var2 = var1;
  102.                         resultado = var1 * 5280;
  103.                         printf ( "%.2f", var2 );
  104.                         printf ( " Millas equivalen a: %.2f Pies", resultado );
  105.                         getch();
  106.                         system ( "cls" );
  107.                         break;
  108.                        
  109.                     case 3:
  110.                         printf ( "Ingrese las yardas a convertir en pulgadas: " );
  111.                         scanf ( "%f", &var1 );
  112.                         var2 = var1;
  113.                         resultado = var1 * 36;
  114.                         printf ( "%.2f", var2 );
  115.                         printf ( " Yardas equivalen a: %.2f Pulgadas", resultado );
  116.                         getch();
  117.                         system ( "cls" );
  118.                         break;
  119.                        
  120.                        
  121.                        
  122.                 }
  123.                
  124.                 break;
  125.                
  126.             case 3: // Opción 3 menu principal
  127.                 b = 0;
  128.                 contador = 0;
  129.                
  130.                 while ( contador < 3 ) {
  131.                     printf ( "Ingrese numero a comparar:" );
  132.                     scanf ( "%d", &n );
  133.                     system ( "cls" );
  134.                    
  135.                     if ( b == 0 || n > mayor ) {
  136.                         mayor = n;
  137.                         b = 1;
  138.                     }
  139.                    
  140.                     contador = contador + 1;
  141.                 }
  142.                
  143.                 printf ( "El mayor de los numeros ingresados es: %d", mayor );
  144.                
  145.                 if ( mayor % 2 == 0 )
  146.                     printf ( " y es un numero par" );
  147.                 else
  148.                     printf ( " y es un numero impar" );
  149.                    
  150.                 getch();
  151.                 system ( "cls" );
  152.                 break;
  153.                
  154.             case 4:
  155.                 printf ( "Ingrese una letra: " );
  156.                 letra = 0;
  157.                 scanf ( "%c",&letra);     //Aqui es %c y no %d de entero
  158.                
  159.                 if ( letra == 'a' || letra == 'e' || letra == 'i' || letra == 'o' || letra == 'u' || letra == 'A' || letra == 'E' || letra == 'I' || letra == 'O' || letra == 'U' ) {
  160.                     printf ( "La letra %c es una vocal\n", letra );
  161.                 }
  162.                 else  {
  163.                     printf ( "La letra %c no es una vocal\n", letra );
  164.                 }
  165.  
  166.                 getch();
  167.                 system ( "cls" );
  168.                 break;
  169.         }
  170.     }
  171.    
  172.     system ( "pause" );
  173.    
  174.    
  175.     return 0;
  176. }

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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5. int main () {
  6.     int opcion;
  7.     char letraA, letraB, letraC, ENTER = 0;
  8.     printf ( "Escriba: 1abc\n");
  9.     scanf ( "%d", &opcion );
  10.    
  11.     if ( opcion == 1 ) {
  12.         scanf ( "%c", &letraA );
  13.         scanf ( "%c", &letraB );
  14.         scanf ( "%c", &letraC );
  15.         scanf ( "%c", &ENTER );
  16.     }
  17.     opcion=0;
  18.     printf ( "opcion tiene: %d \nletraA tiene: %c \nletraB tiene: %c \nletraC tiene: %c  \nENTER tiene   %d", opcion, letraA, letraB, letraC, ENTER );
  19.     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");
  20.     printf ( "\nPuedes conferir en: http://www.elcodigoascii.com.ar/codigo-americano-estandar-intercambio-informacion/codigo-ascii.gif \n");
  21.     printf ( "\n\nDesea conferir? Si elijes 1 se abrira su navegador con la tabla asc2\n1-si\nOtro numero-no\n");
  22.     scanf  ( "%d%*c", &opcion);
  23.     if(opcion==1){
  24.         system("start \"Internet Explorer.exe\" \"http://www.elcodigoascii.com.ar/codigo-americano-estandar-intercambio-informacion/codigo-ascii.gif\" ");
  25.     }
  26.     else{
  27.         printf("baybay =)");
  28.     }
  29.     printf("Pulse una tecla para salir.");
  30.     system ( "pause>nul" );
  31.  
  32.     return 0;
  33. }