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

Как при вводе не переносить двоеточие на новую строку? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатель на шаблонный класс http://www.cyberforum.ru/cpp-beginners/thread959405.html
Есть ли возможность инициализировать указатель на класс с шаблоном, но не указав при этом тип, ну т.е. написать не так Value_Class <Value_Type> * Object; чтобы приберечь выбор шаблона до вызова конструктора оператором new Object = new <Value_Type> Value_Class (/*аргументы*/)
C++ Количество элементов последовательности, начиная с третьего, среднее арифметическое элементов Задача 2. Использование инструкций для организации циклов (обработка вещественных значений) Написать программу, в которой с клавиатуры вводится последовательность из k вещественных чисел (где значение k > 2), а затем вычисляются и выводятся: 1) количество элементов последовательности, начиная с третьего, которые не больше полу суммы двух первых элементов; 2) среднее арифметическое элементов... http://www.cyberforum.ru/cpp-beginners/thread959400.html
Поменять местам серии массива C++
Дано целое число K (K> 1) и целочисленный массив размера N. Поменять местами первую серию массива и его серию с номером K. Если серий в массиве меньше K, то вывести массив без изменений.(Назовем серией группу подряд идущих одинаковых элементов). предпочтительнее если будет на СИ
Алгоритм, обратный алгоритму Крускала C++
Требуется реализовать алгоритм поиска максимального остовного дерева
C++ Не могу до конца понять условие задачи http://www.cyberforum.ru/cpp-beginners/thread959385.html
Здравствуйте. Задача 9.5 из учебника программированию Б. Страуструпа: Создайте класс Library. Включите в него векторы классов Book и Patron. Включите также структуру Transaction и предусмотрите в ней члены классов Book, Patron и Date. Создайте вектор объектов класса Transaction. Создайте функции, добавляющие записи о книгах и клиентах библиотеки, а также о состоянии книг. Если пользователь взял...
C++ Перегрузка операторов 2 Пишу класс комплексных чисел. И возникла проблема.Я перегрузил операторы +-*/. Но когда использую их в строке типа a=b+c*d - где все переменные комплексные возникает проблема.Но когда я пишу a=c*d; a=a+b; так все работает. Подскажите как это исправить пожалуйста подробнее

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

Как при вводе не переносить двоеточие на новую строку? - C++

21.09.2013, 23:08. Просмотров 555. Ответов 2
Метки (Все метки)

Задача: Написать программу, в которой осуществляется перегрузка операции сложения. Разработать класс time, в состав которого включить операцию сложения его объектов. Объектом класса является время. Операторная функция, являясь методом класса time, складывает два времени. Результат - сложение двух значений времени.
Набирается время, cout переносит двоеточие на новую строку, puts еще и переводит на новую строку после двоеточия, scanfом тоже не получается. Можно вводить, как строку, но потом надо как-то разбивать и преобразовывать в int. Что посоветуете?

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
#include "stdafx.h"
#include <iostream>
#include <locale>
using namespace std;
 
class TIME{
    int x,y,z;
        public:
            int h;
            int m;
            int s;
            TIME()
                {x=y=z=0;}
            TIME(int x1,int y1,int z1)
                {x=x1;y=y1;z=z1;}
/*          TIME operator +(TIME rh_ob);
            TIME operator +(int d);*/
            friend TIME operator +(TIME lh_ob,TIME rh_ob);
            friend ostream&operator<<(ostream&sm,TIME ob);
            void vvod();
            int addh(int,int);
            int addm(int,int);
            int adds(int,int);
    };
/*
TIME TIME::operator +(TIME rh_ob)
{TIME tmp;
tmp.x=x+rh_ob.x;
tmp.y=y+rh_ob.y;
tmp.z=z+rh_ob.z;
return tmp;
}
 
TIME TIME::operator +(int d)
{TIME tmp;
tmp.x=x+d; 
tmp.y=y+d;
tmp.z=z+d;
return tmp;
}
*/
 
TIME operator +(TIME lh_ob,TIME rh_ob)
{TIME tmp;
tmp.x=lh_ob.x+rh_ob.x;
tmp.y=lh_ob.y+rh_ob.y;
tmp.z=lh_ob.z+rh_ob.z;
return tmp;
}
 
ostream&operator<<(ostream&sm,TIME ob)
{sm<<ob.x<<","<<ob.y<<","<<ob.z<<endl;
return sm;
}
 
/*void TIME::vvod()
    {char str[10];
    char *t;
    cin>>str;
    t=strtok(str,":");
    cout<<t;
        do
        {t=strtok(NULL,":");
        if(t)
            printf(":%s",t);
        }while(t);
    return t;
    }
*/
    
void TIME::vvod()
    /*{cout<<endl<<"часы: ";
    cin>>h;
    cout<<"минуты: ";
    cin>>m;
    cout<<"секунды: ";
    cin>>s; 
    }
    {scanf("%d",&h);
    puts(":");
    scanf("%d",&m);
    puts(":");
    scanf("%d",&s);
    }*/
 
{cin>>h;
cout<<":";
cin>>m;
cout<<":";
cin>>s;
}
 
int TIME::addh(int h1,int h2)
    {int ah;
    ah=h1+h2;
    return ah;
    }
 
int TIME::addm(int m1,int m2)
    {int am;
    am=m1+m2;
    return am;
    }
 
int TIME::adds(int s1,int s2)
    {int as;
    as=s1+s2;
    return as;
    }
 
int _tmain()
{setlocale (LC_ALL,"Russian");
int ah,am,as;
TIME F,S,A;
cout<<"Введите первое время: ";
F.vvod();
cout<<"Первое время: "<<F.h<<":"<<F.m<<":"<<F.s;
cout<<endl<<endl<<endl<<"Введите второе время: ";
S.vvod();
cout<<"Второе время: "<<S.h<<":"<<S.m<<":"<<S.s;
ah=A.addh(F.h,S.h);
am=A.addm(F.m,S.m);
as=A.adds(F.s,S.s);
 
if(as>=60)
    {am=am+1;
    as=0+(as-60);
    }
if(am>=60)
    {ah=ah+1;
    am=0+(am-60);
    }
cout<<endl<<endl;
if((ah<10)&&(am>10)&&(as>10))
    {cout<<"Сложенное время: 0"<<ah<<":"<<am<<":"<<as<<endl;}
else if((ah>10)&&(am<10)&&(as>10))
    cout<<"Сложенное время: "<<ah<<":0"<<am<<":"<<as<<endl;
else if((ah>10)&&(am>10)&&(as<10))
    cout<<"Сложенное время: "<<ah<<":"<<am<<":0"<<as<<endl;
else if((ah<10)&&(am<10)&&(as>10))
    cout<<"Сложенное время: 0"<<ah<<":0"<<am<<":"<<as<<endl;
else if((ah>10)&&(am<10)&&(as<10))
    cout<<"Сложенное время: "<<ah<<":0"<<am<<":0"<<as<<endl;
else if((ah<10)&&(am<10)&&(as<10))
    cout<<"Сложенное время: 0"<<ah<<":0"<<am<<":0"<<as<<endl;
else
    cout<<"Сложенное время: "<<ah<<":"<<am<<":"<<as<<endl;
cout<<endl<<endl;
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru