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

проверить ввод строки - C++

Восстановить пароль Регистрация
 
CHUCKe
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25
29.11.2010, 17:16     проверить ввод строки #1
вводится строка.надо проверить вот что
соответсвует ли введенная строка виду
Фамилия Название книги дата издания кол-во страниц
например
Ожегов Словарь 1999 940

учесть что нзвание может быть в кавычках

Добавлено через 21 час 59 минут
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
02.12.2010, 02:07     проверить ввод строки #2
boost::regex подойдет?
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
02.12.2010, 02:23     проверить ввод строки #3
Самый просто вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main(){
string author,name="";
int date,num=0;
while(cin >> author) 
    if(!author) cout << "ERROR"; 
    else {
        cin >> name; 
        if(!name) cout << "ERROR"; 
        else {
            cin >> date; 
            if(!date) cout << "ERROR"; 
            else {
            cin >> num; 
            if (!num) cout << "ERROR";
                 }
              }       
         }
}
CHUCKe
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25
02.12.2010, 21:23  [ТС]     проверить ввод строки #4
в том то и дело что в одну строку вводится фамилия название книги год и кол-во страниц.
если бы по словам то это бы не было проблемой а тут именно одна строка разбивается на имя название год и страницы и из них получаются новые строки
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
03.12.2010, 17:07     проверить ввод строки #5
Не слишком ли в вольной форме задается строка? Попробуйте как-то точнее определить формат ввода строки.
Авторов может быть несколько, у них еще есть имена, название книги может состоять из нескольких слов, цифр и разделителей, год может быть указан только двумя последними цифрами и т.п.

Например:
С.И.Ожегов, Н.Ю.Шведова Толковый словарь русского языка 91 940

Как определить, где заканчивается определение фамилий и начинается название книги?
Yandex
Объявления
03.12.2010, 17:07     проверить ввод строки
Ответ Создать тему
Опции темы

Текущее время: 00:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru