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

Работает не так как надо(классы) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Действия с файлом http://www.cyberforum.ru/cpp-beginners/thread860181.html
Товарищи, помоги пожалуйста. Дан файл f, компоненты которого являются действительными числами. Найти: а) наибольшее из значений компонент; б) наименьшее из значений компонент с четными номерами; в) наибольшее из значений модулей компонент с нечетными номерами; г) сумму наибольшего и наименьшего из значений компонент; д) разность первой и последней компонент файла.
C++ Составить программу вычисления суммы любого количества произвольных чисел Очень нужна помощь в написании простых программ в С++ Изучал паскаль,на последнем курсе перешли на С++, а времени изучать нет... Задачи следующие: 1) Составить программу вычисления суммы любого количества произвольных чисел. Заранее благодарен! http://www.cyberforum.ru/cpp-beginners/thread860148.html
Я не знаю как реализовать метод сортировки C++
Вот в чем заключается моя задача Описание классов. Базовый класс "Строки": виртуальные функции вычисления длины и сортировки с выводом результата. Производный класс "Большие буквы": значение строки, конструктор с параметром, виртуальные функции вычисления длины и сортировка по возрастанию с выводом результата. Производный класс "Малые буквы": значение строки, конструктор с параметром,...
Написать стек на указателях C++
хочю знать как написать стёк на указателях мне нужно чтобы можно было добавлять новые елемнты сколько угодно а уберать не обязтельно пробовал разные варианты но постоянно ошибки(уже при работе екзешника) может тут есть кто про указатели хорошо знает и подскажет)
C++ Не выделяется память http://www.cyberforum.ru/cpp-beginners/thread860121.html
#include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; class DynArray { public: int size, end; int *v;
C++ Выполняет одно и тоже действие! #include <iostream> #include <math.h> using namespace std; int main() { float A, B, C, S, R, K, P, CH; подробнее

Показать сообщение отдельно
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
09.05.2013, 23:28     Работает не так как надо(классы)
Задача.
Создать класс хранящий в себе инн. Проверить его на верность и вывести результат.

C++
1
2
3
4
5
6
7
8
9
10
11
12
class NIP
{
public:
    NIP(const char*);
    ~NIP(void);
 
    void setNIP(const char* N) {strcpy(eNIP,N);}
    const char * getNIP() const {return eNIP;}
 
private:
    char *eNIP;
};
И код на проверку
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
int checkSum() {
    int sum;
    sum = 6 * NIP[0] +
        5 * NIP[1] +
        7 * NIP[2] +
        2 * NIP[3] +
        3 * NIP[4] +
        4 * NIP[5] +
        5 * NIP[6] +
        6 * NIP[7] +
        7 * NIP[8];
    sum %= 11;
 
    if (NIP[9] == sum)
        return 1;
    else
        return 0;
}
 
 
void NIPValidator(char* NIPNumber) {
    int i;
 
    if (strlen(NIPNumber) != 10){
        valid = 0;
    }
    else {
        for (i = 0; i < 10; i++){
            NIP[i] = NIPNumber[i] - 48;;
        }
        if (checkSum()) {
            valid = 1;
        }
        else {
            valid = 0;
        }
    }
}
А теперь как это все собрать в кучу, при этом сделав функцию на проверку static???

Добавлено через 1 час 54 минуты
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
class NCheck
{
public:
    NCheck(void);
    ~NCheck();
 
    int validSum;
    char NIPs[200];
    char NIP[10];
    
    static bool NIPValidator(char* NIPNumber, char* NIP) {
        int i, valid, sum, validSum;
 
        sum = 6 * NIP[0] +
            5 * NIP[1] +
            7 * NIP[2] +
            2 * NIP[3] +
            3 * NIP[4] +
            4 * NIP[5] +
            5 * NIP[6] +
            6 * NIP[7] +
            7 * NIP[8];
        sum %= 11;
 
        if (NIP[9] == sum)
            validSum = 1;
        else
            validSum = 0;
        //---------------------------------//
 
        if (strlen(NIPNumber) != 10){
            valid = 0;
        }
        else {
            for (i = 0; i < 10; i++){
                NIP[i] = NIPNumber[i] - 48;
            }
            if (validSum == 1) {
                //valid = 1;
                return true;
            }
            else {
                //valid = 0;
                return false;
            }
        }
    }
 
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    NCheck n;
 
    cout << "Enter NIP: ";
    cin >> n.NIPs;
 
    n.NIPValidator(n.NIPs, n.NIP);
 
    if(true){
        printf("GOOD\n");
    }
    else {
        printf("BAD\n");
    }
 
 
    return 0;
 
}
вываливается что-то, что не так то?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru