Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: Pregunta 5, Laboratorio 1, 2014-2
- * Author: Fernando Alva Manchego
- *
- */
- #include <cstdio>
- using namespace std;
- #define MAX_PUESTO 15
- #define MAX_NOMBRE 30
- char pasarPalabra(int *cant){
- char c;
- while ((c = getchar()) == ' ');
- if (c == '(' || c == ')') return c;
- do{
- putchar(c);
- (*cant)++;
- c = getchar();
- } while(c!= ' ' && c!='\t' && c!='\n' && c!= ')' && c!=EOF);
- return c;
- }
- void completarTexto(int num){
- while (num > 0){
- putchar(' ');
- num--;
- }
- }
- int main(int argc, char** argv) {
- int camiseta, dia, diaAnt, mes, anho, goles, partidos, diaUlt, mesUlt, anhoUlt;
- int campeonatos, copas, ranking; bool primero; int cant;
- char c; int cantLeidos = 0;
- // Mientras existan equipos
- while (cantLeidos != EOF){
- printf("=================================================================================================\n");
- printf("Pais: ");
- // Intentar leer el numero de campeonatos, copas, ranking
- while(scanf("%d %d %d", &campeonatos, &copas, &ranking) < 3){
- // Transcribir el pais
- pasarPalabra(&cant);
- putchar(' ');
- }
- printf("\nContinente:");
- c = ' ';
- // Transcribir el continente
- while (c!='\n'){
- c = pasarPalabra(&cant);
- putchar(c);
- }
- printf("Participaciones en los mundiales: %d\n", campeonatos);
- printf("Copas ganadas: %d\n", copas);
- printf("Ranking: %d\n", ranking);
- printf("=================================================================================================\n");
- printf("Entrenador: ");
- // Transcribir el nombre del entrenador
- c = ' ';
- while (c!='('){
- c = pasarPalabra(&cant);
- putchar(' ');
- }
- printf("\tNacionalidad: ");
- // Transcribir el pais el entrenador
- c = ' ';
- while (c!=')'){
- c = pasarPalabra(&cant);
- putchar(' ');
- }
- printf("\n=================================================================================================\n");
- printf("Equipo:\n");
- printf("Puesto Nombre No. Nacimiento Goles Partidos Ultimo partido\n");
- printf("-------------------------------------------------------------------------------------------------\n");
- // Mientras existan jugadores
- primero = true; cant = 0;
- while(1){
- // Leer datos numéricos del jugador
- cantLeidos = scanf("%2d", &dia);
- if (cantLeidos == 0){
- // Transcribir el nombre del jugador
- c = pasarPalabra(&cant);
- if (c == '\n') { break;}
- if (c == EOF) { cantLeidos = EOF; break;}
- putchar(' '); cant++;
- }
- if (cantLeidos > 0){ // Nuevo jugador
- if (!primero){
- completarTexto(MAX_NOMBRE - cant); cant = 0;
- printf("%2d\t", camiseta);
- // Escribir los datos numéricos del jugador anterior
- printf("\t%02d/%02d/%04d\t%2d\t\t%3d\t\t\t%02d/%02d/%04d\n", diaAnt, mes, anho, goles, partidos, diaUlt, mesUlt, anhoUlt);
- }else primero = false;
- // Leer el resto de datos numéricos del jugador nuevo
- cantLeidos = scanf("%2d%4d%2d%3d%2d%2d%4d", &mes, &anho, &goles, &partidos, &diaUlt, &mesUlt, &anhoUlt);
- diaAnt = dia;
- // Transcribir la posición
- pasarPalabra(&cant);
- completarTexto(MAX_PUESTO - cant); cant = 0;
- // Leer el número de camiseta
- scanf("%d", &camiseta);
- }
- if (cantLeidos == EOF) break;
- }
- // Escribir los datos numéricos del último jugador
- completarTexto(MAX_NOMBRE - cant); cant = 0;
- printf("%2d\t", camiseta);
- printf("\t%02d/%02d/%04d\t%2d\t\t%3d\t\t\t%02d/%02d/%04d\n", diaAnt, mes, anho, goles, partidos, diaUlt, mesUlt, anhoUlt);
- }
- printf("=================================================================================================\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement