|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2012
Messaggi: 56
|
[C] Alcuni dubbi realizzazione programma
Voglio crearmi un programmino che gestisca un campionato calcistico. Non ho ancora incominciato a compilare codice. Ho già idea di come farlo (molto semplice, non voglio grandi cose), però ho alcuni dubbi al riguardo.
Sono alle prime armi e nei pochi programmini che mi sono creato, le istruzioni venivano stampate a video a cascata, lasciandomele visualizzate tutte. Io volevo: schermata di scelta, scelgo, passo a una nuova visualizzazione senza che mi rimangano stampate a video le scelte che posso fare (ad esempio tipo i primi programmi di contabilità che giravano su DOS). Domanda 1: Come posso ottenere questo "effetto"? Io ho pensato che una volta fatta la scelta inserisco un system ("cls") e svuoto lo schermo, però volevo sapere se la cosa si potesse svolgere in un modo un po' più tecnico. Volevo suddividere il programma in più file di codice. Un primo file dove effettuo la scelta (Crea squadra, crea campionato, guarda classifica, ecc.), e un file per ogni scelta che andrò a fare dove svilupperò il codice specifico, però non so bene come richiamare i file "secondari" in quello "primario", dove faccio la scelta. Domanda 2: Come faccio a richiamare in un programma del codice di un altro file? |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Jul 2007
Città: Agliana (PT)
Messaggi: 562
|
Quote:
Su Liinux esiste la libreria ncurses che credo sia disponibile anche per windows (vedi Wikipedia) Quote:
Per poter utilizzare in un modulo (ad esempio aaa.c) variabili o funzioni dichiarate in un altro modulo (ad esempio bbb.c) è necessario dichiararle nuovamente all'interno del modulo (aaa.c) anteponendogli la parola chiave extern. In questo modo il compilatore conosce il tipo di variabile o funzione che deve trattare e lascia dei "buchi" nel file oggetto che vengono riempiti dal linker Esempio: in bbb.c Codice:
/* variabile globale */
char *nomeSquadra;
/* prototipo funzione */
void creaSquadra(char *nome, int numeroGiocatori);
/* corpo funzione */
void creaSquadra(char *nome, int numeroGiocatori)
{
...
corpo della funzione
...
}
Codice:
extern char *nomeSquadra;
extern void creaSquadra(char *nome, int numeroGiocatori);
int main (void)
{
...
creaSquadra(nomeSquadra, 25);
...
}
__________________
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose.... The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of time. But it was a beginning. |
||
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2009
Città: Milano
Messaggi: 449
|
Va più che bene il system("cls"), eh.
__________________
Intel i5 2500k | Arctic Cooling Freezer i30 | Asrock Z68 Extreme 3 Gen 3 | Lancool PC-K62 | Corsair TX750M | MSI nVidia GTX 560 Ti Twin Frozr II | Corsair Vengeance LP Black 1600MHz 2x4GB | Crucial M4 128GB | Western Digital Elements 1TB | Seagate 500GB | Cooler Master Spawn | Logitech G110 Concluso positivamente con: massimo3550! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:14.




















