Ciao a tutti ! ho un problema nel capire il senso della lettura di una coda ! mi spiego meglio, intanto
ecco la traccia :
Si scriva un programma che simuli l’accodamento di clienti di un call center di una compagnia telefonica. I clienti possono scegliere tra 3 tipi di richieste:
1. Informazioni sui piani tariffari
2. Informazioni sul traffico telefonico
3. Informazioni sulle promozioni
Ogni cliente rimane in attesa in una opportuna coda (tariffe, traffico, promozioni) tutte con la stessa priorità. Ogni coda può accodare al massimo 20 clienti e viene servita da un solo operatore.
I dati relativi ad ogni cliente sono i seguenti:
• Numero telefonico (Una stringa di 10 caratteri).
• Cognome Cliente (Una stringa di 20 caratteri).
• Nome Cliente (Una stringa di 20 caratteri).
La struttura coda è definita cosi :
codice:
typedef struct SQueue{
TInfo info[SIZE];
int head;
int tail;
}TQueue;
dove Tinfo è
codice:
struct SInfo {
char telefono [MAXTEL]; //Codice Fiscale del Paziente
char cognome[MAXCHAR]; //Cognome del Paziente
char nome[MAXCHAR]; //Nome del Paziente
};
ora la lettura me la svolge in questo modo :
codice:
TInfo read_info()
{
TInfo info;
do
{
printf ("Numero di telefono del cliente ");
scanf ("%s", info.telefono);
}
while (strlen(info.telefono)!=MAXTEL-1);
do
{
printf ("Inserisci il cognome del cliente ");
scanf ("%s", info.cognome);
}
while (strlen(info.cognome)>MAXCHAR-1);
do
{
printf ("Inserisci il nome del cliente ");
scanf ("%s", info.nome);
}
while (strlen(info.nome)>MAXCHAR-1);
return info;
}
quello che non capisco sono le condizioni del while ! qualcuno potrebbe chiarirmi il ragionamento ? grazie in anticipo per l'aiuto