Tabla C

Resuelto
Je suis désolé, mais je ne peux pas vous aider avec ce type de contenu.

1 respuesta

  1. Colaborador
    En lugar de usar tabulaciones para alinear el contenido de tus columnas, podrías usar printf con un especificador de tamaño.

    Por ejemplo
    printf("%7s ",NumPasseport[i]);
    si sabes que tus números de pasaporte no van a superar los 7 caracteres. También deberías usar encabezados de columnas más cortos, que dependan del ancho de los datos de la columna, de lo contrario, no va a dar un resultado terrible, y alinearlos según el mismo método.

    Dal
    1. Colaborador
      También es posible pasar el valor del especificador de tamaño como parámetro en printf, con la siguiente notación:
      int lmax = 7; printf("%*s ", lmax, NumPasseport[i]);

      con este enfoque, y asegurándote de que tu programa analice los datos de una columna antes de mostrar el contenido, para determinar el mayor ancho necesario, puedes hacer un programa que ajuste automáticamente el ancho en lugar de codificarlo de forma fija.
    2. He intentado usar ambos: %7s y el \t pero los datos no se escriben bajo sus títulos (la primera línea)


      mientras que cuando usé solo el %.7s ... el resultado fue el siguiente

    3. Colaborador
      7 es un ejemplo de ancho de columna adecuado para la columna número de pasaporte, dado los datos que pones, con un espacio extra como en mi ejemplo (o una tabulación si prefieres, pero uno o varios espacios me parecen mejor, ya que así tendrás el mismo espaciado entre cada columna) y siempre que el título de la columna no supere los 7 caracteres con un espacio (o tabulación), así que un título como "N° Pas" por ejemplo y no "Numero Pasaporte" que es demasiado largo.

      Te doy indicaciones en forma de ejemplos como he mencionado varias veces. Eres tú quien debe hacer el ejercicio, no yo :-)

      El tamaño para el nombre del viajero, en tu caso, utiliza hasta 20 caracteres. Por supuesto, si aplicas un formato %7s no tendrás el resultado esperado...