Ad blocker detected: Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker on our website.
Salve,
Potreste dirmi per favore come si svolge un compito di questo tipo:
Codificare un programma in C/C++ che, acquisiti i nominativi, gli indirizzi e le età degli alunni di una classe, stampi due elenchi completi di tutti i dati dove il primo elenco sia ordinato secondo l'ordine alfabetico dei nominativi ed il secondo in maniera decrescente secondo le età.
Grazie.
La risposta:
Ciao,
Si tratta di scomporre il compito in tanti piccoli problemi da risolvere scrivendo del codice in C/C++ e di analizzarli uno per volta.
Sostanzialmente bisogna procedere con:
Come si fa a salvare i vari dati richiesti in input e come si invita l'utente a farlo (output)?
Chiedere all'utente di inserire un elenco di parametri (nominativi, indirizzi, età). Quindi nella pratica bisogna chiedersi: qual è la struttura dati corretta per inserire un elenco con dei parametri che cresce dinamicamente? (Di fatto non possiamo sapere a priori quanti studenti vorrà inserire l'utente, quindi si possono scegliere 2 approcci: il primo, consiste nel chiedere all'utente di digitare il numero complessivo di studenti che intende inserire. Il secondo, invece, consiste, dopo ogni inserimento, nel chiedere all'utente se intende inserire un nuovo studente).
Una volta completato l'inserimento, come si fa ad effettuare l'ordinamento per ordine alfabetico dei nominativi? Come si fa l'ordinamento decrescente per età?
Di fatto, per realizzare questo compito bisogna:
- Conoscere come gestire una struttura dati dinamica (suggerimento: blocco struct {}, funzione malloc());
- Concetto di ciclo e applicazione (suggerimento: for, while, do{} while());
- Conoscenza delle funzioni per richiedere input all'utente (suggerimento: su C standard, funzione: scanf(), su C++ cin e operatore <<);
- Conoscenza delle funzioni per fornire output all'utente (suggerimento: su C standard, funzione: printf(), su C++ cout);