Problema getchar

di il
1 risposte

Problema getchar

Salve a tutti , il problema è semplice ...nel codice utilizzo 2 getchar .... il primo è come se venisse saltato ,quindi non devo premere nessun tasto per contunuare mentre il secondo funziona correttamente..... non capisco proprio dove sbaglio....... vi lascio il codice in questione ....
for (int i = 0; i < 999999 ; i++) {printf("Ciccio tocca a te,spara con il tuo lanciarazzi per provare a distruggere la torre di Ninja!\n\n" );
sleep(1);
 printf("Premi un tasto per sparare !\n" );
 getchar();
 sleep(2);
 if (rand()%101<=colpo_ciccio) {
   printf("Il colpo è andato a segno! Hai distrutto un piano della torre di Ninja!\n\n" );//rimozione testa lista
   eliminatesta_torre(&listaNinja);
   --Ninja.zaino[materiale];//rimozione testa lista
   --Ciccio.zaino[colpi_lanciarazzi];
   if(Ciccio.zaino[materiale]==0||Ninja.zaino[colpi_lanciarazzi]==0||Ninja.zaino[materiale]==0||Ciccio.zaino[colpi_lanciarazzi]==0){
     break;
   }
 }else{
   printf("Hai mancato il bersaglio, ritenta!\n\n");
 --Ciccio.zaino[colpi_lanciarazzi];
 if (Ciccio.zaino[colpi_lanciarazzi]==0) {
   break;
 }
 }
sleep(2);
 printf("Ninja tocca a te ,spara con il tuo lanciarazzi per provare a distruggere la torre di Ciccio\n\n" );
 sleep(1);
 printf("Premi un tasto per sparare !\n" );
 getchar();
 sleep(2);
 if (rand()%101<=colpo_ninja) {
   printf("Il colpo è andato a segno! Hai distrutto un piano della torre di Ciccio!\n\n" );//rimozione testa lista
  eliminatesta_torre(&listaCiccio);
   --Ciccio.zaino[materiale];//rimozione testa lista
   --Ninja.zaino[colpi_lanciarazzi];
   if(Ciccio.zaino[materiale]==0||Ninja.zaino[colpi_lanciarazzi]==0||Ninja.zaino[materiale]==0||Ciccio.zaino[colpi_lanciarazzi]==0){
     break;
    }
 }else{
   printf("Hai mancato il bersaglio, ritenta!\n\n");
 --Ninja.zaino[colpi_lanciarazzi];
 if (Ninja.zaino[colpi_lanciarazzi]==0) {
   break;
 }
 }
printf("Queste sono le vostre torri allo stato attuale!\n\n" );


visualizza_torre(listaNinja); // stampa la lista ninja
visualizza_torre(listaCiccio);// stampa lista ciccio
sleep(2);
}

1 Risposte

  • Re: Problema getchar

    Sarà il solito problema che avrai il newline in canna e il getchar() se lo prende. Prova fare un altro getchar() se il primo si prende '\n'
Devi accedere o registrarti per scrivere nel forum
1 risposte