Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.54 KB | None | 0 0
  1. /*
  2.  * File:   main.cpp
  3.  * Author: alulab14
  4.  *
  5.  * Created on 31 de marzo de 2015, 08:04 PM
  6.  */
  7.  
  8. #include <cstdlib>
  9. #include <cstdio>
  10.  
  11. int sacaPalabra() {
  12.     char c;
  13.     int longitud = 0, espaciosBlanco;
  14.     scanf("%d", &espaciosBlanco); //limpia los espacios iniciales
  15.     c = getchar();
  16.     while (c != ' ' && c != '\t' && c != '\n' && c != '(' && c != ')') {
  17.         putchar(c);
  18.         c = getchar();
  19.         longitud++;
  20.     }
  21.     if (c == '\n' || c == '(' || c == ')') longitud = -1;
  22.     putchar(' ');
  23.     return longitud;
  24. }
  25.  
  26. void llenaEspaciosBlancos(int longitudCadena, int longitudMaxima) {
  27.     int i;
  28.     for (i = 0; i < longitudMaxima - longitudCadena; i++)
  29.         printf(" ");
  30. }
  31.  
  32. int main(int argc, char** argv) {
  33.     int resp, nCampeonatos, nCopas, nRankig, longitudCadena, primeraVez = 1, dNac, mNac, aNac, golesAnotados;
  34.     int partidosJugados, dUlt, mUlt, aUlt, numeroCamiseta, primeraVez2 = 1, resp1, longTotalNombre;
  35.     int dAntNac, mAntNac, aAntNac, golesAntAnotados, partidosAntJugados, dAntUlt, mAntUlt, aAntUlt;
  36.     while (1) {
  37.         resp = scanf("%d %d %d", &nCampeonatos, &nCopas, &nRankig);
  38.         if (resp == 3) {
  39.             // si es igual a 3 saco el continente
  40.             printf("\nContinente: ");
  41.             while (1) {
  42.                 longitudCadena = sacaPalabra();
  43.                 if (longitudCadena == -1) break;
  44.             }
  45.             printf("\nParticipaciones en los mundiales: %d", nCampeonatos);
  46.             printf("\nCopas Ganadas: %d", nCopas);
  47.             printf("\nRanking: %d\n", nRankig);
  48.             printf("=========================================================================================================\n");
  49.             //Procedemos a leer el nombre del entrenador y su nacionalidad
  50.             //Para Entrenador
  51.             printf("Entrenador: ");
  52.             while (1) {
  53.                 longitudCadena = sacaPalabra();
  54.                 if (longitudCadena == -1) break;
  55.             }
  56.             //Para Entrenador
  57.             printf("\t\tNacionalidad: ");
  58.             while (1) {
  59.                 longitudCadena = sacaPalabra();
  60.                 if (longitudCadena == -1) break;
  61.             }
  62.             printf("\n=========================================================================================================\n");
  63.             //Los jugadores
  64.             printf("Equipo: \n");
  65.             printf("Puesto\t        Nombre\t\t\tNo.\tNacimiento\tGoles\tPartidos\tUltimo Partido\n");
  66.             printf("---------------------------------------------------------------------------------------------------------\n");
  67.             //voy a leer el numero que contiene los datos del jugador
  68.             resp = scanf("%2d%2d%4d%2d%3d%2d%2d%4d", &dNac, &mNac, &aNac, &golesAnotados, &partidosJugados, &dUlt, &mUlt, &aUlt);
  69.             while (1) {
  70.                 dAntNac = dNac;
  71.                 mAntNac = mNac;
  72.                 aAntNac = aNac;
  73.                 golesAntAnotados = golesAnotados;
  74.                 partidosAntJugados = partidosJugados;
  75.                 dAntUlt = dUlt;
  76.                 mAntUlt = mUlt;
  77.                 aAntUlt = aUlt;
  78.                 longTotalNombre = 0;
  79.                 if (resp == 8) {
  80.                     //Saco los datos del jugador, el puesto del jugador            
  81.                     longitudCadena = sacaPalabra();
  82.                     llenaEspaciosBlancos(longitudCadena, 15);
  83.                     resp1 = scanf("%d", &numeroCamiseta);
  84.                     //Saco el nombre del jugado
  85.                     while (1) {
  86.                         longitudCadena = sacaPalabra();
  87.                         longTotalNombre = longTotalNombre + longitudCadena + 1; //
  88.                         resp = scanf("%2d%2d%4d%2d%3d%2d%2d%4d", &dNac, &mNac, &aNac, &golesAnotados, &partidosJugados, &dUlt, &mUlt, &aUlt);
  89.                         if (resp == 8) { //Hay nuevos datos de un nuevo jugador
  90.                             llenaEspaciosBlancos(longTotalNombre, 25);
  91.                             printf("%2d", numeroCamiseta);
  92.                             printf("\t%02d/%02d/%04d\t%5d\t%7d\t\t%02d/%02d/%04d", dAntNac, mAntNac, aAntNac, golesAntAnotados, partidosAntJugados, dAntUlt, mAntUlt, aAntUlt);
  93.                             printf("\n");
  94.                             break;
  95.                         }
  96.                         if (longitudCadena == -1) { //El ultimo jugador que esta con cambio de linea
  97.                             llenaEspaciosBlancos(longTotalNombre, 20);
  98.                             printf("%2d", numeroCamiseta);
  99.                             printf("\t%02d/%02d/%04d\t%5d\t%7d\t\t%02d/%02d/%04d", dNac, mNac, aNac, golesAnotados, partidosJugados, dUlt, mUlt, aUlt);
  100.                             printf("\n");
  101.                             break; //cambio de linea
  102.                         }
  103.                     }
  104.                 }
  105.                 if (longitudCadena == -1) break; //es xq ya esta leyendo otra cosa
  106.             }
  107.             primeraVez = 1; //Vuelvo a inicializar la primera vez del encabezado para la impresion del prox equipo
  108.         } else if (resp == EOF) break;
  109.         else if (resp == 0) {
  110.             //no leyó &ncampeonatos, &ncopas,&nrankig y saca nombre del pais
  111.             if (primeraVez == 1) {
  112.                 printf("=========================================================================================================\n");
  113.                 printf("Pais : ");
  114.                 primeraVez = 0;
  115.             }
  116.             longitudCadena = sacaPalabra();
  117.             //printf ("%d", longitudCadena);
  118.         }
  119.     }
  120.     return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement