"const char *" нельзя использовать для инициализации сущности типа "char" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. /*
  2. /*
  3. Написать программу, которая показывает реальное время в выбранных
  4. городах мира. Программа должна уметь просчитывать разницу времени для двух
  5. произвольных городов мира, которые выбрал пользователь.
  6. Должна быть на написана на чистом C (си).
  7. */
  8.  
  9. #include "stdafx.h"
  10. #include <conio.h>
  11. #include < stdio.h > // Для printf
  12. #include < time.h > // Для time, ctime
  13. #include <ctime>
  14. #include <iomanip>
  15. #include <iostream>
  16. #include <stdlib.h>
  17. int _tmain(int argc, _TCHAR* argv[])
  18. {
  19. setlocale(LC_ALL, "Russian");
  20. char citi[20];
  21. char citi2[20];
  22. int hour1, hour2, hour3,i;
  23. time_t rawtime;
  24. struct tm * ptm;
  25. time(&rawtime); // определить текущую дату в секундах
  26. ptm = gmtime(&rawtime); // дата и время в формате GMT
  27.  
  28. // Переменная для сохранения текущего времени
  29. long int ttime;
  30. // Считываем текущее время
  31. ttime = time(NULL);
  32. // С помощью функции ctime преобразуем считанное время в
  33. // локальное, а затем в строку и выводим в консоль.
  34. printf("Время: %s\n", ctime(&ttime));
  35.  
  36. //24 строки города по 20 символов
  37. char words[24][20] = {
  38. //00
  39. "Исламабад",
  40. //01
  41. "Дакка",
  42. //02
  43. "Джакарта",
  44. //03
  45. "Сингапур",
  46. / 04
  47. "Сеул",
  48. //05
  49. "Аганья",
  50. //06
  51. "Канберра",
  52. //07
  53. "Маджуро",
  54. //08
  55. "Пагопаго",
  56. //09
  57. "Веллингтон",
  58. //10
  59. "Анкоридж",
  60. //11
  61. "Адамстаун",
  62. //12
  63. "Калгари"
  64. //13
  65. "Манагуа",
  66. //14
  67. "Панама",
  68. //15
  69. "Сан-Хуан",
  70. //16
  71. "Асунсьон",
  72. //17
  73. "Бразилия",
  74. //18
  75. "Прая",
  76. //19
  77. "Рабат",
  78. //20
  79. "Тунис",
  80. //21
  81. "Киев",
  82. //22
  83. "Москва",
  84. //23
  85. "Баку"
  86. };
  87. //Вывод массив горов на консоль
  88. for ( i = 0; i<23; i++)
  89. {
  90. printf("Порядковый номер города равен часовому поясу %s\n", words[i]);
  91. }
  92. //Введите название города
  93. printf("Введите название города %s\n");
  94. scanf("%s", citi);
  95. printf("Введите название другого города %s\n");
  96. scanf("%s", citi2);
  97. //Поиск в массиве строк
  98. for (i = 0; i<23; i++)
  99. {
  100. if (citi == words[i])
  101. {
  102. hour1 = i;
  103. }
  104. if (citi2 == words[i])
  105. {
  106. hour2 = i;
  107. }
  108. }
  109. //Считаем разницу в часах
  110. hour3 = abs(hour2 - hour1);
  111. printf("Разница во времени между обраными городами %d\n", hour3);
  112. //Реальное время для избранных городов
  113. printf("Реальное время для города %s\n", citi1);
  114. printf("%d\n “, (ptm->tm_hour + hour1) % 24, ":", ptm->tm_min;
  115. printf("Реальное время для города %s\n", citi2);
  116. printf("%d\n ", (ptm->tm_hour + hour2) % 24, ":", ptm->tm_min);
  117. system("pause");
  118. return 0;
  119. }

Решение задачи: «"const char *" нельзя использовать для инициализации сущности типа "char"»

textual
Листинг программы
  1.     printf("Время: %s\n", ctime(&rawtime));

Объяснение кода листинга программы

  1. rawtime - это переменная типа time_t, которая содержит время в секундах с начала эпохи (обычно с 00:00:00 1 января 1970 года).
  2. ctime - это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день недели
  3. printf - это функция, которая выводит строку формата на экран
  4. Время: - это часть строки формата, которая выводится на экран
  5. %s - это место в строке формата, которое заменяется на время в переменной ctime(&rawtime)
  6. \n - это символ новой строки, который указывает на переход на новую строку
  7. rawtime - это значение переменной времени, которое передается в функцию ctime
  8. ctime - это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день недели
  9. printf - это функция, которая выводит строку формата на экран
  10. Время: - это часть строки формата, которая выводится на экран
  11. %s - это место в строке формата, которое заменяется на время в переменной ctime(&rawtime)
  12. \n - это символ новой строки, который указывает на переход на новую строку
  13. rawtime - это значение переменной времени, которое передается в функцию ctime
  14. ctime - это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день недели
  15. printf - это функция, которая выводит строку формата на экран
  16. Время: - это часть строки формата, которая выводится на экран
  17. %s - это место в строке формата, которое заменяется на время в переменной ctime(&rawtime)
  18. \n - это символ новой строки, который указывает на переход на новую строку
  19. rawtime - это значение переменной времени, которое передается в функцию ctime
  20. ctime - это функция, которая преобразует время из типа time_t в строку формата 24 часа:минуты:секунды час:минуты:секунды день недели

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы