Advertisement
pablosotol

Untitled

Jul 22nd, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.95 KB | None | 0 0
  1. //Pablo Soto
  2. //18785007-K
  3. //Roberto Muñoz
  4.  
  5. #include<stdio.h>
  6. #include<stdlib.h>
  7. #include<string.h>
  8. //Declaracion de librerias
  9. typedef struct{ //Se declara la estructura
  10.         int oro;
  11.         int plata;
  12.         char nombrep[30];
  13.         int bronce;
  14.         int pos;
  15.        
  16. }pais;
  17.  
  18.  
  19. void aumentarmed(pais A[]); //Parametro de funcion
  20.  
  21. int main(){
  22.     FILE *ar; //Se declara el archivo
  23.     pais pa[25]; //Arreglo de tipo estructura
  24.     int i,opc,x=0;
  25.     while(x!=1){ //Se ejecuta el menu hasta que el usuario ingrese la opcion 4
  26.           printf("\nIngrese una de las opciones: \n1)Mostrar datos del archivo \n2)Aumentar medallero \n3) \n4)Salir \n");
  27.           scanf("%d",&opc);
  28.           switch(opc){
  29.           case 1: if((ar=fopen("medallero2015.txt","r"))!=NULL){ //Abrimos el archivo medallero2015.txt para lectura
  30.                       while(!feof(ar)){
  31.                             for(i=1;i<25;i++){
  32.                             fscanf(ar,"%s %d %d %d\n",pa[i].nombrep,pa[i].oro,pa[i].plata,pa[i].bronce);  
  33.                             //Leemos los datos del archivo para luego mostrarlos
  34.                             }
  35.                             }
  36.                              for(i=1;i<25;i++){
  37.                                  printf("----------------\n");
  38.                                  printf("\nPais: %s",pa[i].nombrep);
  39.                                  printf("\nOro: %d",pa[i].oro);
  40.                                  printf("\nPlata: %d",pa[i].plata);
  41.                                  printf("\nBronce: %d",pa[i].bronce);
  42.                                  //Se muestran los datos de los paises en pantalla
  43.         }
  44.         }
  45.         else{
  46.              printf("\nError al abrir el archivo");
  47.              fclose(ar);
  48.           }
  49.           break;
  50.           case 2: aumentarmed(pa); //Se llama a la funcion que aumenta las medallas
  51.           break;
  52.           case 3:
  53.           break;
  54.           case 4: x=1; //Al seleccionar esta opcion se cierra el menu
  55.           break;
  56.           default: printf("\nDebe ingresar un numero del 1 al 6");
  57.           //Se muestra esto en pantalla cuando se ingresa una opcion que no corresponde
  58.           break;
  59.           }
  60.           }
  61.           return 0;
  62. }
  63.  
  64. void aumentarmed(pais A[]){ //Se inicializa la funcion aumentarmed
  65.      int nplata=0,noro=0,i,y=0,med,nbronce=0;
  66.      char epais[30]; //Se declara una cadena de caracteres para el ingreso del pais
  67.      printf("\nIngrese el nombre del pais en el cual desea aumentar su medallero: ");
  68.      scanf("%s",epais); //Se ingresa el nombre del pais para cambiar el medallero
  69.      for(i=0;i<25;i++){ //Se emplean los 25 paises para comparar los paises
  70.          if(strcmp(epais,A[i].nombrep)==0){ //Se compara el pais ingresado con el que se desea modificar
  71.             while(y!=1){ //Se emplea el menu
  72.             printf("\nIngrese el tipo de medalla que desea aumentar: \n1)Oro \n2)Plata \n3)Bronce \n");
  73.             scanf("%d",&med); //Se lee la medalla que desea aumentar, para luego elegirla en el menu
  74.                   switch(med){
  75.                   case 1: printf("\nIngrese la cantidad de medallas de oro a aumentar: ");
  76.                           scanf("%d",&noro); //Se ingresa la cantidad a aumentar y se suma a las ya almacenadas
  77.                           A[i].oro=A[i].oro+noro;
  78.                   break;
  79.                   case 2: printf("\nIngrese la cantidad de medallas de plata a aumentar: ");
  80.                           scanf("%d",&nplata);
  81.                           A[i].plata=A[i].plata+nplata;
  82.                   break;
  83.                   case 3: printf("\nIngrese la cantidad de medallas de bronce a aumentar: ");
  84.                           scanf("%d",&nbronce);
  85.                           A[i].bronce=A[i].bronce+nbronce;
  86.                   case 4: y=1;
  87.                   break;
  88.                   default: printf("\nError en el ingreso de datos");
  89.                   break;
  90.             }
  91.             }
  92.             }
  93.             }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement