Autoriempimento campo input

di il
2 risposte

Autoriempimento campo input

Ciao a tutti ragazzi!
Sono nuovo qui, quindi rubo solo un secondo per presentarmi. Sono Simone, studio Informatica e Comunicazione Digitale e, pur avendo un (glorioso) passato con Python, in questi mesi sto usando solo C.

In questo momento sono al lavoro per un progetto (una simulazione di gestione aeroporto) e avrei una domanda da fare.
Ho una struct di questo tipo

typedef struct{
	char compagnia[30];
	char codice_volo[7];
} volo;
Sto implementando una funzione di modifica in cui chiedo all'utente quale volo modificare e poi ripropongo tutta la lista dei campi (uno alla volta) affinché proceda ad un nuovo inserimento.
Ovviamente, se i campi iniziano a diventare tanti e io ne voglio modificare solo uno, diventa poco efficiente doverli reinserire tutti.
Quindi avrei pensato, se fosse possibile, "autoriempire" l'input con il dato già presente in memoria.
Ad esempio, supponendo che volo[0].compagnia = "Ryanair", avere una cosa del genere:

OUTPUT --> Inserisci compagnia: Ryanair
In questo modo, se l'utente non vuole modificare il campo, preme semplicemente Invio e il valore non viene alterato. Allo stesso modo, se vuole modificare, cancellerà Ryanair e scriverà il nuovo valore.

Spero di essere stato chiaro, grazie a tutti in anticipo!

2 Risposte

  • Re: Autoriempimento campo input

    Hint al volo: stampi il valore che hai in memoria e poi passi all'input. Se l'utente batte invio e basta, tu leggerai una stringa vuota. Quindi basta che copi il vecchio dato e passi al campo successivo. Se l'utente vuole modificare, la stringa non sarà vuota e allora dovrai copiare il nuovo dato nella struttura.
  • Re: Autoriempimento campo input

    Se il tuo terminale non supporta i tasti freccia Su e Freccia Giù, devi fare tutto da solo con la getch() di conio.h o ncurses.h, ma è una cosa molto lunga da fare
Devi accedere o registrarti per scrivere nel forum
2 risposte