Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 31

Как исправить ошибку в программе?

19.11.2015, 19:56. Показов 1327. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот условие задачи - Написать процедуру, которая осуществляет перерасчет величины временного интервала, который задан в минутах в значения, заданной в часах и минутах (использовать функции div и mod)
Вот код -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<conio.h>
#include<math.h>
#include<string.h>
using namespace std;
void main()
{
    setlocale(LC_ALL,"Russian");
    int c;
    div_t a;
    cout<<"Введите время \n";
    cin>>c;
    a= div (c,60);
    cout<<"Полученное время \n";
    cout<<a<<","<<fmod(c,60);
    _getch();
}
А вот ошибка -
error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "div_t" (или приемлемое преобразование отсутствует) в строке cout<<a<<","<<fmod(c,60);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2015, 19:56
Ответы с готовыми решениями:

Как исправить ошибку в программе
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include &lt;fstream&gt; std::string first_word(const char *filename) { ...

Подскажите, как исправить 1 ошибку в программе?
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; double min = 0; /* зовнiшня змiнна */ int...

Не знаю как исправить ошибку в программе
Добрый день. Вот код программы: #pragma argsused #include &lt;iostream.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; void insert (int...

15
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
19.11.2015, 20:01
Bttv_,ну а кто подключать cstdlib будет за вас?
0
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 31
19.11.2015, 20:03  [ТС]
Насколько мне известно в C++ достаточно подключить #include <iostream> и уже будут подключены все заголовочные файлы.
0
50 / 49 / 29
Регистрация: 11.11.2014
Сообщений: 332
19.11.2015, 20:20
Bttv_, Ошибаешься.
0
3 / 3 / 2
Регистрация: 30.11.2014
Сообщений: 23
19.11.2015, 20:21
Цитата Сообщение от Bttv_ Посмотреть сообщение
подключить #include <iostream>
<iostream> отвечает только за ввод/вывод информации, но никак не для подключения дополнительных типов данных
1
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 31
19.11.2015, 20:25  [ТС]
Даже после подключения cstdlib остается та же ошибка.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
19.11.2015, 20:42
Лучший ответ Сообщение было отмечено Bttv_ как решение

Решение

Цитата Сообщение от Bttv_ Посмотреть сообщение
C++
1
cout<<a<<","<<fmod(c,60);
C++
1
cout << a.quot << "," << a.rem;
либо не выпендриваться и использовать операции "/" и "%".
1
 Аватар для na1l
18 / 11 / 8
Регистрация: 07.09.2013
Сообщений: 63
19.11.2015, 20:45
Bttv_
C++
1
#include <cmath>
??
0
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 31
19.11.2015, 21:13  [ТС]
После всех дополнений получается вот такой код, но в нем все равно есть ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<conio.h>
#include<math.h>
#include<string.h>
#include <cmath>
using namespace std;
void main()
{
    setlocale(LC_ALL,"Russian");
    int c;
    div_t a;
    cout<<"Введ1ть час \n";
    cin>>c;
    cout<<"Ваший час \n";
    cout<<a.quot<<","<<a.rem;
    _getch();
}
warning C4700: использована неинициализированная локальная переменная "a", а после продолжения компиляции Run-Time Check Failure #3 - The variable 'a' is being used without being initialized.
0
 Аватар для na1l
18 / 11 / 8
Регистрация: 07.09.2013
Сообщений: 63
19.11.2015, 21:23
Bttv_
warning - не ошибка, а предупреждение о том, что переменная "a" у вас не использована
http://www.cplusplus.com/reference/cstdlib/div/
C++
1
2
3
a = div(someVal, someValue);
a.quout // возвращает целое от someVal / someValue
a.rem // возвращает остаток
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
19.11.2015, 21:25
Лучший ответ Сообщение было отмечено Bttv_ как решение

Решение

Цитата Сообщение от Bttv_ Посмотреть сообщение
использована неинициализированная локальная переменная "a"
я дико извиняюсь, но Шарик - ты балбес!!!Вот это
Цитата Сообщение от Bttv_ Посмотреть сообщение
C++
1
a= div (c,60);
кто будет делать?
1
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 31
19.11.2015, 21:35  [ТС]
Переменная a использована, но программа выдает ошибку
C++
1
2
3
4
5
div_t a;
    cout<<"Введите время \n";
    cin>>c;
    cout<<"Полученное время \n";
    cout<<a.quot<<","<<a.rem;
Добавлено через 5 минут
Всем большое спасибо, программа работает!
0
 Аватар для na1l
18 / 11 / 8
Регистрация: 07.09.2013
Сообщений: 63
19.11.2015, 21:49
div_t структура, используемая для возвращения результата деления операцией div
вы же в переменную a не записываете никакого деления, поэтому не откуда взять целое и остаток от деления
1
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 31
20.11.2015, 15:51  [ТС]
Kerry_Jr, А можно как-то поконкретнее записать эту строку?
C++
1
cout << a.quot << "," << a.rem;
Напишите пожалуйста как записать через операции / и %.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
20.11.2015, 15:58
Bttv_, как выше написал na1l, div_t структура, используемая для возвращения результата деления операцией div. У этой структуры есть 2 поля типа int:
C++
1
2
3
4
5
struct div_t
{
    int quot;
    int rem;
};
Функция div принимает 2 аргумента: число, которое нужно разделить, и число, НА которое нужно разделить. Внутри функции происходит примерно следующее
C++
1
2
3
4
5
6
7
8
div_t div(int num, int den)
{
    div_t a;
    a.quot = num / den;
    a.rem = num % den;
   
    return a;
}
Это код примерный, но описывает суть процесса и тех самых операций / и %.
1
 Аватар для na1l
18 / 11 / 8
Регистрация: 07.09.2013
Сообщений: 63
20.11.2015, 16:01
Лучший ответ Сообщение было отмечено Bttv_ как решение

Решение

Bttv_ можно попробывать сделать переменную а типа int, присвоить какое то значение и
C++
1
cout << a / 60 << ", " << a % 60 << endl;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2015, 16:01
Помогаю со студенческими работами здесь

Исправить ошибку в программе.
#include&lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; using namespace std; int main() {double A; int...

Исправить ошибку в программе
здравствуйте,помогите пожалуйста,выдает ошибку в этой строке if (q==j) #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

исправить ошибку в программе
Как переместить этот треугольник из 1 в правый верхний угол? #include &lt;iostream&gt; #include&lt;math.h&gt; using namespace std; ...

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

Исправить ошибку в программе
не могу сдать зачет((( в С++ полный ноль((( надеюсь на ваше понимание.. Укажите и исправьте ошибку в программе. Полагайте, что int...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru