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

Что-то не так с классом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавление в таблицу http://www.cyberforum.ru/cpp-beginners/thread758927.html
Ночи доброй ;> Помогите с програмиой. Во входном потоке встречаются в произвольном порядке подцепочки a1a1+a1a1a1( a1 a1a1a1 … Выделить все такие подцепочки и включить их в таблицу в порядке...
C++ Напишите программу, которая заполняет массив из 30 элементов случайными числами в диапазоне от 0 до 100, и выводит значения элементов массива на экран 2. Напишите программу, которая заполняет массив из 30 элементов случайными числами в диапазоне от 0 до 100, и выводит значения элементов массива на экран. http://www.cyberforum.ru/cpp-beginners/thread758925.html
Что означает const после круглых скобок функции C++
всем привет. скажите, а что здесь значит const? int func(int var) const { return get; }
C++ Напишите программу, которая заполняет массив из 15 элементов. Данные вводятся с клавиатуры.
1. Напишите программу, которая заполняет массив из 15 элементов. Данные вводятся с клавиатуры.
C++ Даны действительные числа x1 , x2 , x3 , y1 , y2 , y3 . Принадлежит ли начало координат треугольнику с вершинами (x1,y1), (x2,y2), (x3, y3)? http://www.cyberforum.ru/cpp-beginners/thread758919.html
Написать код программы. Вот условие Даны действительные числа x1 , x2 , x3 , y1 , y2 , y3 . Принадлежит ли начало координат треугольнику с вершинами (x1,y1), (x2,y2), (x3, y3)?
C++ Исправить ошибки #include<iostream> using namespace std; class empty { setlocale(LC_ALL,"rus_rus.1251"); char*obj_name; public: //Конструктор empty(char*name) {cout<<"Создан объект с... подробнее

Показать сообщение отдельно
kernell_dll
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 9

Что-то не так с классом - C++

11.01.2013, 18:18. Просмотров 254. Ответов 9
Метки (Все метки)

Решил попробовать себя в объектно-ориентированном программировании. Начал писать простую программку, но встретился с проблемой: не работает ничерта. Программа ещё не дописана, а ввод чисел не работает уже.

Я понимаю, объяснение кривое, поэтому вот код, а чуть ниже результат (осторожно! быдлокод):
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
#include <iostream>
#include <string>
using namespace std;
 
class Notation
{
        int radix; //Основание системы счисления
        string num; //Само число
        bool nvalidation(string n);//Из-за неоднозначности функции имеют 
        bool rvalidation(int r, int min = 2, int max = 36); //различные названия
    public:
        void putRadix(); //Ввод основания
        void putNum(); //Ввод числа
        Notation(); //Конструктор, вызывающий предыдущие две функции
        ~Notation();    
};
 
bool Notation::nvalidation(string n) //Проверяем корректность значения
{
    if (10 > n.length())
    {
        cout << "\nНекорректное значение!";
        return true;
    }
    for (int i = 0; i <= 9; i++)
    {
        if (n.find(i) == string::npos)
        {
            continue;
        }
        else
        {
            cout << "\nНекорректное значение!";
            return true;
        }
    }
    return false;
}
 
bool Notation::rvalidation(int r, int min, int max) //Проверяем корректность значения
{ 
    if (r < min || r > max)
    {
        cout << "\nНекорректное значение!";
        return true;
    }
    else
    {
        return false;
    }
}
 
void Notation::putRadix()
{ 
    float radix1;
    bool waft = false;
    while (waft == true)
    {
        cout << "\nВведите основание: ";
        cin >> radix1;
        waft = rvalidation (radix1);
    }
    this -> radix = radix1;
}
 
void Notation::putNum() 
{
    bool waft = false;
    while (waft == true)
    {
    cout << "\nВведите число: ";
    cin >> this -> num;
    waft = nvalidation (num);
    }
}
 
Notation::Notation()
{
    cout << "\n\nЭта программа осуществляет перевод между различными системами счисления";
    this -> putRadix();
    this -> putNum(); 
}
 
Notation::~Notation()
{
    cout << " ", radix, " ", num;
}
                                       
int main()
{
    setlocale(LC_ALL,"Russian"); //Это чтобы в cmd.exe корректно отображалась кириллица
    Notation test;
}
Сам вопрос: что я делаю не так?

Собственная догадка: что-то не так в коде конструктора.
0
Миниатюры
Что-то не так с классом  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru