Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema system("color") c++

    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?
    Ultima modifica di dariustirla; 07-12-2014 a 21:15

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao, così funziona:

    codice:
    #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.


  3. #3
    Mi potresti spiegare anche perchè perchè dovrei esporlo in classe e non ho ancora capito cosa hai fatto :'(

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Prima nel tuo codice avevi

    codice:
    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*.

  5. #5
    grazie mille funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.