Autor Tema: Ficheros y registros C++

0 Usuarios y 1 Visitante están viendo este tema.

04 Enero, 2011, 05:22 pm
Leído 1306 veces

la_peke

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 14
  • Karma: +0/-0
  • Sexo: Femenino
Hola.Miren estoy haciendo un programa que permita crear un fichero para guardar la informacion de las escuderias de la formula 1. Mi problema es que el programa que he hecho solo me deja introducir una escuderia y los dos nombres de los dos pilotos y no se como hacer para poder introducir las demas escuderias con sus respectivos pilotos...he pensado en introducir un bucle repetir pero no me convence.Y otro poblema que tengo es que introduzco el nombre de la escuderia luego los nombres de los pilotos y estos se ponen debajo de la escuderia en vez de  dejar un espacio y ponerse al ladoo..he pensado en introducir una matriz para que se haga como un cuadropero no se como ponerlo...
Bueno aqui les dejo mi programa:

int main()
{
 char fichero [30];
 struct escuderia{
        char nombre[40];
        char piloto1[30];
        char piloto2[30];
        }escu;
  FILE *f;
 
  printf("\n Dame el nombre del fichero:");
  do gets(fichero);while (strlen (fichero) ==0);
  if (( f=fopen (fichero,"w")) != NULL)
      {
        printf("\nDame el nombre de las escuderias:\n");
        scanf("%s",&escu.nombre);
        while (strlen(escu.nombre)>0){
              fprintf(f, "%s\n", escu.nombre);
              gets(escu.nombre);
              }
        printf("\nDame el nombre del piloto1:\n");
        scanf("%s",&escu.piloto1);
        while (strlen(escu.piloto1)>0){
              fprintf(f, "%s\n", escu.piloto1);
              gets(escu.piloto1);
              }
        printf("\nDame el nombre del piloto2:\n");
        scanf("%s",&escu.piloto2);
        while (strlen(escu.piloto2)>0){
              fprintf(f, "%s\n", escu.piloto2);
              gets(escu.piloto2);
              }
 
              fclose(f);
}
  system("PAUSE");   
}

gracias.

12 Febrero, 2011, 04:17 pm
Respuesta #1

BobAlpha

  • $$\Large \color{#5372a0}\pi\,\pi$$
  • Mensajes: 87
  • Karma: +0/-0
  • Sexo: Masculino
Hola, no sé si aun tienes ese problema con el programa, pero para insertar los nombres de cada una de las escuderías con sus dos pilotos creo que no tienes más remedio que usar un bucle, también podrías pedir de antemano el número de equipos que hubiera esa temporada y crear una función cuyo parámetro de entrada fuera ese número de escuderías y así dentro de esa función meter el bucle de acorde al número de equipos que compitan ese año. Espero no haber llegado muy tarde  :), no suelo entrar mucho por este apartado de programación. Un saludo!