PDA

Visualizza la versione completa : [C] Problema immissione dati


laurgaor
27-06-2011, 18:30
Salve a tutti,
vi riporto un pezzo di codice che sto provando ad implementare.. La funzione del programma non č niente di che perņ riscontro un problema nell'immissione dei dati:


#include <stdio.h>

unsigned int stanze, corridoi, stanza_partenza;

int main(void)
{
printf("Inserisci il numero di stanze, corridoi e la stanza di partenza\n");
scanf("%ud %ud %ud", &stanze, &corridoi, &stanza_partenza);
while(getchar() != '\n');
unsigned int oggettixstanza[stanze], collegamenti[corridoi][2];

int i=0;
for(; i < stanze; i++)
{
printf("Inserisci il numero di oggetti nella stanza %d\n", i+1);
scanf("%ud", &oggettixstanza[i]);
}
for(i=0; i < corridoi; i++)
{
printf("Inserisci le stanze collegate dal corridoio %d\n", i+1);
scanf("%ud %ud", &collegamenti[i][0], &collegamenti[i][1]);
}
}

Come notate dopo la prima scanf ho messo un "while(getchar()!='\n')" perchč anche li mi dava problemi..Perņ ora, come faccio partire il programma, dopo il primo for che chiede i dati il programma termina ed il secondo for non parte proprio! Ho provato a mettere un "while(getchar()!='\n')" anche dopo la scanf nel for e anche direttamente fuori dal for ma nulla...Grazie in anticipo per le risposte!

oregon
27-06-2011, 18:35
La scanf deve essere

scanf("%u %u %u", &stanze, &corridoi, &stanza_partenza);

Controlla la funzione scanf sul tuo manuale

laurgaor
27-06-2011, 18:39
ah si č vero ho appena controllato..perņ strano il primo for andava comunque..mah..grazie mille!

oregon
27-06-2011, 18:42
Originariamente inviato da laurgaor
perņ strano il primo for andava comunque..

No, non č strano. Se analizzi bene quello che succedeva, vedrai che non era strano ...

laurgaor
27-06-2011, 19:16
Credo di aver capito.. Senti mica conosci qualche sito dove ci sono esercizi pratici sul C? Mi faresti un grande favore

oregon
27-06-2011, 23:05
No ... non ne conosco, mi dispiace ...

Ma non credo sia un problema "inventarsi" dei problemi da risolvere ...

Loading