"const char *" нельзя использовать для инициализации сущности типа "char" - C (СИ)
Формулировка задачи:
/*
/*
Написать программу, которая показывает реальное время в выбранных
городах мира. Программа должна уметь просчитывать разницу времени для двух
произвольных городов мира, которые выбрал пользователь.
Должна быть на написана на чистом C (си).
*/
#include "stdafx.h"
#include <conio.h>
#include < stdio.h > // Для printf
#include < time.h > // Для time, ctime
#include <ctime>
#include <iomanip>
#include <iostream>
#include <stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian");
char citi[20];
char citi2[20];
int hour1, hour2, hour3,i;
time_t rawtime;
struct tm * ptm;
time(&rawtime); // определить текущую дату в секундах
ptm = gmtime(&rawtime); // дата и время в формате GMT
// Переменная для сохранения текущего времени
long int ttime;
// Считываем текущее время
ttime = time(NULL);
// С помощью функции ctime преобразуем считанное время в
// локальное, а затем в строку и выводим в консоль.
printf("Время: %s\n", ctime(&ttime));
//24 строки города по 20 символов
char words[24][20] = {
//00
"Исламабад",
//01
"Дакка",
//02
"Джакарта",
//03
"Сингапур",
/ 04
"Сеул",
//05
"Аганья",
//06
"Канберра",
//07
"Маджуро",
//08
"Пагопаго",
//09
"Веллингтон",
//10
"Анкоридж",
//11
"Адамстаун",
//12
"Калгари"
//13
"Манагуа",
//14
"Панама",
//15
"Сан-Хуан",
//16
"Асунсьон",
//17
"Бразилия",
//18
"Прая",
//19
"Рабат",
//20
"Тунис",
//21
"Киев",
//22
"Москва",
//23
"Баку"
};
//Вывод массив горов на консоль
for ( i = 0; i<23; i++)
{
printf("Порядковый номер города равен часовому поясу %s\n", words[i]);
}
//Введите название города
printf("Введите название города %s\n");
scanf("%s", citi);
printf("Введите название другого города %s\n");
scanf("%s", citi2);
//Поиск в массиве строк
for (i = 0; i<23; i++)
{
if (citi == words[i])
{
hour1 = i;
}
if (citi2 == words[i])
{
hour2 = i;
}
}
//Считаем разницу в часах
hour3 = abs(hour2 - hour1);
printf("Разница во времени между обраными городами %d\n", hour3);
//Реальное время для избранных городов
printf("Реальное время для города %s\n", citi1);
printf("%d\n “, (ptm->tm_hour + hour1) % 24, ":", ptm->tm_min;
printf("Реальное время для города %s\n", citi2);
printf("%d\n ", (ptm->tm_hour + hour2) % 24, ":", ptm->tm_min);
system("pause");
return 0;
}Решение задачи: «"const char *" нельзя использовать для инициализации сущности типа "char"»
textual
Листинг программы
printf("Время: %s\n", ctime(&rawtime));
Объяснение кода листинга программы
rawtime- это переменная типа time_t, которая содержит время в секундах с начала эпохи (обычно с 00:00:00 1 января 1970 года).ctime- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день неделиprintf- это функция, которая выводит строку формата на экранВремя:- это часть строки формата, которая выводится на экран%s- это место в строке формата, которое заменяется на время в переменнойctime(&rawtime)\n- это символ новой строки, который указывает на переход на новую строкуrawtime- это значение переменной времени, которое передается в функциюctimectime- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день неделиprintf- это функция, которая выводит строку формата на экранВремя:- это часть строки формата, которая выводится на экран%s- это место в строке формата, которое заменяется на время в переменнойctime(&rawtime)\n- это символ новой строки, который указывает на переход на новую строкуrawtime- это значение переменной времени, которое передается в функциюctimectime- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день неделиprintf- это функция, которая выводит строку формата на экранВремя:- это часть строки формата, которая выводится на экран%s- это место в строке формата, которое заменяется на время в переменнойctime(&rawtime)\n- это символ новой строки, который указывает на переход на новую строкуrawtime- это значение переменной времени, которое передается в функциюctimectime- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день недели