Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Creare tabella
Forum - C/C++ - Creare tabella "grafica" con c

Avatar
dogirds (Normal User)
Newbie


Messaggi: 1
Iscritto: 18/03/2011

Segnala al moderatore
Postato alle 11:18
Domenica, 24/04/2011
Salve è da quasi 5 mesi che programmo in c sto realizzando una piccola rubrica per uso personale.. ho fatto praticamente il 60% del programma.. adesso ho qualche problema con la visualizzazione dei contatti o meglio la visualizzazione sono riuscito a farla ma viene sballata.. :(
questo è il codice che ho usato

Codice sorgente - presumibilmente C/C++

  1. int i;
  2.     printf("||Nome\t||Cognome\t||Telefono\t\t||Cellulare\t\t||Citta\t\t||CAP\t||Via\t\t||Num\t||Data Di Nascita\t\t||\n");
  3.     for (i=start; i<end; i++)
  4.     {
  5.         printf("||%s\t||%s\t||(%s)-%s\t||(%s)-%s\t||%s\t||%s\t||%s\t||%s\t||%s/%s/%s\t||\n",contact[i].nome,contact[i].cognome,contact[i].telefono.prefix,contact[i].telefono.number,contact[i].cellulare.prefix,contact[i].cellulare.number,contact[i].indirizzo.citta,contact[i].indirizzo.cap,contact[i].indirizzo.via,contact[i].indirizzo.numero,contact[i].datadinascita.day,contact[i].datadinascita.mounth,contact[i].datadinascita.year);
  6.     }


il problema è che molte volte il nome va sotto il cognome e cosi via.. :( c'è un modo per fare una tabella tipo l'html?
in modo che si ridimensioni automaticamente in base al dato che contiene la colonna?


dogirds ha allegato un file: Schermata-1.png (1911 bytes)
Clicca qui per guardare l'immagine
PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 11:47
Domenica, 24/04/2011
HeDo sono d'accordo con te ma risconterà lo stesso dei problemi, come per esempio il fine rigo.
Esempio:
Codice sorgente - presumibilmente Plain Text

  1. questo e' quello che causa quando si incrontr
  2. a il fine rigo. Ti sembra bello? :rotfl:



Il mio consiglio è crearti una pagina html, con le semplici funzioni di fopen(), ecc. Inserendo nel file il codice html con all'interno i vari nomi, numeri, indirizzi, ecc...
Esempio:
Codice sorgente - presumibilmente Plain Text

  1. fprintf(file_html, "<table><td>%s</td></table", nome_contatto);


Adesso non ricordo come si creasse una tabella, ma dovrebbe essere all'incirca così.

Altra soluzione è lavorare con un file XML = http://en.wikipedia.org/wiki/XML
Dentro un file XML spiaccicaci tutti i dati
Esempio:
Codice sorgente - presumibilmente C/C++

  1. <?xml version="1.0"?>
  2. <rubrica>
  3.         <persona id = "1">
  4.                 <nome>QUI METTI IL NOME</nome>
  5.                 <indirizzo>QUI L'INDIRIZZO</indirizzo>
  6.                 <numero>....</numero>
  7.                 <!-- ecc -->
  8.         </persona>
  9.        
  10.         <persona id = "2">
  11.                 <nome>QUI METTI IL NOME</nome>
  12.                 <indirizzo>QUI L'INDIRIZZO</indirizzo>
  13.                 <numero>....</numero>
  14.                 <!-- ecc -->
  15.         </persona>
  16.        
  17.        
  18.         .......
  19.        
  20. </rubrica>



E poi con una funziona php, incominci a leggere tutti i dati contenuti nel db (file XML) http://php.html.it/articoli/leggi/1763/simplexml-gestire-x ...

Queste sono le uniche soluzioni che mi vengono in mente!

:k:

il problema è che vorrei far visualizzare la tabella dentro il programma.. e durante l'esecuzione del programma.. :) e non via browser.. :) comunque mi hai dato un'altra bella idea.. :) implemento subito la possibilità di esportare i contatti nel file xml che puo essere considerato con un db.. :) ;) - dogirds - 24/04/11 11:57
ottimo spunto, ma risposta non pertinente... lui chiede come farlo _dentro_ alla console... cambiando ambiente diventa veramente banale :) - HeDo - 24/04/11 19:21
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
3
Down
V
Segnala al moderatore
Postato alle 11:24
Domenica, 24/04/2011
quello che chiedi si può fare con due conti sulla lunghezza delle stringhe, ma io credo che ti basta un approccio a stringhe paddate:

http://www.cplusplus.com/reference/clibrary/cstdio/printf/

la riga dell'esempio:

Codice sorgente - presumibilmente C/C++

  1. printf ("Preceding with blanks: %10d \n", 1977);


thank's provo subito.. :) - dogirds - 24/04/11 11:48
PM
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 12:40
Lunedì, 25/04/2011
mmm se vuole quache cosa che si avvii "dentro"  il programma, per fare una cosa carina potresti implementare una griglia utilizzando le GUI, le GTK. É un lavoraccio, peró sará un buon lavoro. http://www.hds619.net/blog/10/04/2009/guida-gtk-a-puntate- ...

vedo cosa riesco a fare.. :) - dogirds - 28/04/11 14:50
PM