PDA

Visualizza la versione completa : [C++] ciclo post condizionale


9178angel
19-07-2004, 13:25
#include <iostream.h>
#include <stdlib.h>
//Tempo di ciascuna canzone

const double LWtempo = 2.37;
const double LEtempo = 6.85;
const double LBJtempo = 3.15;

//Costanti per la selezione
const int LW = 1;
const int LE = 2;
const int LBJ = 3;

//Struttura per info su juke box

class JukeBox
{
public:
int n_brani;
double tempo;
};

//PROGRAMMA PRINCIPALE

int main()
{
//Ciclo per la richiesta delle canzoni
int scelta;
JukeBox miojukebox;
Do
{
//Esegue le istruzioni fino allo "Stop!" dell'utente

cout << "Quali canzoni vuoi ascoltare?" << endl << endl
<< "1 -> Little Wing" << endl
<< "2 -> Little Earthquakes" << endl
<< "3 -> Little Brown Jug" << endl
<< "0 --> STOP!" << endl << endl;
cin >> scelta;
cout << endl;

//Si procede per casi

switch (scelta)
{
case LW:
miojukebox.tempo += LWtempo;
cout << "Un fantastico brano di Jimi Hendrix!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case LE:
miojukebox.tempo += LEtempo;
cout << "Un mito della dance music!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case LBJ:
miojukebox.tempo += LBJtempo;
cout << "Un brano da conquistadores!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
//Fine Switch
}
//Fine Do
}
while (scelta != 0);


cout << "Verranno riprodotte " << miojukebox.n_brani
<< " canzoni, per un totale di " << NumMinutes << " minuti e "
<< NumSeconds << " secondi"
<< endl << endl;

system("PAUSE");
//return 0;
}


non riesco a capire dov'è l'errore!!
please aiutatemi!!

xegallo
19-07-2004, 13:37
il linguaggio nel titolo :nonlodire

anatroccolo
19-07-2004, 16:13
#include <iostream>
#include <stdlib.h>

using namespace std;

//Tempo di ciascuna canzone

const double LWtempo = 2.37;
const double LEtempo = 6.85;
const double LBJtempo = 3.15;

//Costanti per la selezione
const int LW = 1;
const int LE = 2;
const int LBJ = 3;

//Struttura per info su juke box

class JukeBox
{
public:
int n_brani;
double tempo;
};

int main(int argc, char *argv[])
{

//Ciclo per la richiesta delle canzoni
int scelta;
JukeBox miojukebox;
do
{
//Esegue le istruzioni fino allo "Stop!" dell'utente

cout << "Quali canzoni vuoi ascoltare?" << endl << endl
<< "1 -> Little Wing" << endl
<< "2 -> Little Earthquakes" << endl
<< "3 -> Little Brown Jug" << endl
<< "0 --> STOP!" << endl << endl;
cin >> scelta;
cout << endl;

//Si procede per casi

switch (scelta)
{
case LW:
miojukebox.tempo += LWtempo;
cout << "Un fantastico brano di Jimi Hendrix!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case LE:
miojukebox.tempo += LEtempo;
cout << "Un mito della dance music!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case LBJ:
miojukebox.tempo += LBJtempo;
cout << "Un brano da conquistadores!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
//Fine Switch
}
//Fine Do
}
while (scelta != 0);


cout << "Verranno riprodotte " << miojukebox.n_brani
<< " canzoni, per un totale di " << miojukebox.tempo << " minuti e secondi"
<< endl << endl;



system("PAUSE");
return 0;
}


Prova così anche se ti ho tolto le variabili "NumMinutes" e NumSeconds" perchè non erano implememtate.

Ciao

9178angel
20-07-2004, 08:29
ma a cosa serve quella using name std?
e poi vorrei capire questa istruzione:
int main(int argc, char *argv[])
ed ancora ho provato a mandare in esecuzione il codice, e alla fine anzichè scrivermi che mi riproduce (per es.) 3 cnazioni me ne riproduce 3456987
boh? :master:

9178angel
20-07-2004, 08:47
scusate se scoccio un pò troppo...se digito 0 oltre a scrivermi che mi riproduce 3256987 canzoni la loro durata complessiva è un numero negativo (questo solo se digito zero cm primo numero)!!!!
vi rispedisco il codice


#include <iostream>
#include <stdlib.h>

using namespace std;

//Tempo di ciascuna canzone

const double LWtempo = 2.37;
const double LEtempo = 6.85;
const double LBJtempo = 3.15;

//Costanti per la selezione
const int LW = 1;
const int LE = 2;
const int LBJ = 3;
const int STOP = 0;

//Struttura per info su juke box

class JukeBox
{
public:
int n_brani;
double tempo;
};

int main(int argc, double argv[])
{

//Ciclo per la richiesta delle canzoni
int scelta;
JukeBox miojukebox;
do
{
//Esegue le istruzioni fino allo "Stop!" dell'utente

cout << "Quali canzoni vuoi ascoltare?" << endl << endl
<< "1 -> Little Wing" << endl
<< "2 -> Little Earthquakes" << endl
<< "3 -> Little Brown Jug" << endl
<< "0 --> STOP!" << endl << endl;
cin >> scelta;
cout << endl;

//Si procede per casi

switch (scelta)
{
case LW:
miojukebox.tempo += LWtempo;
cout << "Un fantastico brano di Jimi Hendrix!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case LE:
miojukebox.tempo += LEtempo;
cout << "Un mito della dance music!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case LBJ:
miojukebox.tempo += LBJtempo;
cout << "Un brano da conquistadores!!!"
<< endl << endl;
miojukebox.n_brani++;
break;
case STOP:
cout << "Verranno riprodotte " << miojukebox.n_brani
<< " canzoni, per un totale di "
<< miojukebox.tempo << " minuti e secondi"
<< endl << endl;
break;
default: cout << "BRANO SCONOSCIUTO" << endl << endl;
break;
//Fine Switch
}
//Fine Do
}
while (scelta != 0);

system("PAUSE");
return 0;
}



grazie in anticipo siete sempre molto gentili!!!!

anatroccolo
20-07-2004, 09:00
dovresti inizializzare a "0" le variabile pubbliche:

miojukebox.n_brani = 0;
miojukebox.tempo = 0;

altrimenti come valore contengono l'indirizzo di memoria.

Ciao

9178angel
20-07-2004, 09:42
e cosa significa using name std?

anatroccolo
20-07-2004, 11:38
http://forum.html.it/forum/showthread.php?s=&threadid=646015&highlight=using+namespace+std

Dovrebbe essere chiaro.

:ciauz:

Loading