PDA

Visualizza la versione completa : [c++] Tombola


simo132
31-01-2013, 19:21
premetto che ho gia cercato nel forum, ma dalle discussioni non ci ho capito granchè !
Come da titolo ho scritto il seguente codice per fare un programma di estrazione per la tombola
Il programma parte ma genera solo lo stesso numero e non arriva neanche a 90 numeri !
Come mai?

ps. Ho iniziato il 3° di informatica a settembre e la prof non ha ancora spiegato le matrici, ma ho comunque voluto provare a farlo, visto che è da un paio di natali che ho quest'idea.

Ecco il codice:


#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
int risp;
const int r=9;
const int c=10;
int matrice [r] [c];
void carica (int m[r] [c]);
void stampa (int m[r] [c]);
bool ricerca (int m[r] [c],int e);
int main()
{
cout<<" +-----------------------------------+"<<endl;
cout<<" | Benvenuto nel gioco della Tombola |"<<endl;
cout<<" +-----------------------------------+"<<endl;
cout<<" v 1.0"<<endl;
cout<<endl;
cout<<endl;
cout<<endl;

do
{
cout<<" Premi 1 per estrarre un numero;"<<endl;
cout<<" Premi 2 per visualizzare i numeri;"<<endl;
cout<<" Premi 3 per uscire."<<endl;

cin>>risp;
switch(risp)
{
case 1: carica (matrice);cout<<endl;break;
case 2: stampa (matrice);cout<<endl;break;
}
}
while(risp!=3);
cout<<" ";
}


//Estrazione numero
void carica (int m[r] [c])
{
int e;
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
srand(time(NULL));
e=rand()%91;
if(ricerca(m,e)==false) //ricerca numero uguale
{
m[r][c]=e;
cout<<m[r] [c]<<endl;
}
}
}
}


//ricerca numero uguale
bool ricerca (int m[r] [c],int e)
{
int i=0;
while(m[r] [c]!=e && i!=r)
{
i++;
if(m[r] [c]==e)
return true;
else
return false;
}
}


//stampa matrice
void stampa (int m[r] [c])
{
for(int i=0;i<r;i++)
{
for(int j=0;j<c;j++)
{
cout<<m[r] [c]<<endl;
}
}
}

oregon
31-01-2013, 19:49
srand(time(NULL));

va eseguito solamente una volta all'inizio del programma

simo132
31-01-2013, 20:14
quindi lo metto fuori dalla procedura di estrazione, nel main?

MItaly
31-01-2013, 20:25
Originariamente inviato da simo132
quindi lo metto fuori dalla procedura di estrazione, nel main?
Sì.

Tra parentesi, il codice va postato nei tag [co­de] ... [/co­de], altrimenti perde l'indentazione. Questa volta ho sistemato io, in futuro ricordatene. :ciauz:

simo132
31-01-2013, 22:50
ok ! http://img811.imageshack.us/img811/2893/40864164119186951539775.jpg


ultimissima cosa...per far generare il numero quando voglio io invece che insieme dove dovrei modificare?

Loading