Ошибки в программе по расчету треугольника - 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;
Объяснение кода листинга программы
- Создается новый объект TStringList
- Переменная
listполучает указатель на этот объект - Устанавливается режим добавления элементов в список
Добавить - В цикле рассчитываются значения для каждой вершины треугольника и добавляются в список
- После расчета всех вершин треугольника, список закрывается и сохраняется в файл
- Выводится сообщение об успешном выполнении программы