PDA

Visualizza la versione completa : [c++] Perchè il cin.get() finale non viene sentito?


freetom
17-11-2009, 22:44
Ho questo mio codice che genera comb. costituite da tre elementi che dovrebbe mostrare a video tutte quelle generate e fermarsi all'ultima.. invece a mano di non andare passo passo... lo schermo mi si chiude senza darmi l apossibilità di vedere l'intero sviluppo delle combinazioni.




#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iomanip>


using namespace std;

string intToString(int value) {
stringstream ss;
ss << value;
return ss.str();
}

string floatToString(float value) {
stringstream ss;
ss << value;
return ss.str();
}


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

vector<string> vec;

int contaterzina=0;

int contatore=0;
int conteggio=0;
int presenze=0;
int presenze3=0;

int contaestrazioni=0;

int conteggio2=0;


vector<int> ritardi;
vector<int> ritardi2;

vector<string> terzineconritardi;
vector<string> terzineconritardi2;


int contacolpibuoni=0;

int va,vb,vc,vd,ve,vf,vg,vh,vi,vj;


int conta=0;

//QUI LA DECINA DI PARTENZA E':
//a=2,b=5,c=8,d=11,e=14,f=17,g=20,h=23,i=26,j=29

//quindi chiedendo in input va basterà mettere in espressione a=va-1...
//proviamo...

cout << "va?";
cin >> va;
cout << "vb?";
cin >> vb;
cout << "vc?";
cin >> vc;


/* analogamente ...





*/



for (int a=va-1; a<va+2; a++) {
for (int b=vb-1; b<vb+2; b++) {
for (int c=vc-1; c<vc+2; c++) {



cout << a;
cout << ",";
cout << b;
cout << ",";
cout << c;

cout << "\n";

//cin.get(); ////QUESTO CIN.GET() se "attivato" viene sentito...


conta++;


}
}
}



cout << "\n\n\n";
cout << "In tutto sono state generate: ";
cout << conta;
cout << " combinazioni!";

cin.get(); //QUESTO CIN.GET() non viene sentito... a meno che anche l'altro cin.get() non sia attivato e si proceda passo passo...



}



tnx

:ciauz:

MItaly
17-11-2009, 22:57
Stai mescolando input formattato (cin>>) e non formattato (cin.get()), che gestiscono il buffer di lettura in maniera differente. Una soluzione (che però non funziona su tutte le piattaforme) è piazzare prima di un input non formattato un cin.sync().

freetom
18-11-2009, 06:51
GRAZIE!!! :)

:ciauz:

MItaly
18-11-2009, 15:19
Prego, di niente. Ciao! :ciauz:

Loading