Автор Гілка: Допоможіть вирішити задачу.  (Прочитано 4136 раз)

Відсутній starling-

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Треба вирішити ось таку, дуже просту задачу.
Функція main() повинна передати, два значення (година та хвилина), функції void яка відображає ці два значення у наступному вигляді.

Введіть години: 6
Введіть хвилини: 32
Час: 6:32

Ось мої спроби (тільки не сміятися)  :)
#include <iostream>
void time(int);
int main()
{
  using namespace std;
  int hour;
  int second;
  cout << "Введіть години: ";
  cin >> hour;
  cout << "Введіть секунди: ";
  cin >> second;
  cout << endl;
  cout << "Час: ";
  int me;
  me = hour;
  cout << ":";
  me = second;
  time(me);
  cout << endl;
  return 0;
}
void time(int n)
{
  using namespace std;
  cout << n << endl;
}

Відсутній maroz

  • Новачок
  • *
  • дописів: 4
  • Карма: +0/-0
Re: Допоможіть вирішити задачу.
« Відповідей #1 : 2012-10-18 17:45:33 »
печаль...  чому б тобі в твою мегафункцію не передати 2 аргумента, які ти вводиш з клавіатури, і відповідно в самій функції поправити вивід на екран?

п.с.Але код просто жесть.. як по оформленню, так і по змісту...
п.с.с. жесть ...  :o
« Змінено: 2012-10-18 17:46:34 від maroz »

Відсутній starling-

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Допоможіть вирішити задачу.
« Відповідей #2 : 2012-10-18 22:44:43 »
Розумію що жесть. :) Прочитав лише першу главу книги по С++, тому майже нічого не знаю. А ця задача є завданням в кінці глави. Підкажіть, будь ласка, як це зробити конкретніше (у коді).

Відсутній maroz

  • Новачок
  • *
  • дописів: 4
  • Карма: +0/-0
Re: Допоможіть вирішити задачу.
« Відповідей #3 : 2012-10-19 08:44:56 »
Цитата
Розумію що жесть. Посмішка Прочитав лише першу главу книги по С++, тому майже нічого не знаю. А ця задача є завданням в кінці глави. Підкажіть, будь ласка, як це зробити конкретніше (у коді).

якщо без всяких первірок на коректність введення даних (типу діапазон значень для годин 0-23, для хвилин відповідно 0-59 і т.д.) і на форматування виводу (типу якщо хвилин менше 10, то виводити ще додатково "0"), то буде шось типу отакого:

#include <iostream>

using namespace std;

void showTime(int h, int m) {
    cout << "Час: " << h << ":" << m << endl;
}

int main() {
    int hours, minutes;
    
    cout << "Введіть години: ";
    cin >> hours;
    cout << "Введіть хвилини: ";
    cin >> minutes;
    
    showTime(hours, minutes);
    
    return 0;
}

Відсутній starling-

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Допоможіть вирішити задачу.
« Відповідей #4 : 2012-10-19 09:43:23 »
Дякую! Я коли щось схоже намагався зробити, g++ мене помилками обсипав. Напевно у якійсь дрібній деталі помилився.
А чому ви не робите прототип функції? Можна і без нього? Ось тут скрін з підручника.

Відсутній maroz

  • Новачок
  • *
  • дописів: 4
  • Карма: +0/-0
Re: Допоможіть вирішити задачу.
« Відповідей #5 : 2012-10-19 14:21:08 »
нема сенсу. К.О.

Відсутній starling-

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Допоможіть вирішити задачу.
« Відповідей #6 : 2012-10-19 15:24:16 »
Я майже все правильно зробив, в одній із спроб.Треба було замість void time(int); ввести void time(int, int);.