Salve a tutti, mi chiamo Andrea e ho 20 anni.. e sono alle prime armi con il C++!studio infatti da poco questo linguaggio in università ( 2 mesi ) e oggi mi sono imbattuto in un dilemma mentre stavo programmando liberamente a casa mia..
Mi trovo a dover stampare su schermo una domanda, nel mio caso "Ci sono spese aggiuntive?", chiaramente con il cout, ma qui viene il mio dubbio.. voglio che il programma reagisca al mio input "si" oppure "no", e che nel caso scriva qualsiasi altra cosa mi stampi un messaggio d'errore del tipo "Per favore rispondi si o no".
Spulciando qua e là ho trovato varie soluzioni, ma nessuna di queste è stata realmente funzionante.. avevo pensato di usare le variabili booleane.. con una cosa di questo tipo:
Scusate la mia imprecisione ma ripeto.. sono alle prime armi.. :Pcodice:bool si = true; bool no = false; ... cout << "Ci sono spese aggiuntive?"; cin >> ( non saprei cosa mettere qui.. ) if (si) { cout << "inserisci la spesa.."; cin >> spesaagg }
.. oppure avevo pensato di provare con delle variabili char.. quindi:
ma nemmeno questa soluzione ha funzionato.. infatti il mio programma quando scrivo si (ma anche quando scrivo no, pallina, ciao e bingo) salta gli step successivi e conclude elaborando solo la parte di codice al di sopra di questo step.codice:char risposta; .. cout << "Ci sono spese aggiuntive?"; cin >> risposta; if (risposta=='si') {cout << "inserisci la spesa.."; cin >> spesaagg }
Spero di essere stato abbastanza chiaro.. in pratica non si tratta che di far riconoscere al programma che quando batto "si", mi deve chiedere a quanto ammontano queste spese aggiuntive, e quando batto no può procedere col resto del programma ( e se batto "ciao" che mi dia errore.. ma credo che capendo come far riconoscere al compilatore "si" o "no" non mi sarà difficile inserire un ciclo if con il controllo interno.. ).
Nel caso non mi fossi spiegato bene o vi tornasse più utile posso anche incollare il programma intero per come l'ho compilato fino ad ora! Anche se credo che di per sè sia un problema molto semplice da risolvere per qualcuno che ha più esperienza di me
Grazie dell'attenzione a chiunque risponderà! Chiaramente vi farò sapere se avrò risolto il problema :P