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

Почему не создается второй объект класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посещение потоком определенной функции http://www.cyberforum.ru/cpp-beginners/thread923937.html
Можно ли как то узнать, какие именно потоки прошли через заданную функцию? студия 2012.
C++ Исправить задачу (написать прогу, которая запрашивает численность населения Земли и численность населения США) Задача: написать прогу, которая запрашивает численность населения Земли и численность населения США. Сохранить информацию в переменных типа long long. В качестве результата прога должна отображать... http://www.cyberforum.ru/cpp-beginners/thread923927.html
C++ Подключение dll к проекту из внешней директории
Всем привет. Компилятор: mingw IDE: обычный блокнот + консоль Ситуация: Я создаю несколько мини программ (~200 строк кода), но эти проекты требуют подключение сторонних библиотек....
Задача с картинкой C++
Ребят выручайте, ибо задали то что мне не посильно. Задача такая: Побайтово считать картинку, и заменить некоторые байты на буквы и посмотреть что получится с картинкой. Если кому не сложно напишите...
C++ зацикливание http://www.cyberforum.ru/cpp-beginners/thread923875.html
Не выдает нужного результата происходит зацыкливание // wer.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; int...
C++ Нарушение прав доступа при чтении Здравствуйте. Собственно проблема вот в чем при вызове функции нахождения определителя выскакивает ошибка Необработанное исключение в "0x77bf15ee" в "Programming of linear algebra problems.exe":... подробнее

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

Почему не создается второй объект класса? - C++

16.07.2013, 12:30. Просмотров 478. Ответов 13
Метки (Все метки)

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <string>
// Заголовочный файл students.h
class students
{
public:
    students(std::string user_name, std::string user_last_name)
    {
        set_name(user_name);
        set_last_name(user_last_name);
        nulled();
        std::cout << "Данные: " << get_name() << " " << get_last_name() << std::endl;
    }
    ~students()
    {
        std::cout << "Student deleted" << std::endl;
    }
    void nulled() //После создания объекта использовать эту функцию! (Обязательно.)
    {
        for (int i = 0; i < 50; i++)
        {
            english_scores[i] = 0;
            russian_scores[i] = 0;
            math_scores[i] = 0;
        }
    }
    /*int save_marks(int mass_marks[50])
    {
 
        return mass_marks[50];
    }*/
    void set_name(std::string user_name)
    {
        name = user_name;
    }
    std::string get_name()
    {
        return name;
    }
    void set_last_name(std::string user_last_name)
    {
        last_name = user_last_name;
    }
    std::string get_last_name()
    {
        return last_name;
    }
    void add_scores()
    {
        int user_change;
        std::cout << "Пожалуйста, выберете предмет: 1 - English; 2 - Russian; 3 - Math: ";
        std::cin >> user_change;
        if (user_change < 1 || user_change > 3) { add_scores(); }
        if (user_change == 1)
        {
            int there_marks = 0;
            for (int i = 0; i < 50; i++)
            {
                if (english_scores[i] > 0 && english_scores[i] < 6) { there_marks = there_marks + 1; }
            }
            if (there_marks == 0)
            {
                std::cout << "Введите первую оценку по английскому: ";
                std::cin >> english_scores[0];
            }
            else
            {
                std::cout << "Все оценки ученика по английскому: ";
                for (int i = 0; i < there_marks; i++)
                {
                        std::cout << english_scores[i] << " ";
                }
                std::cin >> english_scores[there_marks];
            }
        }
        if (user_change == 2)
        {
            int there_marks = 0;
            for (int i = 0; i < 50; i++)
            {
                if (russian_scores[i] > 0 && russian_scores[i] < 6) { there_marks = there_marks + 1; }
            }
            if (there_marks == 0)
            {
                std::cout << "Введите первую оценку по русскому: ";
                std::cin >> russian_scores[0];
            }
            else
            {
                std::cout << "Все оценки ученика по русскому: ";
                for (int i = 0; i < there_marks; i++)
                {
                        std::cout << russian_scores[i] << " ";
                }
                std::cin >> russian_scores[there_marks];
            }
        }
        if (user_change == 3)
        {
            int there_marks = 0;
            for (int i = 0; i < 50; i++)
            {
                if (math_scores[i] > 0 && math_scores[i] < 6) { there_marks = there_marks + 1; }
            }
            if (there_marks == 0)
            {
                std::cout << "Введите первую оценку по математике: ";
                std::cin >> math_scores[0];
            }
            else
            {
                std::cout << "Все оценки ученика по математике: ";
                for (int i = 0; i < there_marks; i++)
                {
                        std::cout << math_scores[i] << " ";
                }
                std::cin >> math_scores[there_marks];
            }
        }
        std::cout << "Еще будем? 1 - Да; 0 - нет ";
        std::cin >> user_change;
        if (user_change == 1) { add_scores(); }
    }
private:
    std::string name;
    std::string last_name;
    std::string english;
    std::string russian;
    std::string math;
    std::string klassnaya;
    int english_scores[50];
    int russian_scores[50];
    int math_scores[50];
    float average_math;
    float average_english;
    float average_russian;
};
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
#include <iostream>
#include <string>
#include "students.h"
int *schetchik = new int(1);
bool truepass (std::string passwordf)
{
    std::string password = "qwerty";
    if (password == passwordf) {
        return true;
    }
    else {
        return false;
    }
}
void check_pass()
{
    std::string user_password;
    std::cout << "Пожалуйста, введите пароль: ";
    getline(std::cin,user_password);
    if ( *schetchik == 3) 
    {
        std::cout << "Отказано в доступе." << std::endl;
        delete schetchik;
    }
    else 
    {
        if (!truepass(user_password))
        {
            std::cout << "Пароль неверный!" << std::endl;
            *schetchik = *schetchik + 1;
            check_pass(); 
        }
        else 
        {
            std:: cout << "Доступ получен!" << std::endl;
            delete schetchik;
        }
    }
}
 
void new_student() // Эта функция работает только 1 раз, второй раз - некорректно (Вводится только имя)
{
    std::string name;
    std::cout << "Введите имя нового студента: ";
    getline(std::cin,name);
    std::string last_name;
    std::cout << "Введите фамилию нового студента: ";
    getline(std::cin,last_name);
    students *Student = new students(name,last_name);
    Student->nulled();
    delete Student;
    int user_change;
    std::cin >> user_change;
    if (user_change = 1) { new_student(); }
}
 
int main()
{
    setlocale(0, "");
    //check_pass();
    new_student();
    /*std::string name;
    getline(std::cin,name);
    std::string last_name;
    getline(std::cin,last_name);
    students *Vasya = new students(name,last_name);*/
    //Vasya->add_scores();
    return 0;
 
}
Функция void new_student() создает объект только 1 раз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru