Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2014, 10:37
TriN
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Salir de una funcion con la tecla ESC

Buenas tardes distinguida comunida de forosweb, vuelvo por aqui de nuevo a pedir de su ayuda, xd tengo una duda estoy haciendo un programa de registros de inventario, y quiisiera que cuando se presionara la tecla ESC la funcion retornara al main, tengo una idea de como hacerlo, me imagino que deberia crear una funcion y x cada dato que pida enviar ese argumento a la funcion no? o como lo harian uds? Gracias de antemano dejo la función que deseo que haga lo antes mencionado.

Código C:
Ver original
  1. puts("Numero del PC que desea agregar");
  2.     scanf("%s",&ctemp);
  3.    
  4.         if(atoi(ctemp)==0)
  5.         {
  6.         puts("Debe colocar solo numeros en el registro");
  7.         getch();
  8.         fclose(arc);
  9.         return 1;
  10.         }
  11.    
  12.     ntemp=atoi(ctemp);
  13.    
  14.                 if( (ntemp<1) || (ntemp>100))
  15.                 {
  16.                 puts("El numero de registro debe estar del 1 al 100");
  17.                 getch();
  18.                 system("cls");
  19.                 fclose(arc);
  20.                 return 1;
  21.                 }
  22.        
  23.        
  24.     fseek(arc,0,SEEK_END);
  25.     if(ftell(arc)!=0)
  26.     {
  27.         fclose(arc);
  28.         arc=fopen("lista.dat","rb");
  29.             if(arc==NULL)
  30.             {
  31.             puts("Error");
  32.             getch();
  33.             return 1;
  34.             }
  35.    
  36.         fread(&dat,sizeof(datos),1,arc);
  37.         while(!feof(arc))
  38.         {
  39.                 if(dat.n==ntemp)
  40.                 {
  41.                 puts("No  se pueden repetir los elementos del registro");
  42.                 getch();
  43.                 fclose(arc);
  44.                 return 1;
  45.                 }
  46.             fread(&dat,sizeof(datos),1,arc);
  47.         }
  48.    
  49.     }
  50.         fclose(arc);
  51.            
  52.     arc=fopen("lista.dat","ab");
  53.     if(arc==NULL)
  54.     {
  55.     puts("Error al abrir fichero");
  56.     exit(1);
  57.     }  
  58.  
  59.     dat.n=ntemp;
  60.  
  61.     puts("Marca ");
  62.     fflush(stdin);
  63.     fgets(dat.marca,20,stdin);
  64.         puts("Modelo");
  65.             fflush(stdin);
  66.     fgets(dat.modelo,20,stdin);
  67.         puts("Serial del case");
  68.         fflush(stdin);
  69.     fgets(dat.cas,20,stdin);
  70.         puts("Modelo del Procesador");
  71.         fflush(stdin);
  72.     fgets(dat.proc,20,stdin);
  73.         puts("Marca del procesador");
  74.         fflush(stdin);
  75.     fgets(dat.mproc,20,stdin);
  76.         puts("Velocidad del procesador");
  77.             fflush(stdin);
  78.     fgets(dat.vproc,20,stdin);
  79.         puts("Serial del monitor");
  80.                 fflush(stdin);
  81.     fgets(dat.mon,20,stdin);
  82.     puts("Serial del teclado");
  83.         fflush(stdin);
  84.     fgets(dat.tecl,20,stdin);
  85.         puts("Serial del mouse");
  86.                 fflush(stdin);
  87.     fgets(dat.mou,20,stdin);
  88.     puts("Serial del camara");
  89.             fflush(stdin);
  90.     fgets(dat.cam,20,stdin);
  91. puts("Serial del regleta");
  92.     fflush(stdin);
  93.     fgets(dat.reg,20,stdin);
  94.     puts("Serial de las cornetas");
  95.         fflush(stdin);
  96.     fgets(dat.cor,20,stdin);
  97.  
  98.         puts("Capacidad del memoria ram del equipo");
  99.         fflush(stdin);
  100.     fgets(dat.ram,20,stdin);
  101.     puts("Capacidad del disco duro del equipo");
  102.         fflush(stdin);
  103.     fgets(dat.discoduro,20,stdin);
  104.     system("cls");
  105.     puts("Especificaciones a nivel de red");
  106.     getch();
  107.         puts("Direccion ip del equipo");
  108.         fflush(stdin);
  109.     fgets(dat.ip,20,stdin);
  110.         puts("Direccion de la mascara subred del equipo");
  111.         fflush(stdin);
  112.     fgets(dat.subred,20,stdin);
  113.     system("cls");
  114.     puts("Especificaciones a nivel de software");
  115.     getch();
  116.         puts("Nombre del sistema operativo");
  117.         fflush(stdin);
  118.     fgets(dat.nso,20,stdin);
  119.         puts("Version del sistema operativo");
  120.             fflush(stdin);
  121.     fgets(dat.vso,20,stdin);
  122.         puts("Tipo del sistema operativo ");
  123.         fflush(stdin);
  124.     fgets(dat.tso,20,stdin);
  125.             puts("Licencia del sistema operativo ");
  126.     fflush(stdin);
  127.     fgets(dat.lso,20,stdin);
  128.         puts("Tamano en el disco duro del sistema operativo ");
  129.         fflush(stdin);
  130.     fgets(dat.discoso,20,stdin);
  131.         puts("Requirimiento de memoria ram del sistema operativo ");
  132.         fflush(stdin);
  133.     fgets(dat.soram,20,stdin);
  134.    
  135.         system("cls");
  136.     puts("Especificaciones a nivel de ofimatica");
  137.     getch();
  138.         puts("Nombre del paquete ofimatico");
  139.         fflush(stdin);
  140.     fgets(dat.nof,20,stdin);
  141.         puts("Version del paquete ofimatico ");
  142.         fflush(stdin);
  143.     fgets(dat.vof,20,stdin);
  144.         puts("Tipo del paquete ofimatico");
  145.             fflush(stdin);
  146.     fgets(dat.tof,20,stdin);
  147.         puts("Licencia del paquete ofimatico");
  148.     fflush(stdin);
  149.     fgets(dat.lof,20,stdin);
  150.         puts("Tamano en el disco duro para el paquete ofimatico ");
  151.     fflush(stdin);
  152.     fgets(dat.cof,20,stdin);
  153.         puts("Requirimiento de memoria ram del paquete ofimatico ");
  154.         fflush(stdin);
  155.     fgets(dat.rram,20,stdin);
  156.     system("cls");
  157.    
  158.    
  159.    
  160.    
  161.         printf("Esta seguro de agregar esta PC al registro?");
  162.         puts("1.- SI    2.-NO");
  163.         scanf("%d",&r);
  164.             if(r==1)
  165.             {
  166.             fwrite(&dat,sizeof(datos),1,arc);
  167.             }