Выдает ошибку - C (СИ) (70377)

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

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

Листинг программы
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5. #define X 14
  6. #define Y 2
  7. #define Z 16
  8. void drow(char c);
  9. float calc(float h, float g);
  10.  
  11. main()
  12. {
  13. int menu;
  14. setlocale(LC_ALL, "RUS");
  15. puts("Эта программа рисует или считает периметр треугольника");
  16. puts("\n 1-Нарисовать 2-Посчитать периметр 3-Выход");
  17. scanf_s("%d", &menu);
  18. switch (menu)
  19. {
  20. case 1:drow('c'); break;
  21. case 2:calc(5, 4); break;
  22. default:return;
  23. }
  24.  
  25. void drow(char c);
  26. {
  27. char a;
  28. int i, j, b;
  29. setlocale(LC_ALL, "RUS");
  30. puts("Эта программа рисует тупоугольный треугольник заданым символом\n Нажмите любую кнопку");
  31. a = getchar();
  32. puts("\tТупоугольный треугольник\n\n\n");
  33. printf(" ");
  34. for (i = 0; i < 1; i = 1) // Верх треугольника
  35. putchar(a);
  36. putchar('\n');
  37. for (i = 0; i < X; i++)
  38. {
  39. printf(" ");
  40. for (j = 0; j < X - i; j++) //Левая часть
  41. printf(" ");
  42. putchar(a);
  43. for (b = 1; b < Y + i; b++) //Правая часть
  44. putchar(' ');
  45. putchar(a);
  46. putchar('\n');
  47. }
  48. printf(" ");
  49. for (i = 0; i < Z; i++) // Основание
  50. putchar(a);
  51. putchar('\n');
  52. }
  53. float calc(float h, float g);
  54. {
  55. int P;
  56. P = X + Y + Z;
  57. system("pause");
  58. printf("Площадь равна %d \n", P);
  59. system("pause");
  60. }
  61. }

Ссылка на неразрешенный внешний символ _drow в функции _main Ссылка на неразрешенный внешний символ _calc в функции _main

Решение задачи: «Выдает ошибку»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5. #include <windows.h>
  6. #define X 14
  7. #define Y 2
  8. #define Z 16
  9.  
  10. void drow(char c);
  11. void calc(float h, float g);
  12.  
  13.  
  14. int main()
  15. {
  16.     int menu;
  17.     SetConsoleOutputCP(1251);
  18.     puts("Эта программа рисует или считает периметр треугольника");
  19.     puts("\n 1-Нарисовать 2-Посчитать периметр 3-Выход");
  20.     scanf("%d", &menu);
  21.     switch (menu)
  22.     {
  23.     case 1:
  24.         drow('c');
  25.         break;
  26.     case 2:
  27.         calc(5, 4);
  28.         break;
  29.     default:
  30.         break;
  31.     }
  32.  
  33.  }
  34.     void drow(char c)
  35.     {
  36.         char a;
  37.         int i, j, b;
  38.         puts("Эта программа рисует тупоугольный треугольник заданым символом\n Нажмите любую кнопку");
  39.         a = getchar();
  40.         puts("\tТупоугольный треугольник\n\n\n");
  41.         printf(" ");
  42.         for (i = 0; i < 1; i = 1) // Верх треугольника
  43.             putchar(a);
  44.         putchar('\n');
  45.         for (i = 0; i < X; i++)
  46.         {
  47.             printf(" ");
  48.             for (j = 0; j < X - i; j++) //Левая часть
  49.                 printf(" ");
  50.             putchar(a);
  51.             for (b = 1; b < Y + i; b++) //Правая часть
  52.                 putchar(' ');
  53.             putchar(a);
  54.             putchar('\n');
  55.  
  56.         }
  57.         printf(" ");
  58.         for (i = 0; i < Z; i++) // Основание
  59.             putchar(a);
  60.         putchar('\n');
  61.     }
  62.     void calc(float h, float g)
  63.     {
  64.         int P;
  65.         P = X + Y + Z;
  66.         system("pause");
  67.         printf("Площадь равна %d \n", P);
  68.         system("pause");
  69.     }

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

  1. Включаются необходимые заголовочные файлы: , , , , .
  2. Определяются константы X, Y, Z.
  3. Определяются функции drow и calc.
  4. В функции main происходит вывод меню.
  5. В случае выбора пункта меню 1, вызывается функция drow с аргументом 'c'.
  6. В случае выбора пункта меню 2, вызывается функция calc с аргументами 5 и 4.
  7. В функции drow происходит рисование треугольника.
  8. В функции calc происходит расчет и вывод периметра треугольника.
  9. Задаются значения переменных: int menu;, char a;, int i, j, b;, float h, float g;, int P;.
  10. Значения переменных X, Y, Z равны 14, 2 и 16 соответственно.
  11. Значение переменной menu равно 1.
  12. Значение переменной a не определено.
  13. Значения переменных i, j, b не определены.
  14. Значения переменных h, g не определены.
  15. Значение переменной P не определено.
  16. Происходит установка консоли в кодировку 1251.
  17. Происходит вывод строки Эта программа рисует или считает периметр треугольника.
  18. Происходит вывод строки 1-Нарисовать 2-Посчитать периметр 3-Выход.
  19. Происходит считывание значения переменной menu с помощью функции scanf.
  20. Происходит переключение в зависимости от значения переменной menu.

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


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

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

9   голосов , оценка 4 из 5

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

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

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