uso gcc
---------- Post added at 11:35 ---------- Previous post was at 11:14 ----------
Comunuqe ho risolto in questo modo
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void importo (void);
void numero (int,int);
void main ()
{
printf( "Benvenuto/a cerca di vincere più soldi indovinando il numero magico...\n" );
importo();
}
void importo (void)
{
int imp,saldo=100;
printf( "Inserisci l'importo che vuoi scommettere: " );
scanf( "%d" , &imp );
while (imp > saldo) {
printf( "Saldo insufficiente,puoi scommettere max %d €...\n" , saldo );
printf( "Inserisci l'importo che vuoi scommettere: " );
scanf( "%d" , &imp );
}
numero(imp,saldo);
}
void numero (int imp,int saldo)
{
int num,x;
srand (time (NULL) );
x=1+(rand() %10);
printf( "Inserisci il numero da indovinare: " );
scanf( "%d" , &num );
if (num == x) {
saldo+=imp*2;
printf( "Hai vinto,il tuo nuovo saldo è %d €...\n" , saldo );
}
else {
saldo-=imp;
printf( "Hai perso,il tuo nuovo saldo è %d €...\n" , saldo );
}
}
---------- Post added at 12:24 ---------- Previous post was at 11:35 ----------
ora ho aggiunto l'ultima funzione ed ho incontrato un altro problema strano, ecco il codice:
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void importo (void);
void numero (int,int);
void continua (void);
void main ()
{
printf( "Benvenuto/a cerca di vincere più soldi indovinando il numero magico...\n" );
importo();
}
void importo (void)
{
int imp,saldo=100;
printf( "Inserisci l'importo che vuoi scommettere: " );
scanf( "%d" , &imp );
while (imp > saldo) {
printf( "Saldo insufficiente,puoi scommettere max %d €...\n" , saldo );
printf( "Inserisci l'importo che vuoi scommettere: " );
scanf( "%d" , &imp );
}
numero(imp,saldo);
}
void numero (int imp,int saldo)
{
int num,x;
srand (time (NULL) );
x=1+(rand() %10);
printf( "Inserisci il numero da indovinare: " );
scanf( "%d" , &num );
if (num == x) {
saldo+=imp*2;
printf( "Hai vinto,il tuo nuovo saldo è %d €...\n" , saldo );
}
else {
saldo-=imp;
printf( "Hai perso,il tuo nuovo saldo è %d €...\n" , saldo );
}
continua();
}
void continua (void)
{
char risp;
printf( "Vuoi continuare il gioco: ");
scanf( "%c" , &risp );
if (risp == 's') {
printf("ok"); /* prova */
}
}
Il problema sta nell'ultima funzione "Continua",praticamente esce la scritta "Vuoi continuare il gioco: " dopodiche mi fa uscire dal programma.
Mentre se al posto di char dichiaro risp come un intero funziona perfettamente
come mai ?