• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Lotteria in c++

Shruikan

Nuovo utente
Autore del topic
4 Maggio 2012
1
0
Miglior risposta
0
Salve utenti,
Ho creato questo piccolo programmino, una piccola lotteria, in grado di generare dei numeri random e cercare di indovinarli.
Il seguente programma funziona così:
  • Ti chiede quanti numeri vuoi inserire
  • Imettere i seguenti numeri
  • Una volta generati i numeri casuali, vi dice se avete indovinato qualche numero e poi ritentare, se non indovinate non compare alcun messagio e vi dice solo di ritentare.


Ecco il programma:

#include <cstdlib>
#include <iostream>
#include<ctime>
#define MAX 1000
using namespace std;

int main(int argc, char *argv[])
{
int n;
float a[MAX],b[MAX];
char risp;
system("color fc");
do{
do{
cout<<"Inserisci quanti numeri vuoi mettere \n";
cin>>n;
}while(n<0 || n>MAX);
for(int i=0; i<n;i++){
do{
cout<<"Inserire il "<<i+1<<" numero \n";
cin>>a;
}while(a>10);
}
for(int i=0; i<n;i++){
b=rand()%11;
cout<<"Il numero casuale e': "<<b<<"\n";
}
for(int i=0; i<n;i++){
if(a==b)
cout<<"Hai indovinato nella: "<<i+1<<" riga \n";
}
cout<<"Vuoi ritentate \n";
cin>>risp;
}while(risp=='s' or risp=='S');
cout<<"************************Crediti di Shruikan-DraftGamers*****************\n";
cout<<"************************www.draftgamers.altervista.org*******************\n";


system("PAUSE");
return EXIT_SUCCESS;
}
 
Riferimento: Lotteria in c++

C'è qualche errore, ma su per giù, facendo qualche aggiusto, il programma può andare bene.

Bravo ma è semplice da fare. ^^
 
Riferimento: Lotteria in c++

Questo vi dice quanto faccia schifo il DevC++/mingw che compila ed esegue questo codice anche con quella 'or'

Un compilatore degno di questo nome, fornisce 4 o 5 errori ...
 
Riferimento: Lotteria in c++

Questo vi dice quanto faccia schifo il DevC++/mingw che compila ed esegue questo codice anche con quella 'or'

Un compilatore degno di questo nome, fornisce 4 o 5 errori ...
Secondo me è colpa dell'utente invece, che avrà copiato i codici da qualche parte senza nemmeno compilarli.
Ho provato ad usare la or e la and con Dev C++ e me li segnala come errori, quindi non è colpa del compilatore. :emoji_slight_smile:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Riferimento: Lotteria in c++

... è colpa dell'utente ...

E' anche colpa dell'utente che non conosce il C, ovviamente, ma non è questo quello che mi interessava far notare.

Quello che volevo sottolineare è che il compilatore non ha battuto ciglio ... e il bello è che si utilizza anche nelle università ... mah.

Ho provato ad usare la or e la and con Dev C++ e me li segnala come errori, quindi non è colpa del compilatore. :emoji_slight_smile:

Mi dispiace @walter4991 ma anche tu sbagli non solo il compilatore.

1) Nessun errore sulla or/and viene evidenziato dal compilatore (a quali messaggi d'errore ti riferisci tu?)

2) Il tuo codice soffre di altri errori, che vengono segnalati, ovvero

void main()

che dovrebbe essere

int main()

e di conseguenza manca alla fine un

return 0;

e poi segnala la

print

nella seconda if

if(c=='x' and c!='y') print("ok1");

che dovrebbe essere

printf
 
Ultima modifica:
Riferimento: Lotteria in c++

@nothing no, a me segnala errori la or e la and. Inoltre che la main
sia di tipo void me la segnala come warning, quindi compila ugualmente. :emoji_slight_smile:

Si, è vero che ho sbagliato a scrivere la printf, ma non mi sono accorto nemmeno dell'errore
perchè ancora non me lo segnalava dato che trovava un errore ancora "più grosso".
Guarda gli screen, con l'errore della printf:

02505-f5393384-3c45-410c-b2b2-4e051822d107.png


Senza l'errore della printf:

02505-b9fb3cd0-a999-4d97-8967-548ed744c3f7.png
 
Riferimento: Lotteria in c++

Dipende dal compilatore usato ... molto probabilmente quello che usi tu è più aggiornato. Controlla quale usi.
 
Riferimento: Lotteria in c++

Manca anche il generatore di numeri casuali...
srand(time(0));
Oh My God
 
Riferimento: Lotteria in c++

allora è risaputo che in C e C++ or si scrive || mentre and &&
In JAVA e come dici tu che or si scrive or e and si scrive and
 
Riferimento: Lotteria in c++

Sarebbe di gran lunga meglio se questo codice fosse commentato, cavoli un commento non guasta, anzi fa capire meglio quello che un istruzione fa! al posto del #define usa le costanti: const int N=qualcosa ;)
 
@Walter In riferimento a quello che hai detto, volevo intervenire anche se un po' in ritardo :emoji_confused:
Un compilatore C++ traduce riga per riga, di conseguenza, quando trova un errore si ferma e non continua a tradurre. Con questo voglio dire che, trovato l'errore di 'or' e 'and', il compilatore non ha continuato a tradurre, segnalando l'errore. DevC++, come sappiamo, segnala l'errore di una riga precedente, marcando di rosso la riga successiva.
Spero di essere stato chiaro, qualsiasi cosa scrivimi in privato ;)