#define _CRT_SECURE_NO_WARNINGS #include #include #include #include void findingTheRoots(double, double, double, FILE*); int main() { FILE* file; system("chcp 1251>nul"); FILE* input = fopen("InputFile.txt", "r"); double a, b, c; if (input == NULL) { printf("Файл не найден!"); } FILE* output = fopen("OutputFile.txt", "w"); if (output == NULL) { printf("Файл не найден!"); } if (fscanf(input, "%lf %lf %lf", &a, &b, &c) != 3) { fprintf(output, "Ошибка при считывании корней!"); fclose(input); return 1; } fclose(input); findingTheRoots(a,b,c,output); } void findingTheRoots(double a, double b, double c, FILE* file) { double D; double x1; double x2; if (a == 0) { fprintf(file,"Не квадратное уравнение"); } else { D = pow(b, 2) - 4 * a * c; } if (D < 0) { printf("Уравнение не имеет решения"); fprintf(file,"Уравнение не имеет решения"); } else if (D == 0) { x1 = (-b) / (2 * a); printf("Дискримминант: %.2lf\n", D); printf("x1 = %.2lf", x1); fprintf(file, "Дискримминант: %.2lf\n", D); fprintf(file, "x1 = %.2lf", x1); } else { x1 = (-b + sqrt(D)) / (2 * a); x2 = (-b - sqrt(D)) / (2 * a); printf("Дискримминант: %.2lf\n", D); printf("x1 = %.2lf, x2 = %.2lf\n", x1, x2); fprintf(file, "Дискримминант: %.2lf\n", D); fprintf(file,"x1 = %.2lf, x2 = %.2lf\n", x1, x2); } fclose(file); return 0; }