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

Код со структурой не возвращает ничего - C++

Восстановить пароль Регистрация
 
Gouvere
 Аватар для Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
06.08.2014, 08:53     Код со структурой не возвращает ничего #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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
struct time {
    unsigned char hour;
    unsigned char minute;
    unsigned char second;
};
 
bool set(time &, unsigned char, unsigned char, unsigned char);
 
int main() {
 
    time t;
 
    set(t, 13, 47, 24);
 
    cout << t.hour << endl;
    
    cin.get();
    return 0;
}
 
bool set(time & st, unsigned char h, unsigned char m, unsigned char s) {
    if(h > 23 || m > 59 || s > 59) {
        return false;
    }
 
    st.hour = h;
    st.minute = m;
    st.second = s;
 
    return true;
}
Скажите, пожалуйста, почему он выводит пустоту? Я же ведь давал значение t.hour через set().
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2014, 08:53     Код со структурой не возвращает ничего
Посмотрите здесь:

C++ разработайте функцию типа float, что возвращает сумму двух входных параметров, если значения первого параметру парное, иначе возвращает их разницу
Работа со структурой C++
программа со структурой C++
написать функцию, которая сканирует строку и возвращает слово если ASCII код каждой буквы этого слова четный C++
помогите со структурой C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
06.08.2014, 09:17     Код со структурой не возвращает ничего #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Потому что выводится символ, соответствующий коду 13, т.к. тип полей char.
Gouvere
 Аватар для Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
06.08.2014, 09:21  [ТС]     Код со структурой не возвращает ничего #3
fishec, спасибо! Я и не подумал об этом. Просто недавно перешел с Си и там тип char можно было выводить как цифру через printf.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
06.08.2014, 09:24     Код со структурой не возвращает ничего #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
20
    cout << static_cast<int>( t.hour ) << endl;
Gouvere
 Аватар для Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
06.08.2014, 09:27  [ТС]     Код со структурой не возвращает ничего #5
SatanaXIII, у меня еще вопрос: при преобразовании char в int, получается, что вместо 1 байта будет затрачено 4?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
06.08.2014, 09:40     Код со структурой не возвращает ничего #6
Цитата Сообщение от Gouvere Посмотреть сообщение
при преобразовании char в int, получается, что вместо 1 байта будет затрачено 4?
Да. При выводе будет задействовано четыре байта. Для хранения так же останется один байт - никаких дополнительных расходов.

Добавлено через 66 секунд
C++
1
cout << sizeof( static_cast<int>( t.hour ) );
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2014, 10:24     Код со структурой не возвращает ничего
Еще ссылки по теме:

C++ со структурой
C++ Слишком сложный код программы, ничего не понимаю(
Работа со структурой C++

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

Или воспользуйтесь поиском по форуму:
Gouvere
 Аватар для Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
06.08.2014, 10:24  [ТС]     Код со структурой не возвращает ничего #7
SatanaXIII, спасибо) Тему можно закрывать)
Yandex
Объявления
06.08.2014, 10:24     Код со структурой не возвращает ничего
Ответ Создать тему
Опции темы

Текущее время: 12:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru