Time.h в VS 2015 - C (СИ)
Формулировка задачи:
здравствуйте!!!
пытаюсь изучить функции тайм.теорию изучил пришло время практики .копирую код с википедии дабы разобраться методом тыка,студия ругается,пробовал разные коды с разных источников,результата нет.....
#include <stdio.h>
#include <time.h>
int main(int argc, char** argv[])
{
time_t t = time(NULL);
tm* aTm = localtime(&t);
printf("%04d/%02d/%02d %02d:%02d:%02d \n",aTm->tm_year+1900, aTm->tm_mon+1, aTm->tm_mday, aTm->tm_hour, aTm->tm_min, aTm->tm_sec);
getchar();
return 0;Решение задачи: «Time.h в VS 2015»
textual
Листинг программы
#include <time.h>
#include <stdio.h>
#pragma warning (disable:4996)
#include<math.h>
float vremya(int c , int y )
{
float x=0, x1=0;
int t1 = 3600 * c + 60 * y; //вычисляем в секундах время с начала парковки
time_t i = time(NULL) - t1; // вычисляем разницу от начала до конца парковки
struct tm *t;
t = localtime(&i);
x = t->tm_hour;
x1 = t->tm_min;
x += (x1 /= 100);
printf("%.2f\n", x);
//ceil(x);
return x;
}
double summa(int chasy)
{
float cena;
if (chasy <= 3)
{
cena = 2;
}
else
{
cena = 2 + 0.5*(chasy - 3);
}
return cena;
}
int main(void)
{
for (int z = 1; z <= 10; z++)
{
int hours=0, minute=0;
float chasy=0, cena=0;
printf("vrem %d\n",z);
scanf(" %d%d ", &hours, &minute); //ввод времени начала парковки авто
chasy = vremya(hours, minute);
cena = summa(chasy);
printf("Car\tHours\tChange\n");
printf("%d\t%.2f\t%.2f\n",z,chasy,cena);
}
getch();
}
Объяснение кода листинга программы
- В функции vremya вычисляется время с начала парковки в секундах, а затем из текущего времени вычитается это время для получения времени окончания парковки.
- Функция localtime преобразует время из секции time_t в структуру tm, представляющую время в более удобном виде.
- В функции main пользователь вводит время начала парковки в часах и минутах с помощью функции scanf.
- Функция summa вычисляет стоимость парковки на основе времени парковки. Если время парковки меньше или равно 3 часам, стоимость составляет 2 единицы. В противном случае к 2 единицам добавляется 0,5 единицы за каждый час, превышающий 3 часа.
- В цикле for в функции main пользователь вводит 10 различных значений времени начала парковки и для каждого из них вычисляет время окончания парковки, стоимость парковки и выводит эту информацию на экран.