getline(cin, str);
читает новую строку, которая появляется после числа, прочитанного ранее, и немедленно возвращается с этой «строкой». Чтобы избежать этого, вы можете пропустить пробелы с помощью std::ws
перед чтением имени:
cout << "Enter number:";
cin >> number;
cout << "Enter name:";
ws(cin);
getline(cin, str);
...
Обратите внимание, что это также пропускает начальные пробелы после новой строки, поэтому str
не запускается с пробелами, даже если пользователь вводил их. Но в этом случае это, вероятно, функция, а не ошибка ...
Используйте приведенный ниже код в кнопке выхода Act4
'th Menu.xml
-
Intent intent = new Intent(Act4.this, Act1.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
А в методе onCreate()
вашего первого действия просто введите следующий код -
if (getIntent().getBooleanExtra("EXIT", false))
{
finish();
}
Это выйдет из вашего приложения.
Intent intent = new Intent(Act4.this, Act1.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Снимите флажок, прежде чем вернуться к предыдущему действию. Это может помочь вам.