Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
73 / 73 / 12
Регистрация: 22.01.2013
Сообщений: 231

Проверка на корректность входных данных

09.03.2013, 20:04. Показов 5047. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать программу, которая бы проверяла строку на корректность. Допустимый формат вот такой +7 (233) 555-11-22. Как это сделать? В голову ничего толкового не лезет. Написал вот такое, но оно почему-то не работает, в конце рушится и выдает вот такую ​​ошибку: Run-Time Check Failure #2 - Stack around the variable 'phone' was corrupted.
Самой функции проверки не реализовано, думаю что вы поможете
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
 
class Phone
{
    friend ostream &operator<<(ostream &,const Phone&);
    friend istream &operator>>(istream &,Phone &);
private:
    char phon[15];
};
 
ostream &operator<<(ostream & out,const Phone &Obj)
{
    out<<Obj.phon;
 
    return out;
}
 
istream &operator>>(istream &inp,Phone &Obj)
{
    inp>>Obj.phon;
 
    return inp;
}
 
int main()
{
    Phone phone;
    cin>>phone;
    cout<<phone;
    system("pause>0");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2013, 20:04
Ответы с готовыми решениями:

Проверка входных данных на корректность
Модифицировать программу так, чтобы в случаи ввода некорректных данных сообщалась ошибка с пояснением и предлагался повторный ввод до тех...

Проверка входных данных: вызов и обработка исключения
Всем привет. Не могу разобраться с проверкой входных данных. Нужно чтобы если я ввел какой либо символ вместо числа возбуждалось...

Проверка на корректность введенных данных
дана задача ввести номер телефона пробел и дата в формате день. месяц. год. Выполнить простейшую проверку на корректность введенных данных....

24
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.03.2013, 13:31
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от The_bolT Посмотреть сообщение
И почему нужно использовать именно двухмерный массив, почему нельзя обойтись простым массивом?
Потому что номер делится на слова, которые по отдельности проверяются на правильность.

Цитата Сообщение от The_bolT Посмотреть сообщение
зачем там эта проверка?
Проверка на количество слов в номере (должно быть три). Проверка на количество символов в этих словах.

Добавлено через 2 минуты
Если результат нужно записать в поле класса (char phon), то, после успешного ввода, из массива последовательно извлечь три слова и записать через пробел (или как нужно).
1
73 / 73 / 12
Регистрация: 22.01.2013
Сообщений: 231
10.03.2013, 13:34  [ТС]
alsav22, Спасибо, теперь понял что к чему!
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.03.2013, 13:38
Самое рациональное - первый вариант. Остальное - извращения (это уже не C++, а что-то непонятное).
0
73 / 73 / 12
Регистрация: 22.01.2013
Сообщений: 231
10.03.2013, 13:41  [ТС]
Я бы с радостью принял первый вариант, но нам нельзя использовать vector ни string, из STL ничего нельзя использовать!
0
10.03.2013, 13:45

Не по теме:

Я это понял.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2013, 13:45

Проверка на корректность вводимых данных
В моём коде должны быть ТОЛЬКО вводимые числа от -1000 до 1000 (с плавающей точкой). Если пользователь вводит СИМВОЛ или числа ВНЕ моего...

Проверка введенных данных cin на корректность
Вот кусок кода : input1 : cout&lt;&lt;&quot;Введите количество животных которые когда либо жили у вас : &quot;; cin&gt;&gt;amountPats; if...

Портирование кода на С++ (проверка вводимых данных пользователем на корректность)
Требуется портировать код с С# на С++. Код на шарпе - очень простой. В нем не используются языковые особенности шарпа, перевести, я думаю,...

Проверка входных данных
Нужно что бы после каждого ввода &quot;а&quot;, проверялось 0&lt;=a&lt;100. ConsoleKeyInfo a; Random rnd = new Random(); ...

Проверка входных данных
есть список допустимых команд, например: Старт, Стоп, Сканирование. Необходимо чтобы при вводе данных пользователем происходила проверка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru