RISOLTO Ciclo If, else

Stato
Discussione chiusa ad ulteriori risposte.

AITUS95

Nuovo Utente
109
11
Salve a tutti, sono alle prime armi con il c++, il mio problema è questo;

Codice:
#include <iostream>

using namespace std;

char frutto;
int quantita;

int main (){
    cout << "compri mele o arance ?";
    cin >> frutto;
   
    if (frutto == mele){
        cout << "quante mele compri ?";   
        cin >> quantita; }
       
    else if (frutto == arance){
        cout << "quante arance compri ?";
        cin >> quantita;
    }
   
    cout << "ok allora compri " << quantita << frutto << "giusto ?";
   
   
}

il compilatore mi segna in rosso la parte dove la variabile frutto deve chiamare il ciclo, mi era sorta una domanda, il ciclo if non accetta caratteri dopo la variabile ma solo numeri ?
 

Innominato00

Nuovo Utente
12
5
char, comprende solo un carattere, e nella condizione devi mettere if (frutto == 'm')
Se vuoi invece più di un carattere utilizza la libreria string, e fai if(frutto == "mele")
 
  • Mi piace
Reazioni: AITUS95

Themickelson

Nuovo Utente
86
15
Il char che io sappia accetta solo 1 Valore alfanumerico, se devi fare mele o arance devi usare una string e inserire i nomi dentro le virgolette

FreeWar Developer
 

AITUS95

Nuovo Utente
109
11
ho inserito la libreria e inserito string frutto; però mi segna sempre in rosso la condizione (frutto == 'mela') ecco l'errore:
 

Allegati

  • Cattura.PNG
    Cattura.PNG
    225.1 KB · Visualizzazioni: 184

Themickelson

Nuovo Utente
86
15
Affinché tutto sia più chiaro
Quando si tratta di un char e lo usi in un if o else si usano gli apici
Se si trattano di string si usano le virgolette

If (frutto == 'm')
If (frutto == "mela")


FreeWar Developer
 
  • Mi piace
Reazioni: AITUS95

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,210
1,846
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
il compilatore mi segna in rosso la parte dove la variabile frutto deve chiamare il ciclo, mi era sorta una domanda, il ciclo if non accetta caratteri dopo la variabile ma solo numeri ?

Solo per correttezza: l'if non è un ciclo, ma è un costrutto condizionale.
 
Stato
Discussione chiusa ad ulteriori risposte.

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili