Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.37 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. //#include <time.h>
  4.  
  5. int main() {
  6.     int c1 = 0, opcion, ano_carro;
  7.     float coRen, delta, km1, km2, lts;
  8.     char fecha, mat = '\0', ngas[30], res, salir, tcomb, modelo[15] ;
  9.    
  10.         do
  11.     {
  12.         printf ( "\n Bienvenido  programa de registro y cálculo de Coeficiente de Rendimiento \n  \n");
  13.     printf ("****************Menu de inicio*******************\n");
  14.     printf (" ********************* 1.- Registrar auto **************\n");
  15.     printf (" ********************* 2.- Registrar carga de gasolina **********\n");
  16.     printf (" ********************* 3.- Consultar rendimiento (a partir de segunda recarga)**************\n");
  17.     printf (" ********************* 4.- Salir**************\n");
  18.     printf (" ********************* Elige una opcion **************\n",164);
  19.     scanf("%d", &opcion);  
  20.         switch(opcion)
  21.         {
  22.             case 1:
  23.             printf("\nBienvenido a la app Registro de Eficiencia de Gasolineras \n");
  24.             printf("\nVamos a registrar una recarga y los valores requeridos \n");
  25.             // Confirmar la existencia de una matrícula previa.
  26.           // esta fución servirá cuando se puedan ingresar más de una matricula.
  27.              do {
  28.                  printf("\n¿Ha registrado su vehículo previamente? [s/n] : ");
  29.                 scanf("%s", &res);
  30.                    if (res == 's') {
  31.                        printf("La matricula es: %s", &mat);
  32.                        printf("(No hay vehículos registrados)");
  33.                  } else {
  34.                         if (res == 'n') {
  35.                             do {
  36.                                  printf("\nIngrese la matrícula de su vehí­culo: ");
  37.                                  scanf("%s", &mat);
  38.                                  printf("\n¿Es %s correcto? [s/n]", &mat);
  39.                                  scanf("%s", &res);
  40.                             } while (res == 'n');
  41.                                  printf("\nIngrese modelo del auto: ");
  42.                                  scanf("%s", &modelo);
  43.                                  printf("\nIngrese el anio del auto: ");
  44.                                  scanf("%d", &ano_carro);
  45.                           }  
  46.                      else {
  47.                         printf("\nSolo se aceptan valores s o n.");
  48.                   }
  49.                }
  50.             } while (mat == '\0');
  51.             break;
  52.    
  53.     //captura de datos
  54. //    c1++;
  55.         case 2:
  56.     c1++;
  57.             printf("\nNumero de matrícula del auto: ");
  58.             scanf ("%s", &mat);
  59.             printf("\nEsta es la carga de gasolina: ");
  60.             printf("#%d", c1);
  61.              printf("\nIngresa el nombre de la gasolineria: ");
  62.              fgets(ngas, 30, stdin); // permite que la cadena pueda contener espacios
  63.             scanf("%[^\n]%*c", &ngas);
  64.             do {
  65.                                     printf("\nIngrese su kilometraje inicial (únicamente números): ");
  66.                                      scanf("%f", &km2);
  67.                                        if (km2 <= 0)
  68.                                           printf("No es un valor válido, intente de nuevo.");
  69.                  }    while (km2 <= 0);
  70.                                  
  71.             do {
  72.                 printf("\nIngrese los litros cargados (Únicamente números):  ");
  73.                 scanf("%f", &lts);
  74.                 if (lts <= 0) {
  75.                  printf("\nValor inválido, debe ser mayor que 0 ");
  76.                 }
  77.                 } while (lts <= 0);
  78.  
  79.  
  80.     // seria genial tomar la hora desde el sistema y guardarla-
  81.     //tal vez en el futuro
  82.     printf("\nLa fecha de recarga es: (dd.mm.aa)");
  83.     // fgets (fecha, 10, stdin); // permite que la cadena pueda contener espacios
  84.     // scanf("%[^\n]%*c", &fecha);
  85.     scanf("%s", &fecha);
  86.      printf("\nTipo de combustible: Magna, premium o Diesel");
  87.      scanf("%s", &tcomb);
  88.  
  89.    
  90.     //Registro concluido de carga
  91.     printf("\nHemos concluido el registro, puede continuar sus actividades.");
  92.     printf("\nLe informaremos del rendimiento en la proxima recarga\n" );
  93.      
  94.  
  95.         break;
  96.    
  97.         case 3: /*
  98.              
  99.              do {
  100.         printf("\n¿Desea realizar el registro de la siguiente recarga? [s/n] ");
  101.         scanf("%s", &res);
  102.         if (res == 's') {
  103.             printf("\n¿Cual es su kilometraje actual?");
  104.             scanf("%d", &km2);
  105.             if (km2 <= km1)
  106.                 do {
  107.                     printf("\nPor favor revise el valor ingresado,este no puede ser menor que el anterior: %d km", km1);
  108.                     scanf("%d", &km2);
  109.                 } while (km1 > km2);
  110.  
  111.             delta = (km2 - km1);
  112.             coRen = (delta / lts);
  113.             //km1=0
  114.             printf("\nLa carga # %i de %d lts en la gasolinera, %s, el día %s", c1, lts, ngas, fecha);
  115.             printf("\nViajó %f kms cargando combustible %s", delta, tcomb);
  116.             printf("\nSu Factor de Rendimiento es de:  %d  (mientras más alto mejor)" , coRen);
  117.         } else {
  118.             if (res == 'n') {
  119.                 if (c1 < 2) {
  120.                     printf("\nNecesita hacer al menos una recarga de combustible");
  121.                     printf("\nContinuamos...");
  122.                 } else
  123.                     if (c1 > 2 && res == 'n') {
  124.                     printf("\n¿Desea salir del programa? [s/n]");
  125.                     scanf("%s", salir);
  126.                 }
  127.             }
  128.         }
  129.         //este while es el fin del ciclo no comentar.
  130.     } while (salir == 'n');
  131.  
  132.  
  133.              break;*/ // ESTO SE PUEDE QUEDAR EN CONSTRUCCION Y EMPEZARLO A HACER EN LA UNIDAD 5........
  134.     // Operaciones que cierran el ciclo
  135.    
  136.  
  137. case 4:
  138.         break;
  139.         default:
  140.        
  141.             printf("\n Opcion no valida\n");
  142. }
  143.    
  144.    
  145. }while(opcion!=4);
  146.     return 0;        
  147.    
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement