Advertisement
Guest User

Ejercicio_Final_Equidad

a guest
Feb 14th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. int ValidarNumeroEntero(char n[]);
  7. int ValidarLetra(char n[]);
  8.  
  9. char nombre[20], nom1[20], nom2[20], nom3[20], nom4[20], nom5[20];
  10. char prov[20], prov1[20], prov2[20], prov3[20], prov4[20], prov5[20];
  11. char loc[20], loc1[20], loc2[20], loc3[20], loc4[20], loc5[20];
  12. char nomMax[20],provMax[20], valorCero[20], num[20], opcion[5];
  13. int can=0, can1=0, can2=0, can3=0, can4=0, can5=0, validacion=1;
  14. int canMax=0, canSum=0, x=0, i=0, a=0, op=0;
  15. float prom=0;
  16.  
  17. int main(){
  18.     printf("\n");
  19.     system("cls");
  20.     printf("\n************ M E N U ***********\n");
  21.     printf("****                        ****\n");
  22.     printf("**** 1) INGRESAR SOLICITUD  ****\n");
  23.     printf("**** 2) LISTAR ESTADISTICAS ****\n");
  24.     printf("**** 3) RESTABLECER VALORES ****\n");
  25.     printf("**** 4) SALIR               ****\n");
  26.     printf("****                        ****\n");
  27.     printf("************ M E N U ***********\n");
  28.  
  29.     do{
  30.         printf("\n INGRESAR LA OPCION DESEADA (1) (2) (3) o (4) PARA SALIR: ");
  31.         fflush(stdin);
  32.         gets(opcion);
  33.         validacion=ValidarNumeroEntero(opcion);
  34.         if(validacion==1) op=atoi(opcion);
  35.         else printf("\n LA OPCION ES INCORRECTA.\n");
  36.     }while(validacion==0);
  37.  
  38.     do{
  39.         switch(op){
  40.             case 1:
  41.                     system("cls");
  42.                     for(x=0;x<5;x++){
  43.                     system("cls");
  44.  
  45.                     do{
  46.                         printf("\n INGRESAR EL NOMBRE DEL DIARIO o LA REVISTA SOLICITADOS Nro. %d: ",x+1);
  47.                         fflush(stdin);
  48.                         gets(nombre);
  49.                         if(strcmp(nombre,valorCero)<=0){
  50.                             printf("\n EL NOMBRE DEL DIARIO o REVISTA ES VACIO.\n");
  51.                             validacion=0;
  52.                         }
  53.                         else{
  54.                             validacion=ValidarLetra(nombre);
  55.                             if(validacion==0) printf("\n EL NOMBRE DEL DIARIO o REVISTA ES INCORRECTO.\n");
  56.                         }
  57.                     }while(validacion==0);
  58.  
  59.                     do{
  60.                         printf("\n INGRESAR LA PROVINCIA DESTINATARIA Nro. %d: ",x+1);
  61.                         fflush(stdin);
  62.                         gets(prov);
  63.                         if(strcmp(prov,valorCero)<=0){
  64.                             printf("\n EL NOMBRE DE LA PROVINCIA ESTA VACIO.\n");
  65.                             validacion=0;
  66.                         }
  67.                         else{
  68.                             validacion=ValidarLetra(prov);
  69.                             if(validacion==0) printf("\n EL NOMBRE DE LA PROVINCIA ES INCORRECTO.\n");
  70.                         }
  71.                     }while(validacion==0);
  72.  
  73.                     do{
  74.                         printf("\n INGRESAR LA LOCALIDAD FINAL Nro. %d: ",x+1);
  75.                         fflush(stdin);
  76.                         gets(loc);
  77.                         if(strcmp(loc,valorCero)<=0){
  78.                             printf("\n EL NOMBRE DE LA LOCALIDAD ESTA VACIO.\n");
  79.                             validacion=0;
  80.                         }
  81.                         else{
  82.                             validacion=ValidarLetra(loc);
  83.                             if(validacion==0) printf("\n EL NOMBRE DE LA LOCALIDAD ES INCORRECTA.\n");
  84.                         }
  85.                     }while(validacion==0);
  86.  
  87.                     do{
  88.                         printf("\n INGRESAR LA CANTIDAD DE UNIDADES A DESPACHAR Nro. %d:",x+1);
  89.                         fflush(stdin);
  90.                         gets(num);
  91.                         validacion=ValidarNumeroEntero(num);
  92.                         if(validacion==1) can=atoi(num);
  93.                         else printf("\n LA CANTIDAD DE UNIDADES A DESPACHAR ES INCORRECTA.\n ");
  94.                         if(can==0){
  95.                             printf("\n LA CANTIDAD DE UNIDADES NO PUEDE SER CERO.\n ");
  96.                             validacion=0;
  97.                         }
  98.                     }while(validacion==0);
  99.  
  100.                     canSum+=can;
  101.                     i=x+1;
  102.                     a+=1;
  103.                     switch(i){
  104.                     case 1:
  105.                         strcpy(nom1,nombre);
  106.                         strcpy(prov1,prov);
  107.                         strcpy(loc1,loc);
  108.                         can1=can;
  109.                         break;
  110.                     case 2:
  111.                         strcpy(nom2,nombre);
  112.                         strcpy(prov2,prov);
  113.                         strcpy(loc2,loc);
  114.                         can2=can;
  115.                         break;
  116.                     case 3:
  117.                         strcpy(nom3,nombre);
  118.                         strcpy(prov3,prov);
  119.                         strcpy(loc3,loc);
  120.                         can3=can;
  121.                         break;
  122.                     case 4:
  123.                         strcpy(nom4,nombre);
  124.                         strcpy(prov4,prov);
  125.                         strcpy(loc4,loc);
  126.                         can4=can;
  127.                         break;
  128.                     case 5:
  129.                         strcpy(nom5,nombre);
  130.                         strcpy(prov5,prov);
  131.                         strcpy(loc5,loc);
  132.                         can5=can;
  133.                         break;
  134.                     default:
  135.                         printf("\n");
  136.                     }
  137.                 }
  138.                 break;
  139.  
  140.             case 2:
  141.                 system("cls");
  142.                 printf("\n E S T A D I S T I C A S .\n");
  143.                 if(canSum>0){
  144.                     if(can1>canMax){
  145.                         strcpy(nomMax,nom1);
  146.                         strcpy(provMax,prov1);
  147.                         canMax=can1;
  148.                     }
  149.                     if(can2>canMax){
  150.                         strcpy(nomMax,nom2);
  151.                         strcpy(provMax,prov2);
  152.                         canMax=can2;
  153.                     }
  154.                     if(can3>canMax){
  155.                         strcpy(nomMax,nom3);
  156.                         strcpy(provMax,prov3);
  157.                         canMax=can3;
  158.                     }
  159.                     if(can4>canMax){
  160.                         strcpy(nomMax,nom4);
  161.                         strcpy(provMax,prov4);
  162.                         canMax=can4;
  163.                     }
  164.                     if(can5>canMax){
  165.                         strcpy(nomMax,nom5);
  166.                         strcpy(provMax,prov5);
  167.                         canMax=can5;
  168.                     }
  169.                     printf("\n EL ARTICULO MAS DESPACHADO ES: %s con %d UNIDADES \n",nomMax,canMax);
  170.                     printf("\n LISTA DE LOCALIDADES A LAS QUE SE LES ENVIARON ARTICULOS: \n");
  171.                     printf("\n LOCALIDAD DE %s, DE LA PROVINCIA DE %s. ",loc1,prov1);
  172.                     printf("\n LOCALIDAD DE %s, DE LA PROVINCIA DE %s. ",loc2,prov2);
  173.                     printf("\n LOCALIDAD DE %s, DE LA PROVINCIA DE %s. ",loc3,prov3);
  174.                     printf("\n LOCALIDAD DE %s, DE LA PROVINCIA DE %s. ",loc4,prov4);
  175.                     printf("\n LOCALIDAD DE %s, DE LA PROVINCIA DE %s. ",loc5,prov5);
  176.                     prom=canSum/5;
  177.                     printf("\n\n EL PROMEDIO DE UNIDADES DESPACHADAS ES DE: %2.f UNIDADES \n",prom);
  178.                     printf("\n LA PROVINCIA CON MAS UNIDADES RECIBIDAS ES: %s \n",provMax);
  179.                 }else printf("\n NO HAY ESTADISTICAS PARA MOSTRAR. \n\n ");
  180.                 break;
  181.             case 3:
  182.                 strcpy(nombre,valorCero);
  183.                 strcpy(nom1,valorCero);
  184.                 strcpy(nom2,valorCero);
  185.                 strcpy(nom3,valorCero);
  186.                 strcpy(nom4,valorCero);
  187.                 strcpy(nom5,valorCero);
  188.                 strcpy(prov,valorCero);
  189.                 strcpy(prov1,valorCero);
  190.                 strcpy(prov2,valorCero);
  191.                 strcpy(prov3,valorCero);
  192.                 strcpy(prov4,valorCero);
  193.                 strcpy(prov5,valorCero);
  194.                 strcpy(loc,valorCero);
  195.                 strcpy(loc1,valorCero);
  196.                 strcpy(loc2,valorCero);
  197.                 strcpy(loc3,valorCero);
  198.                 strcpy(loc4,valorCero);
  199.                 strcpy(loc5,valorCero);
  200.                 strcpy(nomMax,valorCero);
  201.                 strcpy(provMax,valorCero);
  202.                 strcpy(num,valorCero);
  203.                 validacion=1;
  204.                 can=0;
  205.                 can1=0;
  206.                 can2=0;
  207.                 can3=0;
  208.                 can4=0;
  209.                 can5=0;
  210.                 canMax=0;
  211.                 canSum=0;
  212.                 x=0;
  213.                 op=0;
  214.                 i=0;
  215.                 a=0;
  216.                 prom=0;
  217.                 system("cls");
  218.                 printf("\n LOS VALORES FUERON RE-ESTABLECIDOS AL INICIO. \n");
  219.                 printf("\n SI DESEA PUEDE VOLVER A OPERAR!! \n\n ");
  220.                 break;
  221.             case 4:
  222.                 if(a<1){
  223.                     system("cls");
  224.                     printf("\n USTED NO HA EFECTUADO NIGUNA CARGA EN PROGRAMA.\n");
  225.                     printf("\n\n PARA REALIZAR LA CARGA MARQUE (1) o (0) PARA SALIR: ");
  226.                     scanf("%d",&a);
  227.                     if(a==1){
  228.                         a=0;
  229.                         break;
  230.                     }else exit(0);
  231.                 }
  232.                 break;
  233.             default:
  234.                 printf("\n");
  235.                 printf("\n LA OPCION SELECCIONADA ES INCORRECTA.\n\n ");
  236.         }
  237.         system("pause");
  238.         printf("\n");
  239.         system("cls");
  240.         printf("\n************ M E N U ***********\n");
  241.         printf("****                        ****\n");
  242.         printf("**** 1) INGRESAR SOLICITUD  ****\n");
  243.         printf("**** 2) LISTAR ESTADISTICAS ****\n");
  244.         printf("**** 3) RESTABLECER VALORES ****\n");
  245.         printf("**** 4) SALIR               ****\n");
  246.         printf("****                        ****\n");
  247.         printf("********************************\n");
  248.  
  249.         do{
  250.             printf("\n INGRESAR LA OPCION DESEADA (1) (2) (3) o (4) PARA SALIR: ");
  251.             fflush(stdin);
  252.             gets(opcion);
  253.             validacion=ValidarNumeroEntero(opcion);
  254.             if(validacion==1) op=atoi(opcion);
  255.             else printf("\n LA OPCION ES INCORRECTA.\n");
  256.         }while(validacion==0);
  257.  
  258.     }while(op!=4);
  259.     system("cls");
  260.     printf("\n GRACIAS POR USAR ESTE PROGRAMA. ADIOS!!\n\n ");
  261.     return 0;
  262. }
  263.  
  264. int ValidarNumeroEntero(char n[]){
  265.     int i, resultado=1, signo=0, numero=0, decimal=0;
  266.     for(i=0;i<strlen(n);i++){
  267.         if(i==0 && n[i]==45) signo++;
  268.         else if(n[i]==46) decimal++;
  269.         else if(isdigit(n[i])==0){
  270.             resultado=0;
  271.             break;
  272.         }else numero++;
  273.     }
  274.     if(numero<1 || signo>0 || decimal>0) resultado=0;
  275.     return resultado;
  276. }
  277.  
  278. int ValidarLetra(char n[]){
  279.     int i, resultado=1, letra=0, espacio=0;
  280.     for(i=0;i<strlen(n);i++){
  281.         if(n[i]==32) espacio++;
  282.         else if(isalpha(n[i])==0){
  283.             resultado=0;
  284.             break;
  285.         }else letra++;
  286.     }
  287.     if(letra==0&&espacio>1) resultado=0;
  288.     return resultado;
  289. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement