Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] stampare tabella

    Buongiorno!
    Non riesco ad incolonnare i dati in una tabella in maniera ordinata.

    codice:
    ...
    int mesi[7],durata;
    char *n_mesi[7]={" ","Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno"};
    
    printf("%s%17s%17s\n\n","Mese","Durata","Numero");
    
    durata=calcola_durate(curr_month,m); 
    
    for(i=0;i<7;i++)
    printf("%s%17d%17d\n",n_mesi[i],durata,m);
    Dove chiaramente "durata" ed "m" variano per ogni mese.

    Il problema è che a seconda della lunghezza del nome del mese i dati numerici vengono traslati verso destra di una certa quantità.

  2. #2
    Per farlo devi sapere esattamente la lunghezza max dei campi e calcolarla, oppure fissarla tu (se sono stringhe, invece di usare un puntatore allocato con malloc, potresti dargli lunghezza fissa e far in modo che se una stringa è inferiore, gli aggiungi degli spazi).

    Altrimenti non c'è un modo preciso.
    lolide
    Java Programmer

    Informati

  3. #3
    EDIT: cross-posting per problemi di connessione.

    Scusate
    lolide
    Java Programmer

    Informati

  4. #4
    Credevo ci fosse un metodo più facile..pazienza!!
    Grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.