Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Pablo Soto
- //18785007-K
- //Roberto Muñoz
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- //Declaracion de librerias
- typedef struct{ //Se declara la estructura
- int oro;
- int plata;
- char nombrep[30];
- int bronce;
- int pos;
- }pais;
- void aumentarmed(pais A[]); //Parametro de funcion
- int main(){
- FILE *ar; //Se declara el archivo
- pais pa[25]; //Arreglo de tipo estructura
- int i,opc,x=0;
- while(x!=1){ //Se ejecuta el menu hasta que el usuario ingrese la opcion 4
- printf("\nIngrese una de las opciones: \n1)Mostrar datos del archivo \n2)Aumentar medallero \n3) \n4)Salir \n");
- scanf("%d",&opc);
- switch(opc){
- case 1: if((ar=fopen("medallero2015.txt","r"))!=NULL){ //Abrimos el archivo medallero2015.txt para lectura
- while(!feof(ar)){
- for(i=1;i<25;i++){
- fscanf(ar,"%s %d %d %d\n",pa[i].nombrep,pa[i].oro,pa[i].plata,pa[i].bronce);
- //Leemos los datos del archivo para luego mostrarlos
- }
- }
- for(i=1;i<25;i++){
- printf("----------------\n");
- printf("\nPais: %s",pa[i].nombrep);
- printf("\nOro: %d",pa[i].oro);
- printf("\nPlata: %d",pa[i].plata);
- printf("\nBronce: %d",pa[i].bronce);
- //Se muestran los datos de los paises en pantalla
- }
- }
- else{
- printf("\nError al abrir el archivo");
- fclose(ar);
- }
- break;
- case 2: aumentarmed(pa); //Se llama a la funcion que aumenta las medallas
- break;
- case 3:
- break;
- case 4: x=1; //Al seleccionar esta opcion se cierra el menu
- break;
- default: printf("\nDebe ingresar un numero del 1 al 6");
- //Se muestra esto en pantalla cuando se ingresa una opcion que no corresponde
- break;
- }
- }
- return 0;
- }
- void aumentarmed(pais A[]){ //Se inicializa la funcion aumentarmed
- int nplata=0,noro=0,i,y=0,med,nbronce=0;
- char epais[30]; //Se declara una cadena de caracteres para el ingreso del pais
- printf("\nIngrese el nombre del pais en el cual desea aumentar su medallero: ");
- scanf("%s",epais); //Se ingresa el nombre del pais para cambiar el medallero
- for(i=0;i<25;i++){ //Se emplean los 25 paises para comparar los paises
- if(strcmp(epais,A[i].nombrep)==0){ //Se compara el pais ingresado con el que se desea modificar
- while(y!=1){ //Se emplea el menu
- printf("\nIngrese el tipo de medalla que desea aumentar: \n1)Oro \n2)Plata \n3)Bronce \n");
- scanf("%d",&med); //Se lee la medalla que desea aumentar, para luego elegirla en el menu
- switch(med){
- case 1: printf("\nIngrese la cantidad de medallas de oro a aumentar: ");
- scanf("%d",&noro); //Se ingresa la cantidad a aumentar y se suma a las ya almacenadas
- A[i].oro=A[i].oro+noro;
- break;
- case 2: printf("\nIngrese la cantidad de medallas de plata a aumentar: ");
- scanf("%d",&nplata);
- A[i].plata=A[i].plata+nplata;
- break;
- case 3: printf("\nIngrese la cantidad de medallas de bronce a aumentar: ");
- scanf("%d",&nbronce);
- A[i].bronce=A[i].bronce+nbronce;
- case 4: y=1;
- break;
- default: printf("\nError en el ingreso de datos");
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement