Ошибки в программе по расчету треугольника - C (СИ)

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

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

Есть алгоритм программы: 1. Вводим каталог поиска файла test.txt. 2. Дальше программа выполняет проверку на наличие каталога, потом проверяет наличие файла test.txt. 3. Выполняет переход в нужную директорию. 4. Берем с файла 3 числа и даём эти числа переменным. 5. Проверяем возможно ли по этим данным создать треугольник. 6. Если возможно выполняем проверку на равносторонность и равнобедренность треугольника. 7. Высчитываем периметр треугольника. 8. Добавляем информацию про периметр в файл. Сам код:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <windows.h>
#include <conio.h>

char path[100];
HANDLE hf;
WIN32_FIND_DATA FindFileData; 
 
int a, b, c;
FILE *file;
 
int find_catalog(char path);
int fl(file);
 
int main(void)
{
    setlocale(LC_ALL, "Ukr");
 
    printf("Где находится нужный файл? ");
    scanf("%s", path);
    find_catalog(path);
}
 
int find_catalog(char path)
{
    setlocale(LC_ALL, "Rus");
 
    hf = FindFirstFile((LPCSTR)path, &FindFileData);
 
    if (DirectoryExists(path))
    {
        printf("Директория существует, сейчас произойдёт проверка на на наличие файла test.txt");
        if ((file = fopen("test.txt", "r")) != NULL)
        {
            chdir (path);
            fclose(file);
            fl(file);
        }
    }
    else
        main(void);
}
 
int fl(file)
{
    setlocale(LC_ALL, "Ukr");
 
    int P;
    char list;
 
    TStringList *list = new TStringList;
    list->LoadFromFile(path, "test.txt");
    int a = StrToInt(list->Strings[0]);
    int b = StrToInt(list->Strings['\n', 0]);
    int c = StrToInt(list->Strings['\n', 0]);
    if ((a + b > c) || (a + c > b) || (b + c > a))
    {
        printf("Треугольник существует");
        if (a = b = c)
            printf("Треугольник равносторонний");
        else ((a = b) || (a = c) || (b = a) || (b = c) || (c = a) || (c = b))
            printf("Треугольник равнобедренный");
        P = a + b + c;
        printf("Периметр треугольника %d", &P);
        list->Add(P);
        list->SaveToFile(path, "test.txt", "a+");
    }
    else
        main(void);
}
Возникли ошибки, см.:

Решение задачи: «Ошибки в программе по расчету треугольника»

textual
Листинг программы
TStringList *list = new TStringList;

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

  1. Создается новый объект TStringList
  2. Переменная list получает указатель на этот объект
  3. Устанавливается режим добавления элементов в список Добавить
  4. В цикле рассчитываются значения для каждой вершины треугольника и добавляются в список
  5. После расчета всех вершин треугольника, список закрывается и сохраняется в файл
  6. Выводится сообщение об успешном выполнении программы

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


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

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

11   голосов , оценка 4.545 из 5
Похожие ответы