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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bizarre
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 12
#1

ошибки в программе - C++

28.11.2010, 11:17. Просмотров 235. Ответов 0
Метки нет (Все метки)

Программа состоит из файлов реализации, интерфейса и приложения.
Выдает кучу ошибок, никак не могу понять, что не так.
Помогите пожалуйста.

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
// в заголовочном файле dtime.h находится интерфейс класса DigitalTime.
// величины этого типа представляют собой время суток. Эти величины вводятся
// и выводятся в 24-часовых обозначениях, например: 9:30, 14:45.
//
 
#include <iostream>
 
using namespace std;
 
class DigitalTime
{
public:
    friend bool operator ==(const DigitalTime& time1, const DigitalTime& time2);
    // если time1 и time2 представляют одно и то же время, возвращает true, 
    // в противном случае возвращает false.
 
    DigitalTime (int the_hour, int the_minute);
    // Предусловие: 0<=the_hour<=23 и 0<=the_minute<=59.
    // Инициализирует переменные the_hour и the_minute.
 
    DigitalTime();
    // Инициализирует время значением 0:00 (полночь).
 
    void advance (int minutes_added);
    // Предусловие: объекту присвоено значение времени.
    // Постусловие: значение времени заменено тем,
    // которое наступит через minutes_added минут.
 
    void advance (int hours_added, int minutes_added);
    // Предусловие: объекту присвоено значение времени.
    // Постусловие: значение времени заменено тем,
    // которое наступит через hours_added часов и minutes_added минут.
 
    friend istream& operator >>(istream& ins, DigitalTime& the_object);
    // Пререгружает оператор >> для ввода величин типа DigitalTime.
    // Постусловие: если ins является потоком входного файла, 
    // то он должен быть присоединен к файлу.
 
    friend ostream& operator <<(ostream& outs, const DigitalTime& the_objects);
    // Пререгружает оператор << для вывода величин типа DigitalTime.
    // Постусловие: если outs является потоком выходного файла, 
    // то он должен быть присоединен к файлу.
 
private:            // Эта часть входит не в интерфейс, а в реализацию,
    int hour;       // о чем свидетельствует ключевое слово private.
    int minute;
};
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
// dtime.cpp: - файл реализации абстрактного типа данных DigitalTime.
// Интерфейс класса находится в заголовочном файле dtime.h.
 
#include <iostream.h>
#include <cctype.h>
#include <cstdlib.h>
#include "dtime.h"
#include "stdafx.h"
 
using namespace std;
 
// Эти прототипы нужны для определения перегруженного оператора >>:
void read_hour (istream& ins, int& the_hour);
// Предусловие: ввод в поток ins является временем. Примеры обозначений:
// 9:45, 14:45. Постусловие: переменной the_hour присвоено значение,
// соответствуещее количеству часов; двоеточие тоже считывается из потока,
// так что следующее чтение из потока даст минуты.
 
void read_minute (istream& ins, int& the_minute);
// Читает из потока количество минут после того, как количество часов 
// уже считано функцией read_hour.
 
int digit_to_int(char c);
// Предусловие: с является одной из цифр от 0 до 9. Возвращает целое число,
// соответствующее указанной цифре. Так digit_to_int('3') возвращает 3.
 
bool operator ==(const DigitalTime& time1, 
                 const DigitalTime& time2)
{
    return (time1.hour==time2.hour&&
        time1.minute==time2.minute);
}
 
// Использует cstdlib и iostream:
DigitalTime::DigitalTime (int the_hour, int the_minute)
{
    if (the_hour<0||the_hour>23||the_minute<0||the_minute>59)
    {
        cout<<"Ukazan nedopustimii argument"
            <<"konstruktora DigitalTime.";
        exit(1);
    }
    else 
    {
        hour=the_hour;
        minute=the_minute;
    }
}
 
DigitalTime::DigitalTime();
{
    hour=0;
    minute=0;
}
 
void DigitalTime::advance(int minutes_added)
{
    int gross_minutes=minute+minutes_added;
    minute=gross_minutes%60;
 
    int hour_adjustment=gross_minutes/60;
    hour=(hour+hour_adjustment)%24;
}
 
void DigitalTime::advance(int hours_added, int minutes_added)
{
    hour=(hour+hours_added)%24;
    advance(minutes_added);
}
 
istream& operator >> (istream& ins, DigitalTime& the_object)
{
    read_hour(ins, the_object.hour);
    read_minute(ins, the_object.minute)
    return ins;
}
 
ostream& operator << (ostream& outs, DigitalTime& the_object)
{
    outs<<the_object.hour<<':';
    if (the_object.minute<10)
        outs<<'0';
    outs<<the_object.minute;
    return outs;
}
 
int digit_to_int (char c)
{
    return (int (c)-int ('0'));
}
 
void read_hour (istream& ins, int& the_hour)
{
    char c1, c2;
    ins>>c1>>c2;
    if (!(isdigit(c1)&&(isdigit(c2)||c2==':')))
    {
        cout<<"Vvedeno nedopustimoe zna4enie"
            <<"peremennoi read_hour."<<endl;
        exit(1);
    }
 
    if (isdigit(c1)&&c2==':')
    {
        the_hour=digit_to_int(c1);
    }
    else // (isdigit(c1)&&(isdigit(c2))
    {
        the_hour=digit_to_int(c1)*10+digit_to_int(c2);
        ins>>c2; // сбhос символа ':'
        if (c2!=':')
        {
            cout<<"Vvedeno nedopustimoe zna4enie"
            <<"peremennoi read_hour."<<endl;
        exit(1);
        }
    }
    if (the_hour<0||the_hour>23)
    {
        cout<<"Vvedeno nedopustimoe zna4enie"
            <<"peremennoi read_hour."<<endl;
        exit(1);
    }
}
 
void read_minute(isteam& ins, int& the_minute)
{
    char c1, c2;
    ins>>c1>>c2;
 
    if (!(isdigit(c1)&&isdigit(c2)))
    {
        cout<<"Vvedeno nedopustimoe zna4enie"
            <<"peremennoi read_minute."<<endl;
        exit(1);
    }
 
    the_minute=digit_to_int(c1)*10+digit_to_int(c2);
 
    if (the_minute<0||the_minute>59)
    {
        cout<<"Vvedeno nedopustimoe zna4enie"
            <<"peremennoi read_minute."<<endl;
        exit(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
// timedemo.cpp :файл приложения. в программе продемонстрировано 
// применение класса DigitalTime.
 
#include <iostream>
#include "stdafx.h"
#include "dtime.h"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    DigitalTime clock, old_clock;
 
    cout<<"Vvedite vremya v 24-4asovih obozna4eniyah: ";
    cin>>clock;
 
    old_clock=clock;
    clock.advance(15);
    if (clock==old_clock)
        cout<<"4to-to ne tak."<<endl;
    cout<<"Vi vveli "<<old_clock<<endl;
    cout<<"4erez 15 minut budet "<<clock<<endl;
 
    clock.advance(2, 15);
    cout<<"4erez 2 chasa 15 minut posle etogo budet "<<clock<<endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 11:17     ошибки в программе
Посмотрите здесь:

Ошибки в программе - C++
Подскажите пожалуйста почему у меня в коде при сложении сантиметров если их сумма превышает 100 то не добавляется 1 метр. ...

Ошибки в программе - C++
Всем здравствуйте!!! Не так давно начала изучать С++ и вот делая очередную практическую наткнулась на ошибки и незнаю как исправить....

Ошибки в программе - C++
// На вход подается некоторое количество квадратов (координаты вершин). // Отсортировать и вывести их по возрастанию площадей. ...

Ошибки в программе - C++
Здравствуйте, уважаемые программисты. Помогите, пожалуйста, исправить ошибки в программе: #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; ...

Ошибки в программе - C++
Подскажите пожалуйста как возвести в квадрат число кроме умножения его самого на себя. /Составить программу, выводящую на экран квадраты...

ошибки в программе - C++
include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; int _tmain(int argc, _TCHAR* argv) { int i,n,j,temp; char ch,a; a='a'; ...

Ошибки в программе - C++
Мне необходимо реализовать алгоритм сортировки каскадным слиянием со специальным распределением. Я написал программу: #include...

Ошибки в программе - C++
Пкод не работает #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; unsigned long factfunc(unsigned long);//прототип ...

Ошибки в программе - C++
Вот сама программа. Дан целочисленный массив В. Заменить все его элементы их квадратами. #include &lt;iostream&gt; #include &lt;ctime&gt; ...

Ошибки в программе - C++
#include &lt;iostream&gt; using namespace std; struct employe { int number; float money; }; int main() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru