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

Необработанное исключение по адресу при выводе на консоль - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран ромб из звездочек http://www.cyberforum.ru/cpp-beginners/thread1526005.html
Запишите оператор или набор операторов, печатающих на экране заданную фигуру.
C++ Recursion. 2 integers are multiplied together Объясните пжл выполнение данной рекурсии пошагово. Например, возьмем recur(3,2) и recur(2,4) int recur(int x, int y) { if (x == 0 || y == 0) return 0; else if (x == 1) return y; http://www.cyberforum.ru/cpp-beginners/thread1525998.html
Как осуществить неограниченный ввод в консоль? C++
Необходимо вводить в консоль случайное количество чисел разделенные пробелом, например: 2 10 11 9 Как это осуществить? Обычный cin не подходит, ведь он берет по 1 значению std::cin >> a; // при вводе "2 6" запомнит только "2"
Проверить условие: сумма цифр заданного числа N превосходит произведение цифр этого же числа на 1 C++
Составит линейную логическую программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае: сумма цифр заданного четырехзначного числа N превосходит произведение цифр этого же числа на 1. Помогите пожалуйста новичку, напишите как можно проще с комментами. Счастья тебе огромного добрый человечище)
C++ Не работает программа. Синтаксические ошибки http://www.cyberforum.ru/cpp-beginners/thread1525955.html
В программировании плохо шарю, компилятор указывает на "else" Но сам не могу додуматься. Помогите #include "stdafx.h" #include <math.h> #include <locale> #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Rus"); int a, b, c;
C++ Память для динамического массива в классе Вариант 9. Создать класс MASS1, заданный последовательностью чисел. Реализовать следующие вычисления в виде методов класса: " наибольшее число последовательности целых чисел, " наименьшее число последовательности целых чисел, " сумму чисел до первого наименьшего. В главной программе Описать 2 массива. #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h>... подробнее

Показать сообщение отдельно
SanychBY
 Аватар для SanychBY
38 / 45 / 1
Регистрация: 04.06.2013
Сообщений: 1,532
06.09.2015, 23:00     Необработанное исключение по адресу при выводе на консоль
Доброго времени суток.
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include <iostream>
#include <string>
using namespace std;
 
class YearData
{
public:
    int day;
    int month;
    int year;
    string yyy[12] = { "января","февраля","марта","аперля","мая","июня","июля","августа","сентября","октября","ноября","декабря" };
    YearData(int d, int m, int y)
    {
        day = d;
        month = m;
        year = y;
    }
    YearData()
    {
        day = 0;
        month = 0;
        year = 0;
    }
    void Print1()
    {
        cout << this->day << " " << this->yyy[month]  << " " << this->year << endl;
 
    }
    void Print2()
    {
        if (day < 10) cout << "0";
        cout << day << "/";
        if (month < 10) cout << "0";
        cout << month << "/" << year << endl;
    }
    bool Push(int d, int m, int y)
    {
        if ((d > 31 || d < 1) && (m > 12 || m < 1))
        {
            return false;
        }
        //YearData(d, m, y);
        day = d;
        month = m;
        year = y;
        return true;
    }
};
 
class MyBot
{
    YearData *Qwerty[100];
    int col = 0;
public:
    void Push()
    {
        int i = 0;
        cout << "Сколько ввести дат?\n> ";
        (cin >> i).get();
        col = i;
        for (int y = 0; y < i && i < 100;y++)
        {
            int d, m, g;
            cout << "День\n> "; (cin >> d).get();
            cout << "Месяц\n> "; (cin >> m).get();
            cout << "Год\n> "; (cin >> g).get();
            YearData *Q = new YearData;
            if (Q->Push(d, m, g))
            {
                Qwerty[y] = Q;
            }
            else
            {
                y--;
                cout << "Неверный формат даты, введите еще раз" << endl;
            }
        }
    }
    void MyPrint()
    {
        int p = 0;
        cout << "Формат\n";
        cout << "1 - 5 января 1997 года\n2 - 05/01/1997\n";
        (cin >> p).get();
        if (p == 1)
        {
            for (int i = 0;i < col;i++)
            {
                Qwerty[i]->Print1();
                cout << "------------" << endl;
            }
        }
        else if (p == 2)
        {
            for (int i = 0;i < col;i++)
            {
                Qwerty[i]->Print2();
                cout << "------------" << endl;
            }
        }
    }
    void ParamYear()
    {
        int p = 0;
        cout << "Введите год\n> ";
        (cin >> p).get();
        for (int i = 0; i < col; i++)
        {
            if (Qwerty[i]->year == p)
            {
                Qwerty[i]->Print1();
                cout << "------------" << endl;
            }
        }
    }
    void ParamAll()
    {
        int p = 0;
        cout << "Введите число\n> ";
        (cin >> p).get();
        for (int i = 0; i < col; i++)
        {
            if (Qwerty[i]->year == p || Qwerty[i]->day == p || Qwerty[i]->month == p)
            {
                Qwerty[i]->Print1();
                cout << "------------" << endl;
            }
        }
    }
    void ParamTwo()
    {
        for (int i = 0; i < col; i++)
        {
            int summ = Qwerty[i]->day + Qwerty[i]->month + Qwerty[i]->year;
            if (( summ & (summ - 1)) == 0)
            {
                Qwerty[i]->Print1();
                cout << "------------" << endl;
            }
        }
    }
    void menu()
    {
        int p = 0;
        do {
            cout << "1 - добавить дату\n2 - вывести даты\n3 -  список дат для заданного года\n4 - список дат, которые имеют заданное число\n5 -  список дат, у которых сумма всех чисел соответстувет степени двойки\n> ";
            (cin >> p).get();
            switch (p)
            {
            case 1: Push(); break;
            case 2:MyPrint();break;
            case 3:ParamYear();break;
            case 4:ParamAll();break;
            case 5:ParamTwo();break;
            default:
                break;
            }
        } while (p > 0);
    }
};
 
 
void main()
{
    setlocale(LC_ALL,"RU");
    MyBot BoT;
    BoT.menu();
    system("pause");
}
Программа компилируется, но вылетает на строке cout << this->day << " " << this->yyy[month] << " " << this->year << endl;
В чем может быть проблема? Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru