ciao ragazzi il mio quesito è il seguente :
premetto che non sono molto pretico di C++ ma stò provando ad avvicinarmici...e nel fare un piccolo programmino mi scontro con una cossa assurda :
questo è il codice. Come si vede dai commenti, il mio dilemma è quel getchar() nella funzione nuovaNota(), che se non metto, quando poi eseguo il programma, di fatto non mi fa fare l'input del cin.getline(). il programma di fatto termina senza errori ma non mi fa scrivere nulla.codice:#include <iostream> #include <string> #include <stdio.h> using namespace std; /** * dichiarazione prototipi di funzione **/ int menu(); void nuovaNota(); /* MAIN */ int main() { int s; s=menu(); switch(s) { case 1 : nuovaNota(); break; case 2 : break; } return 0; } /** * Funzione MENU() **/ int menu() { int sel; cout<<" DIARIO"<<endl; cout<<"-----------------------------------------------"; cout<<endl; cout<<" 1 --> Nuova nota "<<endl; cout<<" 2 --> Esci "<<endl; cout<<endl; cout<<" -:> "; cin>>sel; return sel; } /** * Funzione nuovaNota() **/ void nuovaNota() { const int nChar = 99; char str[nChar+1]; cout<<"Nuova Nota"; cout<<endl; /* perchè devo metterci il getchar() perima del cin.getline() ??? */ getchar(); cin.getline(str,nChar); cout<<str; }
qualche idea ??