Я пишу код, который занимает два введенных пользователем времени и переключает их все в секунды (используя функцию), дает мне истекшее время и сохраняет его в моем заголовочном файле, затем записывает на экран истекшее время: чч: мм: сс У меня проблемы с работой в Time1. и Time.2 и delim1 и delim2, которые должны вводить двоеточие. У меня возникают ошибки, и я не могу заставить его работать. Я уверен, что есть и другие проблемы. Мне действительно нужна помощь, я застрял! Все ценится.
скажем, я ввожу 12:15:30 для времени начала и окончания, 13:30:30 должно быть выведено мое прошедшее время 1:15:00.
Кто-нибудь может понять это? Это звучит просто, но я потерялся. Я даже не могу получить цифры для чтения. Вот мой код: обновленный должен скомпилировать.
#include <iostream>
#include <fstream>
#include "C1A7E1_MyTime.h"
using namespace std;
void DeterminedElapsedTime(const MyTime& Time1,
const MyTime& Time2,
double& ElapsedTimeAsSeconds);
int main()
{
char *delim1 = ":";MyTime Time1;
MyTime Time2;
cout << "Input first clocktime and second clocktime (hh:mm:ss hh:mm:ss) \n";
cin >> Time1.hours >> delim1 >> Time1.minutes >> delim1 >> Time1.seconds;
cin >> Time2.hours >> delim1 >> Time2.minutes >> delim1 >> Time2.seconds;
// do validation of input, minutes and seconds 0 to 59
double ElapsedTimeAsSeconds = 0.0;
DeterminedElapsedTime(Time1, Time2, ElapsedTimeAsSeconds);
// need to do something with the answer - Convert to HH:MM:SS ?
return 0;
}
//function:
#include"C1A7E1_MyTime.h"void DeterminedElapsedTime(const MyTime& Time1, const MyTime& Time2, double& ElapsedTimeAsSeconds)
{
double elapsedtime;
double Time1AsSeconds = Time1.hours * 3600 + Time1.minutes * 60 + Time1.seconds;
double Time2AsSeconds = Time2.hours * 3600 + Time2.minutes * 60 + Time2.seconds;
ElapsedTimeAsSeconds = Time1AsSeconds - Time2AsSeconds;
}
//header file
struct MyTime {unsigned int hours, minutes, seconds; };
Задача ещё не решена.
Других решений пока нет …