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

Как записать правильно? Программа работает но код наверно не верен. - C++

Восстановить пароль Регистрация
 
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
08.08.2011, 19:26     Как записать правильно? Программа работает но код наверно не верен. #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
#include <iostream>
 
using namespace std;
 
int main()
{
 
    long sek;
    cout << "Enter the number of senonds: ";
    cin >> sek;
    cout << sek << " seconds = ";
    
    int hours;
    int minutes;
    int day;
    long bez_sek;
    int sekonds;
   
    sekonds = sek%60;
    bez_sek = sek-sekonds;
    hours = bez_sek/60/60; 
 
    if (sek>90059)
    {    
             day = hours/24;
             cout << day << " day, ";
             hours = hours%24;
             cout << hours << " hour, ";
    }
    if (sek<90059)
    {        
             cout << hours << " hour, ";
    }
 
    minutes = bez_sek/60;
    minutes = minutes%60;
    cout << minutes << " minutes, ";
   
 
    cout << sekonds <<" sekonds." <<endl <<endl;
    
system ("PAUSE");
    return 0;
}
И подскажите в каких случаях пишется "return 0;" - что-то возвращает куда-то).

Вот задание:
Миниатюры
Как записать правильно? Программа работает но код наверно не верен.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2011, 19:26     Как записать правильно? Программа работает но код наверно не верен.
Посмотрите здесь:

программа(наверно с перегрузкой что то) C++
Правильно ли работает программа? C++
C++ Программа работает не правильно
C++ Не правильно работает код
C++ Не могу разобраться почему не работает программа(Код, написанный на Borland C++ не работает в Dev C++)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zuq
 Аватар для zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
08.08.2011, 19:43     Как записать правильно? Программа работает но код наверно не верен. #2
Цитата Сообщение от KeyGen Посмотреть сообщение
И подскажите в каких случаях пишется "return 0;" - что-то возвращает куда-то).
Возвращает системе значение при завершении. Принято, что если вернуть 0 - приложение завершилось "удачно". Если не 0 - "не удачно"
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.08.2011, 20:02     Как записать правильно? Программа работает но код наверно не верен. #3
"используйте символьные константы"
Ни одной не увидел.
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
08.08.2011, 20:05  [ТС]     Как записать правильно? Программа работает но код наверно не верен. #4
Символьные константы это char? В чем прикол объясните пожалуйста.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.08.2011, 20:06     Как записать правильно? Программа работает но код наверно не верен. #5
Я вот и сам думаю, что это за чушь... Возможно имелось ввиду просто константы.
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
08.08.2011, 20:09  [ТС]     Как записать правильно? Программа работает но код наверно не верен. #6
Да и еще в примере исполнения программы дни есть, минуты есть, даже секунды есть, а вот часы забыли). Я вот думаю что за ерунда?
alemor
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 61
08.08.2011, 20:19     Как записать правильно? Программа работает но код наверно не верен. #7
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
#include <iostream>
#include <conio.h>
#include <clocale>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    const int chasinsytk = 24, mininchas = 60, sekinmin = 60;
    long int sek;
    int min, hours, days, sekonds, bez_sek;
    cout << "Введите количество секунд: ";
    cin >> sek;
    sekonds = sek % 60;
    bez_sek = sek-sekonds;
    hours = bez_sek / sekinmin / mininchas;
    days = hours / chasinsytk;
    hours %= hours;
    min = (bez_sek / sekinmin) % sekinmin;
    if(hours == 0)
    cout << sek << " секунд = " << days << " дней, " << min << " минут, " << sekonds << " секунд.";
    else
    cout << sek << " секунд = " << days << " дней, " << hours <<" часов, " << min << " минут, " << sekonds << " секунд.";
    getch();
    return 0;
}
Накидал по быстрому) Хотя задание сформулированно странно)
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.08.2011, 20:27     Как записать правильно? Программа работает но код наверно не верен. #8
alemor, желательно либо учитывать все ситуации, при которых минуты, секунды, часы равны нулю, либо не учитывать совсем.
Введите 86400, и тогда смысла в 22-23 строках нет.
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
08.08.2011, 21:13  [ТС]     Как записать правильно? Программа работает но код наверно не верен. #9
Цитата Сообщение от alemor Посмотреть сообщение
long int sek;
Почему не просто long?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.08.2011, 21:47     Как записать правильно? Программа работает но код наверно не верен. #10
Long int == long
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2011, 22:53     Как записать правильно? Программа работает но код наверно не верен.
Еще ссылки по теме:

Почему правильно работает код? C++
C++ Не правильно работает программа
C++ Неправельно работает конструктор(наверно)

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
08.08.2011, 22:53     Как записать правильно? Программа работает но код наверно не верен. #11
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
#include <iostream>
using namespace std;
 
int main()
{   const int denom[] = {60, 60, 24};
    const char *names[] = {" seconds", " minutes, ", " hours, ", " days, "};
    int res[4];
 
    long int input;
    int i;
 
    cout<<"Time in seconds:\t";
    cin>>input;
 
    for(i=0;i<3;i++)
    {   res[i] = input % denom[i];
        input /= denom[i];
    }
    res[3] = input;
 
    cout<<"That is:\t";
    for(i=3;i>-1;i--)
        cout<<res[i]<<names[i];
    
    cin.sync(); cin.get();
    return 0;
}
Контрольный пример дает несколько отличный от образца результат - там действительно упущены часы
Миниатюры
Как записать правильно? Программа работает но код наверно не верен.  
Yandex
Объявления
08.08.2011, 22:53     Как записать правильно? Программа работает но код наверно не верен.
Ответ Создать тему
Опции темы

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