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

Ошибка в реализации метода, проверяющего правильность данных. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивный метод http://www.cyberforum.ru/cpp-beginners/thread235971.html
Возможно, кто-то уже решал такую задачу как подпрограмму, или еще где. А, может, кто-то сходу видит, как это сделать. Динамическим методом мне уже помогли тут, за что огромное спасибо. Теперь...
C++ Двумерные массивы (напишите кто нибудь рабочий код, с меня пиво)) Опять я))) Блондинко))) Двумерные массивы (матрицы) 1. Дано число k (0 < k < 11) и матрица размера 4 x 10. Найти сумму и произведение элементов k-го столбца данной матрицы. ___ С меня... http://www.cyberforum.ru/cpp-beginners/thread235930.html
Что тут неправильно C++
Что в коде неправильно #include <windows.h> int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { MessageBox(NULL,"Hello World","Hello",MB_OK); return 0; } Ошибка: cannot convert const...
C++ посмотрите код пожалуйста,не могу сделать сортировку
Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество...
C++ Процедуры на С... http://www.cyberforum.ru/cpp-beginners/thread235887.html
Товарищи мужчины, прошу написать прогу по заданным условиям на языке С. Сама сколько не пробовала, ничего не могу понять... даже читая справочники по С... весь мозг уже изъела эта задача :( В...
C++ Найти количество элементов массива, лежащих в диапазоне от А до В В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от А до В; 2) сумму элементов массива, расположенных после максимального... подробнее

Показать сообщение отдельно
IndigoSAN
11 / 11 / 2
Регистрация: 21.10.2009
Сообщений: 54

Ошибка в реализации метода, проверяющего правильность данных. - C++

30.01.2011, 16:38. Просмотров 328. Ответов 1
Метки (Все метки)

Вводиться ISBN номер. Метод реализован ckeck_ISBN(string isbn)! Нужно проверить правильность введенного номера по шаблону xx-xx-xx-c.
xx - 2 символа типа integer;
с - 1 буква.
Но выдает ошибку при выполнении, может кто нить подскажет другой способ

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
class Book
{
public:
    void ckeck_ISBN(string isbn);
    void read_ISBNs();
    void read_titles();
    void read_name_authors();
    void read_checks();
    void print();
private:
    vector<string>ISBNs;
    vector<string>titles;
    vector<string>name_authors;
    vector<string>checks;
    string ISBN;
    string title;
    string name_author;
    string check;
    string error;
};
 
void Book::ckeck_ISBN(string isbn)
{
    int a[6];
    int count = isbn.length();
    if (count != 10)
    {
        cout<<"Error!\n";
        read_ISBNs();
    }
    else 
    {
        for (int i = 0; i < 2;i++)
        {
            a[i] = isbn[i];
            if (a[i] > 47 && a[i] < 58) {;}
            else {cout<<"Error 1_2!\n"; read_ISBNs();}
        }
        for (int i = 3; i < 5;i++)
        {
            a[i] = isbn[i];
            if (a[i] > 47 && a[i] < 58) {;}
            else {cout<<"Error 3_4!\n"; read_ISBNs();}
        }
        for (int i = 6; i < 8;i++)
        {
            a[i] = isbn[i];
            if (a[i] > 47 && a[i] < 58) {;}
            else {cout<<"Error 6_7!\n"; read_ISBNs();}
        }
    }
}[/COLOR]
 
void Book::read_ISBNs()
{
    cout << "Enter ISBN: ";
    getline(cin, ISBN);
    ckeck_ISBN(ISBN);
    ISBNs.push_back(ISBN);
}
 
void Book::read_titles()
{
    cout<<"Enter title: ";
    cin>>title;
    titles.push_back(title);
}
 
void Book::read_name_authors()
{
    cout<<"Enter Name Author: ";
    cin>>name_author;
    name_authors.push_back(name_author);
}
 
void Book::read_checks()
{
    cout<<"Enter check: ";
    cin>>check;
    checks.push_back(check);
}
 
void Book::print()
{
    for (int i = 0; i < ISBNs.size() && titles.size() && name_authors.size()  && checks.size(); i++)
        cout<<"ISBN: "<<ISBNs[i]<<"; Title: "<<title<<"; Name author: "<<name_author<<"; Ckeck: "<<check;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    Book b;
    b.read_ISBNs();
    b.read_titles();
    b.read_name_authors();
    b.read_checks();
    cout<<"\n";
    b.print();
    cin.get();
    cin.get();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru