Gå til innhold

C: Problemer med getchar


Anbefalte innlegg

Hei!

 

Sliter litt med noe kode, koden ser slik ut:

while(1){

//Print alternatives to screen

printf("***************** Menu ****************\n");

printf("[a] Add new item to the list.\n");

printf("[d] Delete item from the list.\n");

printf("[p] Print all items stored in the list.\n");

printf("[q] Quit program.\n");

printf("> ");

 

char option = getchar();

 

mainInterface(option);

 

}

 

Det eneste som skjer i funksjonen mainInterface er følgende:

switch(option){

case 'a':

addNode();

break;

case 'd':

deleteNode();

break;

case 'p':

printList();

break;

case 'q':

printf("See you later, alligator!\n");

exit();

}

 

Problemet er at hver gang et valg er gjort (feks 'd' -> slett node) så printes menyen ut to ganger etter at den ønskede oppgaven er fullført. Grunnen er at mainInterface blir kalt med en annen verdi enn a, d, p eller q (verdien til option er 10 da). Forstår ikke hvorfor dette skjer. Noen som forstår?

Endret av dansesareven
Lenke til kommentar
Videoannonse
Annonse

Har gjort et lite hack i koden jeg la ut, ved å teste mot variabelen test i funksjonen main.

 

Prøv å fjerne testen ... Henger du med?

 

[EDIT]: Dersom du fjerner all kode som benytter testen (noen få linjer i main), vil problemet jeg skrev om over oppstå.

Endret av dansesareven
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...