0 / 0 / 0
Регистрация: 12.01.2022
Сообщений: 4
|
|
1 | |
Написать программу, которая считывает с клавиатуры строку символов, и имеет функцию, которая возвращает значения12.01.2022, 00:06. Показов 912. Ответов 8
Метки работа со строками (Все метки)
Написать программу, которая считывает с клавиатуры строку символов, и имеет функцию, которая возвращает значение 1, если строка состоит только с букв, значение 2, если строка состоит только из цифр, и значение 3 в других случаях.
Важные моменты: делать через библиотеку <cstring>, считывать через gets. Вот что у меня получилось, но у меня проблемы с функциями и типами Код
#include <iostream> #include <cstring> using namespace std; int check_str(char str); int main() { setlocale(LC_ALL, "Russian"); char str[100]; cout << "Введите строку:" << endl; cin >> str; cout << endl; if (check_str(str) == 1) { cout << "Эта строка из одних букв" << endl; } else if (check_str(str) == 2) { cout << "Эта строка из одних цифр" << endl; } else if (check_str(str) == 3) { cout << "Эта строка не только из одних букв или цифр" << endl; } return 0; } int check_str(char str) { if ((isalpha(str)) != 0) { return 1; } else if ((isdigit(str)) != 0) { return 2; } else return 3; }
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
12.01.2022, 00:33 | 2 |
0
|
0 / 0 / 0
Регистрация: 12.01.2022
Сообщений: 4
|
|
12.01.2022, 00:58 [ТС] | 3 |
Преподаватель
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
12.01.2022, 01:22 | 4 | |||||
Сообщение было отмечено adelina_ как решение
Решение
для латиницы. ввод через cin.getline
1
|
0 / 0 / 0
Регистрация: 12.01.2022
Сообщений: 4
|
|
12.01.2022, 01:29 [ТС] | 5 |
Yetty, Я только позже поняла, что проверяю не каждый символ в строке и нужен цикл... Спасибо большое)
0
|
12.01.2022, 01:52 | 6 | |||||
adelina_, я бы не слушал препода, сделал бы так:
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
12.01.2022, 01:56 | 7 |
Royal_X, проверьте код:
uy67 The given string contains only numeric characters
0
|
12.01.2022, 02:10 | 8 | |||||
Сообщение было отмечено Royal_X как решение
Решение
Yetty, тогда так
Yetty, проверьте код у вас наоборот
1
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
12.01.2022, 02:39 | 9 | |||||
спасибо за внимательность
adelina_, замените функцию:
0
|
12.01.2022, 02:39 | |