Ciao a tutti
dato il mio essere autodidatta nel linguaggio c++ (solo linguaggio fra l'altro ) dopo aver studiato un pò le basi (funzioni, array e far prendere decisioni) ho deciso di darmi un "esercizio" per mettere un pò insieme quello che ho (più o meno) imparato, ossia
Creare un' applicazione che ciclicamente continui a chiedere un carattere all'utente. Il ciclo si interromperà a discrezione di quest'ultimo pemendo un tasto prestabilito. Una volta premuto, l'applicazione deve chiedere se si vuole uscire dall'applicazione o no, e, in caso negativo, deve tornare a fare il ciclo.
detto questo, ho scritto (e riscritto, numerose volte) il codice:
#include <cstdio>
#include <iostream>
using namespace std;
char input1;
//bool answer (char input1)
// {if (input1 == 'y' || input1 == 'Y')
// answer = true;
// else if (input1 == 'n' || input1 == 'N')
// answer = false;
// return (answer);
// }
//array risposta
char answer (char input [2])
{ cout << "vuoi uscire?" << endl;
cin >> input1;
input[0] = 'y';
input [1] = 'n';
if (input1 == input[0])
{cout << "arrivederci!!" << endl;}
if (input1 == input[1])
{ciclo (); };
}
char ciclo (char input1)
{ cout << "premi un tasto" << endl;
cin >> input1;
do { cout << "premi un tasto" << endl;
cin >> input1; }
while (input1 != 'q',input1 != 'Q');
if (input1 == 'q', input1 != 'Q')
answer ();
};
int main (void)
{ char name [20];
cout << "come ti chiami? ";
cin >> name;
cout << "ciao" << name << "!" << endl;
ciclo ();
return 0;
}
creare un'applicazione che non si chiuda ho visto è semplice. semplicemente inserendo un ciclo do-while in main è possibile farlo andare finchè non si preme un tasto.
la funzione bool racchiusa dagli slash // è uno stralcio di tentativo per far funzionare la seconda domanda ("vuoi uscire?" ecc), ma non riuscendo a farlo funzionare ho optato per un piccolo array.
quello che chiedo io è qualche informazione riguardo alle funzioni ciclo e answer: come vedete ciclo è chiamata direttamente da main; ciclo dovrebbe ripetersi finchè non si preme q o Q: quando si preme questo tasto, viene chiamata la funzione answer. come risolvere questo problema? il compilatore mi continua a dire "ciclo undeclared, first use this function" o viceversa. Dal libro che sto studiando ho letto che bisogna dichiarare a priori le funzioni e il tipo di risultato che restituiscono. Provando però a mettere tipo
char ciclo (char input1)
mi riempie di altri errori!! come mi consigliate di fare?