Browse Source

Добавьте файлы проекта.

Anna 2 tuần trước cách đây
mục cha
commit
986c4ebf0b
6 tập tin đã thay đổi với 297 bổ sung0 xóa
  1. 31 0
      Project2.sln
  2. 135 0
      Project2/Project2.vcxproj
  3. 22 0
      Project2/Project2.vcxproj.filters
  4. 109 0
      Project2/Source.c
  5. 0 0
      Project2/otvet.txt
  6. 0 0
      Project2/test.txt

+ 31 - 0
Project2.sln

@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project2", "Project2\Project2.vcxproj", "{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Debug|x64.ActiveCfg = Debug|x64
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Debug|x64.Build.0 = Debug|x64
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Debug|x86.ActiveCfg = Debug|Win32
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Debug|x86.Build.0 = Debug|Win32
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Release|x64.ActiveCfg = Release|x64
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Release|x64.Build.0 = Release|x64
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Release|x86.ActiveCfg = Release|Win32
+		{7B5180CD-033B-4C17-9E1F-E0991C6B1DE0}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {7931823C-8923-490E-AC22-CAAF468B84A4}
+	EndGlobalSection
+EndGlobal

+ 135 - 0
Project2/Project2.vcxproj

@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <VCProjectVersion>17.0</VCProjectVersion>
+    <Keyword>Win32Proj</Keyword>
+    <ProjectGuid>{7b5180cd-033b-4c17-9e1f-e0991c6b1de0}</ProjectGuid>
+    <RootNamespace>Project2</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v143</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v143</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v143</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v143</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="Shared">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <SDLCheck>true</SDLCheck>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ConformanceMode>true</ConformanceMode>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ConformanceMode>true</ConformanceMode>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <SDLCheck>true</SDLCheck>
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ConformanceMode>true</ConformanceMode>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ConformanceMode>true</ConformanceMode>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="Source.c" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 22 - 0
Project2/Project2.vcxproj.filters

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Исходные файлы">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Файлы заголовков">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+    </Filter>
+    <Filter Include="Файлы ресурсов">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="Source.c">
+      <Filter>Исходные файлы</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>

+ 109 - 0
Project2/Source.c

@@ -0,0 +1,109 @@
+#define _CRT_SECURE_NO_WARNINGS
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+int is_valid_double(const char* str) {
+    char* endptr;
+    strtod(str, &endptr);
+    return *endptr == '\0' && endptr != str;
+}
+
+void write_results(const char* filename, double x1, double x2, double D, int root_count) {
+    HANDLE hFile = CreateFile(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+    if (hFile == INVALID_HANDLE_VALUE) {
+        MessageBox(NULL, "Îøèáêà îòêðûòèÿ ôàéëà äëÿ çàïèñè ðåçóëüòàòîâ.", "Îøèáêà", MB_OK | MB_ICONERROR);
+        return;
+    }
+
+    char buffer[256];
+    if (root_count == 2) {
+        sprintf(buffer, "Êîðíè óðàâíåíèÿ: %.2f è %.2f\n", x1, x2);
+    }
+    else if (root_count == 1) {
+        sprintf(buffer, "Êîðåíü óðàâíåíèÿ: %.2f\n", x1);
+    }
+    else {
+        sprintf(buffer, "Íåò äåéñòâèòåëüíûõ êîðíåé.\n");
+    }
+
+    sprintf(buffer + strlen(buffer), "Äèñêðèìèíàíò: %.2f\n", D);
+    DWORD written;
+    WriteFile(hFile, buffer, strlen(buffer), &written, NULL);
+    CloseHandle(hFile);
+}
+
+int main() {
+    double a, b, c;
+    char line[256];
+    int count = 0;
+
+    // Ñ÷èòûâàåì êîýôôèöèåíòû èç ôàéëà
+    HANDLE hFile = CreateFile("test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+    if (hFile == INVALID_HANDLE_VALUE) {
+        MessageBox(NULL, "Îøèáêà îòêðûòèÿ ôàéëà äëÿ ÷òåíèÿ êîýôôèöèåíòîâ.", "Îøèáêà", MB_OK | MB_ICONERROR);
+        return 1;
+    }
+
+    DWORD bytesRead;
+    while (ReadFile(hFile, line, sizeof(line) - 1, &bytesRead, NULL) && bytesRead > 0) {
+        line[bytesRead] = '\0';
+        char* token = strtok(line, " \n");
+        while (token != NULL) {
+            if (is_valid_double(token)) {
+                if (count == 0) {
+                    a = strtod(token, NULL);
+                }
+                else if (count == 1) {
+                    b = strtod(token, NULL);
+                }
+                else if (count == 2) {
+                    c = strtod(token, NULL);
+                }
+                count++;
+            }
+            else {
+                MessageBox(NULL, "Îøèáêà: Ââåäåíû íåêîððåêòíûå äàííûå.", "Îøèáêà", MB_OK | MB_ICONERROR);
+                CloseHandle(hFile);
+                return 1;
+            }
+            token = strtok(NULL, " \n");
+        }
+    }
+    CloseHandle(hFile);
+
+    // Ïðîâåðÿåì êîýôôèöèåíòû
+    if (count < 3) {
+        MessageBox(NULL, "Îøèáêà: Íå äîñòàòî÷íî êîýôôèöèåíòîâ.", "Îøèáêà", MB_OK | MB_ICONERROR);
+        return 1;
+    }
+
+    if (a == 0) {
+        MessageBox(NULL, "Îøèáêà: Êîýôôèöèåíò 'a' íå ìîæåò áûòü ðàâåí 0.", "Îøèáêà", MB_OK | MB_ICONERROR);
+        return 1;
+    }
+
+    // Âû÷èñëÿåì äèñêðèìèíàíò
+    double D = b * b - 4 * a * c;
+    double x1, x2;
+    int root_count = 0;
+
+    if (D > 0) {
+        x1 = (-b + sqrt(D)) / (2 * a);
+        x2 = (-b - sqrt(D)) / (2 * a);
+        root_count = 2;
+    }
+    else if (D == 0) {
+        x1 = -b / (2 * a);
+        root_count = 1;
+    }
+
+    // Çàïèñûâàåì ðåçóëüòàòû â ôàéë
+    write_results("otvet.txt", x1, x2, D, root_count);
+
+    MessageBox(NULL, "Ðåçóëüòàòû çàïèñàíû â ôàéë 'otvet.txt'.", "Ãîòîâî", MB_OK | MB_ICONINFORMATION);
+    return 0;
+}

+ 0 - 0
Project2/otvet.txt


+ 0 - 0
Project2/test.txt