Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
#1

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

09.03.2013, 20:04. Просмотров 1480. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 20:04     Проверка на корректность входных данных
Посмотрите здесь:

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

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

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

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

Проверка правильности входных параметров конструктора - C++
Как проверить допустимость передаваемых входных параметров конструктора класса? Точнее, проверку параметров конечно, можно сделать в теле...

Проверка строки на корректность - C++
#include&lt;iostream&gt; #include&lt;cstring&gt; #include &lt;conio.h&gt; using namespace std; int main(){ char a; char a1; char a3; ...

Проверка на корректность операции - C++
Добрый день. Не знаю как лучше задать вопрос. Смысл идеи таков: Есть интерфейс типа данных (IVariable) и наследники от него,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.03.2013, 13:31     Проверка на корректность входных данных #21
Цитата Сообщение от The_bolT Посмотреть сообщение
И почему нужно использовать именно двухмерный массив, почему нельзя обойтись простым массивом?
Потому что номер делится на слова, которые по отдельности проверяются на правильность.

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

Добавлено через 2 минуты
Если результат нужно записать в поле класса (char phon), то, после успешного ввода, из массива последовательно извлечь три слова и записать через пробел (или как нужно).
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
10.03.2013, 13:34  [ТС]     Проверка на корректность входных данных #22
alsav22, Спасибо, теперь понял что к чему!
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.03.2013, 13:38     Проверка на корректность входных данных #23
Самое рациональное - первый вариант. Остальное - извращения (это уже не C++, а что-то непонятное).
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
10.03.2013, 13:41  [ТС]     Проверка на корректность входных данных #24
Я бы с радостью принял первый вариант, но нам нельзя использовать vector ни string, из STL ничего нельзя использовать!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2013, 13:45     Проверка на корректность входных данных
Еще ссылки по теме:

Считывание, проверка на корректность - C++
Как считать uint64_t с клавиатуры, вывести на экран и проверить, что это именно неотрицательное целое число, а не double или char...

Проверка указателя на корректность - C++
Есть у меня указатель class* test = new class(); И он в цикле вечно используется. Так вот как сделать проверку , что этот указатель на...

Проверка на корректность ввода числа - C++
Здравствуйте. Помогите решить данную проблему. Есть длинное число, хочу проверить, чтобы вводились только числа. Функция ввода: ...

Проверка на корректность ввода года - C++
помогите сделать так, что бы kolvostr нельзя было присвоить 0, а год должен быть не более 2009 #include &lt;fstream&gt; #include...

Проверка на корректность логического выражения - C++
Добрый вечер. На входе имеем логического выражение которое может содержать : 1. константы : 0 или 1 2. скобки : () 3....


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

Или воспользуйтесь поиском по форуму:
alsav22
10.03.2013, 13:45     Проверка на корректность входных данных
  #25

Не по теме:

Я это понял.

Yandex
Объявления
10.03.2013, 13:45     Проверка на корректность входных данных
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru