PDA

Visualizza la versione completa : Problema system("color") c++


dariustirla
07-12-2014, 20:09
Buongiorno a tutti,
Io uso il comando system("color") per cambiare colore però non voglio impostare in modo predefinito il colore ma che lo debba scegliere l'utente infatti ho scritto questo codice:
include<stdio.h>
#include<iostream>
#include<windows.h>
#include<math.h>
#include<string>
using namespace std;
int main (void)
{
char a;
char b;
float c;
float d;
float op;
int cl;
char sf;
string p;
string name;
cout<<"INNANZITUTTO SCEGLIERE IL COLORE DEL CARATTERE TRA QUELLI PROPOSTI: 0=nero 1=blu scuro 2= verde 3= verde acqua 4=bordeaux 5=viola 6= verde oliva 7=grigio chiaro 8=grigio 9=blu ";
cin>>cl;
cout<<"ORA SCEGLI IL COLORE DELLO SFONDO TRA QUELLI PROPOSTI: A=verde limone B=azzurro C=rosso D=fucsia E=giallo F=bianco";
cin>>sf;
system("color cl sf");

MA NON FUNZIONA.... COSA POSSO FARE?

minomic
07-12-2014, 22:50
Ciao, così funziona:



#include<stdio.h>
#include<iostream>
#include<windows.h>
#include<math.h>
#include<string>
#include <sstream>


using namespace std;
int main (void)
{
char a;
char b;
float c;
float d;
float op;
int cl;
char sf;
string p;
string name;
cout<<"INNANZITUTTO SCEGLIERE IL COLORE DEL CARATTERE TRA QUELLI PROPOSTI: 0=nero 1=blu scuro 2= verde 3= verde acqua 4=bordeaux 5=viola 6= verde oliva 7=grigio chiaro 8=grigio 9=blu ";
cin>>cl;
cout<<"ORA SCEGLI IL COLORE DELLO SFONDO TRA QUELLI PROPOSTI: A=verde limone B=azzurro C=rosso D=fucsia E=giallo F=bianco";
cin>>sf;
string result;
stringstream sstm;
sstm << "color " << cl << sf;
result = sstm.str();
system(result.c_str());


return 0;
}



Sbagliavi a passare il comando.

:ciauz:

dariustirla
08-12-2014, 08:20
Mi potresti spiegare anche perchè perchè dovrei esporlo in classe e non ho ancora capito cosa hai fatto :'(

minomic
08-12-2014, 09:23
Prima nel tuo codice avevi


system("color cl sf");

Ma questo equivale a scrivere "color cl sf" (proprio le lettere "cl" e "sf") nella console. Tu invece vuoi scrivere i valori delle variabili memorizzate come "cl" e "sf", precedute dalla stringa "color". Ed è esattamente quello che ho fatto: ho concatenato la stringa color con i valori delle due variabili e ho memorizzato il risultato nella stringa "result". Quindi ho passato questa stringa alla system, chiamando prima la funzione c_str() che converte una string in un char*.

dariustirla
08-12-2014, 10:54
grazie mille funziona :)

Loading