|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2007
Messaggi: 2
|
AIUTOOOOOOOO
...m serve un aiuto..il mio programma oltre ad eseguire il gioco dovrebbe stampare l'elenco delle mosse dei giocatori e il tempo impiegato x ogni mossa...solo ke stampa numeri a casaccio e il tempo non funziona in modo corretto...sapreste aiutarmi???...grazie in anticipo...
"qst è il codice del programma" #include <stdio.h> #include <stdlib.h> #include <time.h> int c,d; int i=1; int j,k; int x; int a,b; int scelta[2]; int somma; int totale[2]; int numeroPuntato[70]; int conta=1; int n,m; double z; char gioca; int giocate[70]; int v=0; struct Utente{ char nome[20]; }; struct tempo{ double valore; struct tempo *next; }; struct mossa{ int mossa_memorizzata[100]; int tempo_mossa; struct mossa *next; }; struct mossa *T; struct mossa *C; struct mossa *nuovo_elemento; struct mossa *temporaneo; struct mossa *prec; void inizializzaGiocatori(struct Utente *giocatori); int NumeriDaGiocare(struct Utente*giocatori); void memorizza_numero(int *numero,int temp); int Puntata(struct Utente*giocatori); int QuantoScommettere(struct Utente*giocatori); void Estrazione(); void ControlloVincita(struct Utente*giocatori); void elenco_mossa(); void Rigioca(); int main() { system("cls"); struct Utente giocatori[2]; printf("GIOCO DEL BIRIBI'\n\n"); inizializzaGiocatori(&giocatori[0]); i++; inizializzaGiocatori(&giocatori[1]); NumeriDaGiocare(&giocatori[0]); memorizza_numero(&c,d); system("cls"); totale[i]=200; //svuoto l'array for(v=0;v<70;v++) { giocate[v]=-1; } for(j=1;j<=scelta[x];j++) { Puntata(&giocatori[0]); memorizza_numero(&c,d); QuantoScommettere(&giocatori[0]); memorizza_numero(&c,d); } NumeriDaGiocare(&giocatori[1]); memorizza_numero(&c,d); system("cls"); totale[i]=200; conta=1; //svuoto l'array for(v=0;v<70;v++) { giocate[v]=-1; } for(k=1;k<=scelta[x];k++) { Puntata(&giocatori[1]); memorizza_numero(&c,d); QuantoScommettere(&giocatori[1]); memorizza_numero(&c,d); } Estrazione(); ControlloVincita(&giocatori[0]); ControlloVincita(&giocatori[1]); system("cls"); elenco_mossa(); Rigioca(); } /* fuonzione che inizializza i giocatori partecipanti al gioco parametri in ingresso: puntatore a struttura utile per richiamare gli elementi della struttura utente */ void inizializzaGiocatori(struct Utente *giocatori) { printf("Inserire il nome del giocatore %d : ",i); scanf("%s",giocatori->nome); fflush(stdin); printf("\n"); } int NumeriDaGiocare(struct Utente*giocatori) { time_t inizio, fine; double temp; system("cls"); inizio = time(NULL); printf("%s quanti numeri vuoi giocare? [0 per uscire]: ",giocatori->nome); scanf("%d",&scelta[x]); fine = time(NULL); temp = difftime(fine,inizio); fflush(stdin); if (scelta[x]==0) { exit(0); } else if (scelta[x]>71) { printf("\nVALORE INSERITO SCORRETTO\n\n"); system("pause"); return (NumeriDaGiocare(&giocatori[0])); } } int Puntata(struct Utente*giocatori) { printf("%s scegli il tuo %d^ numero [da 0 a 70]: ",giocatori->nome,conta); scanf("%d",&numeroPuntato[a]); conta++; if (numeroPuntato[a]>70 || numeroPuntato[a]<0) { printf("\nVALORE INSERITO SCORRETTO\n\n"); system("pause"); system("cls"); conta--; return (Puntata(&giocatori[0])); } else { for(v=0;v<70;v++) { if(numeroPuntato[a]==giocate[v]) { printf("\nVALORE INSERITO SCORRETTO\n\n"); system("pause"); system("cls"); conta--; return (Puntata(&giocatori[0])); } } } giocate[conta-2]=numeroPuntato[a]; system("cls"); } int QuantoScommettere(struct Utente*giocatori) { printf("\nQuanto vuoi scommettere sul numero %d ? [N.B. hai a disposizione %d euro]: ",numeroPuntato[a],totale[i]); scanf("%d",&somma); if ((somma<=totale[i])&&(somma!=0)) { totale[i]=totale[i]-somma; printf("\nHai ancora a disposizione %d euro\n\n\n",totale[i]); system("pause"); system("cls"); } else { printf("\nVALORE INSERITO SCORRETTO\n\n"); system("pause"); system("cls"); conta--; return (QuantoScommettere(&giocatori[0]),conta++); } } /* Estrazione funzione che permette l'estrazione random di un file non ha valori in ingresso */ void Estrazione() { srand(time(0)); n=rand(); z=((double)n)/RAND_MAX; m=n%70; } void ControlloVincita(struct Utente*giocatori) { printf("\n\n Il numero estratto e' : %d \n\n",m); if (m==numeroPuntato[a]) { printf("%s: HAI VINTO!!\n\n ",giocatori->nome); (totale[i]=totale[i]+(somma*64)); printf(" Complimenti!!! ora il tuo saldo corrisponde a : %d euro\n\n",totale[i]); } else { printf("%s: HAI PERSO!!\n\n",giocatori->nome); } system("pause"); } void Rigioca() { printf("\n\n\n Volete iniziare un\'altra partita\n [premere s per continuare, un altro tasto per terminare il gioco]: "); fflush(stdin); scanf("%c",&gioca); if ((gioca=='s'||gioca=='S')) { main(i--); } else { exit(0); } } void memorizza_numero(int *numero,int temp) { int q; nuovo_elemento = (struct mossa*)malloc(sizeof(struct mossa)); nuovo_elemento->next=NULL; if (nuovo_elemento == NULL) { printf("\n\n Errore nell'allocazione della memoria.\n Il programma verra' terminato!\n "); system("pause"); exit(0); } for(q=0;q<100;q++) { nuovo_elemento->mossa_memorizzata[q]='\0'; if(numero[q]=='\n') break; nuovo_elemento->mossa_memorizzata[q]=numero[q]; } if(T==NULL) T=nuovo_elemento; else C->next=nuovo_elemento; C=nuovo_elemento; nuovo_elemento->tempo_mossa=temp; } /* elenco_mossa *funzione che stampa tutte le mosse eseguite * *Non ha valori in ingresso * *Vengono stampate a video tutti i numeri inserite col tempo *impiegato per inserire ognuno di essi */ void elenco_mossa() { temporaneo = T; printf("\n\n\n\n ELENCO MOSSE:\n"); while(temporaneo != NULL) { printf("Il numero inserito e' %d, ed il tempo impiegato e' %d s.\n",temporaneo->mossa_memorizzata,temporaneo->tempo_mossa); temporaneo = temporaneo->next; } } |
|
|
|
|
|
#2 |
|
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
Usa il tag CODE (o PHP), altrimenti non si capisce nulla. Ed indenta un po'
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Hai letto il regolamento di sezione ?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:12.



















