"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
- это значение переменной времени, которое передается в функциюctime
ctime
- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день неделиprintf
- это функция, которая выводит строку формата на экранВремя:
- это часть строки формата, которая выводится на экран%s
- это место в строке формата, которое заменяется на время в переменнойctime(&rawtime)
\n
- это символ новой строки, который указывает на переход на новую строкуrawtime
- это значение переменной времени, которое передается в функциюctime
ctime
- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день неделиprintf
- это функция, которая выводит строку формата на экранВремя:
- это часть строки формата, которая выводится на экран%s
- это место в строке формата, которое заменяется на время в переменнойctime(&rawtime)
\n
- это символ новой строки, который указывает на переход на новую строкуrawtime
- это значение переменной времени, которое передается в функциюctime
ctime
- это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день недели
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д