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++ - Perchè se il nome esiste già non ricomincia?
Forum - C/C++ - Perchè se il nome esiste già non ricomincia?

Avatar
Liuk (Normal User)
Rookie


Messaggi: 21
Iscritto: 01/09/2011

Segnala al moderatore
Postato alle 16:41
Lunedì, 05/09/2011
Codice sorgente - presumibilmente C++

  1. void inserisciNominativo(item agenda[], int *nnom)
  2. {
  3.     clear();
  4.     int flag=0, i;
  5.     setColor(1, 0, 32);
  6.     printf("\n Inserimento nominativo\n\n");
  7.     setColor(1, 0, 1);
  8.     do
  9.     {
  10.         printf(" Nome: ");
  11.         getchar();
  12.         gets(agenda[*nnom].nome);
  13.         printf(" Cognome: ");
  14.         gets(agenda[*nnom].cognome);
  15.         if(*nnom==0)
  16.         {
  17.         }
  18.         else
  19.         {
  20.             for(i=0; i<*nnom; i++)
  21.             {
  22.                 if(strcmp(agenda[*nnom].nome, agenda[i].nome) == 0 && strcmp(agenda[*nnom].cognome, agenda[i].cognome) == 0 && agenda[i].valido == 0)
  23.                 {
  24.                     flag = 1;
  25.                 }
  26.             }
  27.             if(flag==1)
  28.             {
  29.                 setColor(1, 0, 36);
  30.                 printf("\n Il nominativo esiste già!");
  31.                 setColor(1, 0, 1);
  32.             }
  33.         }
  34.     }
  35.     while(flag=0);
  36.     printf(" Telefono: ");
  37.     gets(agenda[*nnom].numero);
  38.     agenda[*nnom].valido = 0;
  39.     (*nnom)++;
  40.     flag=0;
  41. }



Se il nome è già nell'elenco dovrebbe richiedere il nome invece va avanti e chiede il telefono.
Perchè?

Mi sono rotto le balle, sono 2 anni che facciamo agende del cazzo in C.

PM
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 16:52
Lunedì, 05/09/2011
Ciao!

Non capisco a cosa serve la riga 35...

poi guarda qui:

http://it.wikipedia.org/wiki/Gets_(funzione)


ciaociao

Ultima modifica effettuata da tasx il 05/09/2011 alle 16:57
PM
Avatar
D@vide (Member)
Expert


Messaggi: 450
Iscritto: 30/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 1:45
Martedì, 06/09/2011
Codice sorgente - presumibilmente C/C++

  1. Mi sono rotto le balle, sono 2 anni che facciamo agende del cazzo in C.


2 anni che fate agende, ma ancora sbagliate a programmarle:rotfl:

Codice sorgente - presumibilmente Plain Text

  1. while(flag=0);


:om:

Si, ho copiato il codice che stavo provando, in realtà è sempre stato while flag=1 ma da lo stesso problema - Liuk - 06/09/11 12:38
Anche while(flag=1) è errato. Che senso ha usare un ciclo per settare un flag? - D@vide - 06/09/11 13:00
È vero -.- while(flag==1)! Non me ne ero accorto mannaggia! Grazie D@viduccio - Liuk - 06/09/11 13:29
PM