У меня задание в с++, условие все написал но есть одно но в задаче сказано программа отключиться только если пользователь введет символ !, а если не введет она должна работать
тоесть например задача будет введите четные числа от одного до 10 если ввел четное то ответь будет верно. когда выйдет строка верно. программа не должна останвалитсья а должна работать и я должен вводить еще цифры до той степени пока не введу !
C/C++
Остановка программы c++
#include <iostream>
#include <string>
using namespace std;
bool is_number(const string& integer) {
auto begin = 0U;
auto end = integer.length();
if (integer.front() == '-' || integer.front() == '+') ++begin;
while (isdigit(integer.at(begin))) if (++begin == end) break;
return begin == end;
}
int main() {
system("chcp 1251 > nul");
string integer;
while (true) {
cout << "Введите чётное число: ";
cin >> integer;
while (cin.get() != '\n');
if (integer.front() == '!') break;
if (is_number(integer)) {
auto back = integer.back() - 48;
puts(back & 1 ? "Не верно!" : "Верно!");
} else puts("Ошибка!");
}
}
#include <string>
using namespace std;
bool is_number(const string& integer) {
auto begin = 0U;
auto end = integer.length();
if (integer.front() == '-' || integer.front() == '+') ++begin;
while (isdigit(integer.at(begin))) if (++begin == end) break;
return begin == end;
}
int main() {
system("chcp 1251 > nul");
string integer;
while (true) {
cout << "Введите чётное число: ";
cin >> integer;
while (cin.get() != '\n');
if (integer.front() == '!') break;
if (is_number(integer)) {
auto back = integer.back() - 48;
puts(back & 1 ? "Не верно!" : "Верно!");
} else puts("Ошибка!");
}
}
надо вводить символы и преобразовывать их в числа или анализировать на служебные символы
#include "iostream"
int main(){int a; while(std::cin>>a)std::cout<<a<<'\n';}
Заканчивает работу при вводе не-числа.
int main(){int a; while(std::cin>>a)std::cout<<a<<'\n';}
Заканчивает работу при вводе не-числа.
#include<stdio.h>
#include<locale.h>
#include<wchar.h>
union result
{
short int integer;
char string[2];
};
int main()
{
setlocale(0,"");
wprintf(L"Вводите значения от 0 до 10, для выхода нажмите '!'.\n");
union result res;
int n;
while(res.string[0]!='!')
{
wprintf(L"Введите значение:");
scanf("%s",res.string);
n=0;
/*
от res.string='0'(код 48) до
res.string='9'(код 57)
*/
for(int i=48;i<=57;i++)
{
if(res.integer==i)
res.integer=n;
else n++;
};
/*
если введено любое значение,
не входящее в '0'...'10',
то присваивается значение 10;
значение '!' не отображается
перед выходом из программы
*/
if((res.integer<0||res.integer>=10)&&(res.integer!=33))
res.integer=10;
if(res.integer!=33)
wprintf(L"Присвоено значение = %d \n",res.integer);
if(res.integer%2==0)
wprintf(L" Значение %d чётное\n",res.integer);
};
return 0;
}

#include<locale.h>
#include<wchar.h>
union result
{
short int integer;
char string[2];
};
int main()
{
setlocale(0,"");
wprintf(L"Вводите значения от 0 до 10, для выхода нажмите '!'.\n");
union result res;
int n;
while(res.string[0]!='!')
{
wprintf(L"Введите значение:");
scanf("%s",res.string);
n=0;
/*
от res.string='0'(код 48) до
res.string='9'(код 57)
*/
for(int i=48;i<=57;i++)
{
if(res.integer==i)
res.integer=n;
else n++;
};
/*
если введено любое значение,
не входящее в '0'...'10',
то присваивается значение 10;
значение '!' не отображается
перед выходом из программы
*/
if((res.integer<0||res.integer>=10)&&(res.integer!=33))
res.integer=10;
if(res.integer!=33)
wprintf(L"Присвоено значение = %d \n",res.integer);
if(res.integer%2==0)
wprintf(L" Значение %d чётное\n",res.integer);
};
return 0;
}

Похожие вопросы
- Составить программу c++ срочно пожалуйста
- Как уменьшить время работы программы? C++
- Составить программу C++, с помощью switch/case
- Написание программы C++ Массивы
- Написать программу. C++
- Помогите написать программу C++
- Помогите, пожалуйста, написать программу C++!
- Написать программу C++
- Изменить программу c++
- Неправильный вывод программы C++
вот как я написал
#include
#include
using namespace std;
int main (){
int p;
char s;
int v;
cout << "Enter an Character" << endl;
cin >> s;
v = (s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u'|| s == 'A' || s == 'E' || s == 'I' || s == 'O' || s == 'U');
if (v){
cout << "OK" << endl;
}
return 0;
}