Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema Compilazione
Forum - C/C++ - Problema Compilazione

Avatar
matteoiamma (Member)
Pro


Messaggi: 74
Iscritto: 18/06/2008

Segnala al moderatore
Postato alle 15:02
Venerdì, 28/08/2009
Ciao a tutti, so che non è la sezione giusta.

Sto imparando il C ++ .

Uso MIcrosoft Visual Studio C++ 2008.

E' una figata!!
(Mi sembra di programmare in php  , la sintassi di base è molto simile).

Ho un problema.

Creo un progetto di tipo "Progetto Consolo Win 32", poi al progetto aggiungo un file .cpp con questo codice:


Codice:
Codice sorgente - presumibilmente C#

  1. //MATTEOIAMMA - INDOVINA IL NUMERO IN C(C'è ANCHE UN CHETA CHE SI PUO' USARE XDXD)
  2. //:) - TEST C++  - LA MIA PRIMA APPLICAZIONE IN C - WWW.MATTEOIAMMARRONE.COM
  3.  
  4. #include <iostream>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. int main(){
  10. int numero_magico;
  11. int indovina;
  12. char trucco;
  13.  
  14.  
  15. numero_magico = rand();
  16.  
  17.  
  18. cout << "Vediamo se riesci ad indovinare il numero magico..Il numero magico cambia ogni volta che riavvii questa applicazione";
  19. cin >> indovina;
  20.  
  21. cin >> trucco;
  22.  
  23. if (trucco == "carla"){
  24. cout << numero_magico;
  25. }
  26.  
  27. if (numero_magico == indovina){
  28.  
  29. cout << "Indovinato!!! C'era solo una possibilità su 10 di indovinare il numero!";
  30.  
  31. } else {
  32.  
  33.    cout << "Non hai indovinato il numero!, peccato, del resto c'è solo una possibilità su 10";
  34.  
  35. }
  36.  
  37. }




Quando tento di compilarlo mi appare questo errore:

"The system cannot find the file specified!";

Dov'è l'errore?

grazie.
Matteo.

PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 15:39
Venerdì, 28/08/2009
Il codice non è corretto, non so se il problema di compilazione sia legato a questo, però inizio a correggerti alcuni errori:

La funzione rand restituisce un numero compreso tra 0 e 32767, non hai una probabilità su 10 di indovinare; per arrivare fino al numero 9 (10 probabilità), e per far variare a ogni avvio del programma il valore, devi scrivere,
Codice sorgente - presumibilmente Plain Text

  1. srand( time( 0 ) )
  2. rand() % 10



Una variabile char può contenere un solo carattere, per le stringhe puoi utilizzare lo stile C:, oppure la classe string. Usando il C++ il mio consiglio è ovviamente di non usare un puntatore a char, in stile C, ma di usare un oggetto string che, avendo l'operatore di uguaglianza ridefinito, può essere confrontato.

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 18:30
Venerdì, 28/08/2009
1) inizia dalle cose base per studiare il c++, non credo che l'uso della rand sia contemplato...anche perché vedo che non sai usare le stringhe
da php a c++ è un passaggio non tanto indolore, c++ ha una forte tipizzazione, stai attento.

2)descrivi i passaggi che hai fatto nel creare il progetto(tutti i passaggi) perché al momento non si può dire se ci sono errori

Ultima modifica effettuata da lorenzo il 28/08/2009 alle 18:31
PM Quote
Avatar
matteoiamma (Member)
Pro


Messaggi: 74
Iscritto: 18/06/2008

Segnala al moderatore
Postato alle 9:57
Sabato, 29/08/2009
"La funzione rand restituisce un numero compreso tra 0 e 32767, non hai una probabilità su 10 di indovinare"

XD

Io pensavo che la funzione rand si usasse come nel php, infatti avevo provato:

Codice sorgente - presumibilmente Plain Text

  1. numero_magico = rand(0, 10);




PM Quote
Avatar
giupeppe (Normal User)
Newbie


Messaggi: 11
Iscritto: 26/08/2009

Segnala al moderatore
Postato alle 10:41
Sabato, 29/08/2009
Nel c++ si usa così:
1+rand()%10;
così facendo partono da 1 a 10.
Devi includere la libreria cstdlib.

PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 11:07
Sabato, 29/08/2009
Testo quotato

Postato originariamente da giupeppe:

Devi includere la libreria cstdlib.



Giusto, mi ero dimenticato di dirti anche che per srand( time( NULL ) ) devi includere la ctime

PM Quote