Salve a tutti:)
ho fatto l' esrcizio 7.17 del libro dei deitel(corso completo di programmazione, 4 edizione) solo che non so perchè funzione ecco il codice
#include <stdio.h>
#include <time.h>
#define METRI 70
//inizio funzioni
void generaMovT(int *Tart);
void generaMovL(int *Lepr);
void stampaSitT(const int Tart);
void stampaSitL(const int Lepr);
//fine funzioni
int main(int argc, char **argv)
{
int posT=0;//posizione tartaruga
int posL=0;//posizione lepre
char junk;
srand(time(NULL));
do {
printf("quando sei pronto scrivi qualcoa e dai invio");
scanf("%c",&junk);
generaMovT(&posT);
stampaSitT(posT);
generaMovL(&posL);
stampaSitL(posL);
printf(" ");
scanf("%c",&junk);
printf("\n");
}while(posT<METRI&&posL<METRI);
return 0;
}
void generaMovT(int *Tart){
int x=1+rand()%10;
int y;
//printf("----------------------------------------------------------------\n");
//printf("funzione generaMovT\n");
switch(x){
case 1:
case 2:
case 3:
case 4:
case 5:
printf("tartaruga arranca rapida\n");
y=3;
break;
case 6:
case 7:
printf("tartaruga scivola\n");
y=-6;
break;
case 8:
case 9:
case 10:
printf("tartaruga arranca lenta\n");
y=1;
break;
default:
printf("Tarttaruga duagfwyug\n");
break;
}//fine switch
*Tart+=y;
if (*Tart<0) {*Tart=0;}
// printf("%d %d\n",y,*Tart);
// printf("-----------------------------------------------------------------\n");
}//fine genera movimento tartaruga
void generaMovL(int *Lepr){
int x=1+rand()%10;
int y;
// printf("----------------------------------------------------------------------\n");
//printf("generaMovL\n");
switch(x){
case 1:
case 2:
printf("lepre dorme\n");
y=0;
break;
case 3:
case 4:
printf("lepre salto lungo\n");
y=9;
break;
case 5:
printf("lepre scivolone lungo\n");
y=-12;
break;
case 6:
case 7:
case 8:
printf("lepre salto corto\n");
y=1;
break;
case 9:
case 10:
printf("lepre salto corto\n");
y=-2;
break;
default:
printf("Lepre duagfwyug");
break;
}//fine switch
*Lepr+=y;
if (*Lepr<0) {*Lepr=0;}
// printf("%d %d\n",y,*Lepr);
//printf("------------------------------------------------------------\n");
}//fine genera movimento Lepre
void stampaSitT(const int Tart){
// printf("funzione stampa sit T\n");
int x;
for (x=0;x<METRI;x++){
if (Tart==x){
printf("T");
}
else{
printf("*");
}
}
printf("\n");
}//fie stampa situazionetart
void stampaSitL(const int Lepr){
// printf("funzione stampa sit L\n");
int x;
for (x=0;x<METRI;x++){
if (Lepr==x){
printf("L");
}
else{
printf("*");
}
}
printf("\n");
}//fine stampa sit lepre
non capisco perchè per farlo funzionare come voglio(che aspetti che l' utente inseriscia qualcosae poi di invio,per dare tempo di leggere) debba mettere uno scanf sia a inizio che a fine, se non lo faccio esegue il codice 2 volte e poi aspetto un input.
grazie a tutti e scusate il disturbo