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

Ошибка с целочисленными данными - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ непонятная ошибка http://www.cyberforum.ru/cpp-beginners/thread723309.html
Почему здесь выбивает ошибку? Помогите последнюю лабу сделать) if (x<(*Node)->l) Add(x,&(*Node)->l); #include <iostream.h> //=====НАША СТРУКТУРА======== struct Tree { Tree *l,*r; //левое и правое поддерево char x; //Некоторые данные };
C++ Расчет интегралов Доброго времени суток, если есть у кого нибудь программы для расчета интегралов методом Монте-Карло и методом прямоугольников, отпишитесь в теме. http://www.cyberforum.ru/cpp-beginners/thread723306.html
Алгоритм поиска А* C++
Помогите написать код на с++,реализирующий алгоритм поиска А*, пожалуйста. http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_A*
C++ Односвязный список. Вывести сумму последнего элемента и первого, предпоследнего и последнего и т.д.
Считываю с клавиатуры числа пока не встречаю 0. Например 1 3 7 5 8 1 0 Вывожу суму последнего элемента и первого, предпоследнего и последнего и т.д. То есть 2 11 12 Это очень легко если сделать на массивах или еще на чем-то, но все это нужно сделать используя списки.
C++ Индексация массива класса, через объект этого класса http://www.cyberforum.ru/cpp-beginners/thread723278.html
class A{ char c;//? - размер массива public: A(int C){c;} }; int main(){ A a(5);//вносим размер массива getch(); return 0;
C++ Перегрузка операторов Нужно для класса комплексных чисел перегрузить операторы. Односимвольные определить как дружественные, а двусимвольные, присваивание и ВВ-операторы - как методы класса. К примеру, объявление оператора декремента, как метода класса: Complex operator+=(Complex &); Вопрос в том, какой тип указывать для этих функций, когда объявляю их как дружественные? friend operator+(Complex &); подробнее

Показать сообщение отдельно
NobleTracer
1 / 1 / 0
Регистрация: 28.09.2012
Сообщений: 29
07.12.2012, 23:09  [ТС]     Ошибка с целочисленными данными
Код всего проекта
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once
#ifndef __DATE_H
#define __DATE_H
class date
{ int day;
int month;
int year;
int visokos(int) const;
int n;
 
public:
        date();
                int get_year() const {return year;};
                int get_month() const {return month;};
                int get_day() const {return day;};
                void vvod();
                void vivod();
                void n_day();
                void sys();
                void n_month();
 
};
#endif
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
#include "StdAfx.h"
#include "date.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <ctime>
#include <conio.h>
using namespace std;
 
int tab_day [2][12]= {{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
date::date() {cout<<"Готово!\n";}
int date:: visokos(int year) const
{ int k=year%4==0&&year%100!=0||year%400==0;
return k;
}
//Ввод дат
void  date::vvod()
{ N: cout<<"Введите ДД ММ ГГГГ\n";
cin>>day>>month>>year;
int k=visokos(year);
if (day<1||day>tab_day[k][month-1]||month<1||month>12||year<0)
{cout<<"Ошибка\n"; goto N;}
else cout<<"Дата введена\n";
}
 
//Получение даты системы
void  date::sys(){ 
    time_t t;
    tm *tk;
    time(&t);
    tk = localtime(&t);
    day = tk->tm_mday;
    month = 1+tk->tm_mon;
    year = 1900+tk->tm_year;
}
 
//Вывод даты
void date::vivod()
{
    cout<<setw(2)<<day<<'.'<<setw(2)<<month<<'.'<<year<<"\n";
}
 
//вычисляющую дату, на N дней вперед по заданной;
void date::n_day()
{ N: 
int k=visokos(year);
if ((day == 0) || (month == 0) || (year == 0)){
    cout<<"Ведите ДД ММ ГГГГ:\n";
    cin>>day>>month>>year;
    if (day<1||day>tab_day[k][month-1]||month<1||month>12||year<0)
    {cout<<"Ошибка\n"; goto N;}}
cout<<"Дата введена\n";
cout<<"Задания количества дней N\n";
cin>>n;
day=day+n;
while (day>tab_day[k][month-1])
    if (day>tab_day[k][month-1])
    {int i=day-tab_day[k][month-1];
day=i;
month++;
if (month>12)
{year++;
month=1;}
}
}
 
void date::n_month()
    { N: 
int k=visokos(year);
if ((day == 0) || (month == 0) || (year == 0)){
    cout<<"Ведите ДД ММ ГГГГ:\n";
    cin>>day>>month>>year;
    if (day<1||day>tab_day[k][month-1]||month<1||month>12||year<0)
    {cout<<"Ошибка\n"; goto N;}}
cout<<"Дата введена\n";
cout<<"Задания количества месяцев N\n";
cin>>n;
month=month+n;
while (month>12)
    if (day>tab_day[k][month-1])
    {int i=day-tab_day[k][month-1];
day=i;
month++;
if (month>12)
{year++;
month=1;}
}
}
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
#include "stdafx.h"
#include "date.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <stdio.h>
#include <ctime>
#include <conio.h>
#include <time.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Rus");
    begin:
    system("cls");
    cout<<"Выберите функцию\n\n";
    cout<<" 0. Выход\n";
    cout<<" 1. Ввод даты\n";
    cout<<" 2. Дата из системы\n";
    cout<<" 3. Изменение даты\n";
    cout<<" 4. Вывод\n"<<" ";
    int nom;
    cin>>nom;
    switch (nom)
    {
    case 0: exit(0);
    case 1: {date d; d.vvod(); break;}
    case 2: {date d; d.sys(); d.vivod(); system("pause"); goto begin; break;}
    case 3: {m1:
        system("cls");
        cout<<" 0. Выход\n";
        cout<<" 1. Изменить дату на несколько дней \n";
        cout<<" 2. Изменить дату на несколько месяцев\n";
        cout<<" 3. Изменить год на несколько лет\n";
        cout<<" 4. Назад\n"<<" ";
        cin>>nom;
        switch (nom){
        case 0:{ exit(0); break;};
            case 1:{date d; d.n_date(); d.vivod(); break;};
            case 2:{ break;};
            case 3:{ break;};
            case 4:{goto begin; break;};
            default :{goto m1; break;}}}
    case 4: {date d; d.vivod(); break;}
    default:cout<<"Не верно!";
        system("pause");
    }
}
 
Текущее время: 07:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru