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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Посещение потоком определенной функции http://www.cyberforum.ru/cpp-beginners/thread923937.html
Можно ли как то узнать, какие именно потоки прошли через заданную функцию? студия 2012.
C++ Исправить задачу (написать прогу, которая запрашивает численность населения Земли и численность населения США) Задача: написать прогу, которая запрашивает численность населения Земли и численность населения США. Сохранить информацию в переменных типа long long. В качестве результата прога должна отображать процентное соотношение численности населения США и всего мира. Результат выполнения: Enter the world's population: 6898758899 Enter the population of the US: 310783781 The population of the US is... http://www.cyberforum.ru/cpp-beginners/thread923927.html
C++ Подключение dll к проекту из внешней директории
Всем привет. Компилятор: mingw IDE: обычный блокнот + консоль Ситуация: Я создаю несколько мини программ (~200 строк кода), но эти проекты требуют подключение сторонних библиотек. Соответственно после запуска, в папке с .exe файлом, должны лежать dll подключаемых библиотек. В том случае когда таких проектов 5-6 неудобно каждый раз дублировать dll. Я не хочу менять переменные среды,...
Задача с картинкой 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 _tmain(int argc, _TCHAR* argv)
C++ Нарушение прав доступа при чтении Здравствуйте. Собственно проблема вот в чем при вызове функции нахождения определителя выскакивает ошибка Необработанное исключение в "0x77bf15ee" в "Programming of linear algebra problems.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcdd5". Помогите понять в чем причина и исправить код. #include "stdafx.h" #include <iostream> #include <iomanip> #include <conio.h> #include... подробнее

Показать сообщение отдельно
M1ronz0r
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 69
16.07.2013, 12:30     Почему не создается второй объект класса?
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 раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru