• Jueves 2 de Mayo de 2024, 00:42

Autor Tema:  Validar enteros en C  (Leído 4142 veces)

koteska1919

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Validar enteros en C
« en: Domingo 19 de Octubre de 2008, 02:54 »
0
Nesecito saber como el usuario no entregue un char..pero ke diga " error intentelo de neuvo".. y me tire al menu nuevamente..ªª
PORFAVORR
Código: Text
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4.  
  5.  
  6.  
  7. void menu_principal(){                            /* menu de inicio! */
  8.      int opc;
  9. do {
  10.     printf("n1.- Gestion del edificion");
  11.     printf("n2.- Emergencian");
  12.     printf("n3.- Salirnn");
  13.     printf("ingrese su opcion :");
  14.     scanf("%d",&opc);
  15.     if((opc != (char)opc)||(opc!=1))
  16.     {
  17.                                 printf("nValor Ingresado Invalidon");
  18.                                 system("cls");
  19.                                 system ("pause");
  20.                              
  21.                                
  22.  
  23.        }
  24.              if(opc==1){
  25.                      system("cls");          
  26.                      menu_gestion();
  27.                      system("pause");
  28.                      system("cls");
  29.    
  30.     }
  31.        if(opc==2){
  32.                      system("cls");          
  33.                      menu_emergencia();
  34.                      system("pause");
  35.                      system("cls");
  36.        }
  37.        
  38.  
  39. }while(opc!=3);
  40. }
  41.     int menu_gestion()                               /*FUNCION DE RETORNO A LA OPCION 1 DEL MENU PRINCIPAL*/
  42.     {
  43.         int opc2;
  44.         do{
  45.            
  46.             printf("n1.- Ingresar cliente nuevon");
  47.             printf("n2.- Buscar clienten");
  48.             printf("n3.- Estado del edificion");
  49.             printf("n4.- Modificar IDn");
  50.             printf("n5.- Volvernn");
  51.             printf("Ingrese su opcion: ");
  52.             scanf("%d",opc2);
  53.              if(opc2==1)
  54.              {
  55.                           system("cls");          
  56.                           printf("dsds");
  57.                          
  58.                           system("cls");
  59.    
  60.               }
  61.                if(opc2==2)
  62.                {
  63.                                      
  64.                            buscar_cliente();
  65.                          
  66.                            
  67.                }
  68.              
  69.                
  70.  
  71.         }while(opc2==5);
  72.      }
  73.  
  74.  
  75.  
  76. int buscar_cliente()
  77.   {
  78.       int q;
  79.            
  80.               printf("Ingrese ID del Cliente: n");
  81.               scanf("%d",&q);
  82.              
  83.               system("pause");
  84.              
  85.               }
  86.              
  87.                 int menu_emergencia()
  88.   {
  89.       int opc3;
  90.        do
  91.        {
  92.                         system("cls");
  93.                         printf("n1.- Abrirn");
  94.                         printf("n2.- Cerrarn");
  95.                         printf("n3.- Volvern");
  96.                         printf("n4.- Salirnn");
  97.                         printf("Ingrese su opcion: ");
  98.                         scanf("%d",&opc3);
  99.                        
  100.        }while(opc3==4);
  101.   }    
  102.  
  103.                      
  104.                        
  105.  
  106.    
  107.    
  108. main(){
  109.        
  110.        menu_principal();
  111.        
  112.  }
  113.  
  114.  
  115.  


aka ai algo de lo ke llevo... pliss

EL_UNI

  • Nuevo Miembro
  • *
  • Mensajes: 19
  • Nacionalidad: es
    • Ver Perfil
Re: Validar enteros en C
« Respuesta #1 en: Domingo 19 de Octubre de 2008, 16:25 »
0
Pues es muy sencillo.

Simplemente tienes que hacer un do{}while(); así: (supongo que es para el primer menu)

Código: C
  1.  
  2. void menu_principal(){
  3.  
  4. int opc = 2; //Un número que este entre los validos.
  5.  
  6. do{
  7.       system("cls");
  8.       if((opc<1)||(opc>4)){
  9.                printf("Valor incorrecto, introduzcalo de nuevo");
  10.       }
  11.       printf("nMenu:n");
  12.       printf("n1.- Gestion del edificion");
  13.       printf("n2.- Emergencian");
  14.       printf("n3.- Salirnn");
  15.       printf("ingrese su opcion :");
  16.       scanf("%d",&opc);
  17. }while((opc<1)||(opc>3));
  18.  
  19.  

system("cls"); sirve para limpiar la pantalla de la cmd de windows, para linux se usa system("clear");

recomiendo hacer una función para obtener la opción y operar con ella en el main. Espero que te sirva.
Programar es dejar fluir tu imaginación ^^ - EL_UNI

Rombus

  • Miembro MUY activo
  • ***
  • Mensajes: 105
  • Nacionalidad: ar
    • Ver Perfil
    • http://myspace.com/punkrecycle
Re: Validar enteros en C
« Respuesta #2 en: Domingo 19 de Octubre de 2008, 19:33 »
0
hey! el_uni

hacer un system("clear") (en linux) equivaldria a hacer un clrscr(); en borland ?

EL_UNI

  • Nuevo Miembro
  • *
  • Mensajes: 19
  • Nacionalidad: es
    • Ver Perfil
Re: Validar enteros en C
« Respuesta #3 en: Domingo 19 de Octubre de 2008, 19:37 »
0
Estoy casi seguro que si, nunca he usado borland.
Si clrscr(); borra lo que se ve en la consola, sip.
Programar es dejar fluir tu imaginación ^^ - EL_UNI