diff --git a/.gitignore b/.gitignore index d99efa91..9e4fe1ba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,32 @@ -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out *.app \ No newline at end of file diff --git a/LICENSE b/LICENSE index f2797af1..2b16277e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2018 Qian - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +MIT License + +Copyright (c) 2018 Qian + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Mistariano/Calculator/.vs/Calculator/v16/.suo b/Mistariano/Calculator/.vs/Calculator/v16/.suo new file mode 100644 index 00000000..c238b184 Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/.suo differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/Browse.VC.db b/Mistariano/Calculator/.vs/Calculator/v16/Browse.VC.db new file mode 100644 index 00000000..a9b8c200 Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/Browse.VC.db differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/Browse.VC.opendb b/Mistariano/Calculator/.vs/Calculator/v16/Browse.VC.opendb new file mode 100644 index 00000000..43490509 Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/Browse.VC.opendb differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/TestStore/0/000-0000.testlog b/Mistariano/Calculator/.vs/Calculator/v16/TestStore/0/000-0000.testlog new file mode 100644 index 00000000..1f7da6bf Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/TestStore/0/000-0000.testlog differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/TestStore/0/testlog.manifest b/Mistariano/Calculator/.vs/Calculator/v16/TestStore/0/testlog.manifest new file mode 100644 index 00000000..b6ec9cfc Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/TestStore/0/testlog.manifest differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/ipch/153e6947c63ea72.ipch b/Mistariano/Calculator/.vs/Calculator/v16/ipch/153e6947c63ea72.ipch new file mode 100644 index 00000000..e1818fe9 Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/ipch/153e6947c63ea72.ipch differ diff --git "a/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/65fc0dfa426df24b/\346\240\207\345\244\264.ipch" "b/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/65fc0dfa426df24b/\346\240\207\345\244\264.ipch" new file mode 100644 index 00000000..7f168f1f Binary files /dev/null and "b/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/65fc0dfa426df24b/\346\240\207\345\244\264.ipch" differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/6a97cb3e104cb970/CALCULATOR.ipch b/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/6a97cb3e104cb970/CALCULATOR.ipch new file mode 100644 index 00000000..55cea440 Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/6a97cb3e104cb970/CALCULATOR.ipch differ diff --git a/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/f0fe1a41436a85b3/CALCULATOR.ipch b/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/f0fe1a41436a85b3/CALCULATOR.ipch new file mode 100644 index 00000000..dc95ae53 Binary files /dev/null and b/Mistariano/Calculator/.vs/Calculator/v16/ipch/AutoPCH/f0fe1a41436a85b3/CALCULATOR.ipch differ diff --git a/Mistariano/Calculator/Calculator.sln b/Mistariano/Calculator/Calculator.sln new file mode 100644 index 00000000..f662276a --- /dev/null +++ b/Mistariano/Calculator/Calculator.sln @@ -0,0 +1,41 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29306.81 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Calculator", "Calculator\Calculator.vcxproj", "{72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CalculatorUnitTest", "CalculatorUnitTest\CalculatorUnitTest.vcxproj", "{2442C371-C497-487B-B946-C48C645DEB36}" +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 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Debug|x64.ActiveCfg = Debug|x64 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Debug|x64.Build.0 = Debug|x64 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Debug|x86.ActiveCfg = Debug|Win32 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Debug|x86.Build.0 = Debug|Win32 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Release|x64.ActiveCfg = Release|x64 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Release|x64.Build.0 = Release|x64 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Release|x86.ActiveCfg = Release|Win32 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5}.Release|x86.Build.0 = Release|Win32 + {2442C371-C497-487B-B946-C48C645DEB36}.Debug|x64.ActiveCfg = Debug|x64 + {2442C371-C497-487B-B946-C48C645DEB36}.Debug|x64.Build.0 = Debug|x64 + {2442C371-C497-487B-B946-C48C645DEB36}.Debug|x86.ActiveCfg = Debug|Win32 + {2442C371-C497-487B-B946-C48C645DEB36}.Debug|x86.Build.0 = Debug|Win32 + {2442C371-C497-487B-B946-C48C645DEB36}.Release|x64.ActiveCfg = Release|x64 + {2442C371-C497-487B-B946-C48C645DEB36}.Release|x64.Build.0 = Release|x64 + {2442C371-C497-487B-B946-C48C645DEB36}.Release|x86.ActiveCfg = Release|Win32 + {2442C371-C497-487B-B946-C48C645DEB36}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1FCC377B-E534-46E6-87C1-01350F4E8047} + EndGlobalSection +EndGlobal diff --git a/Mistariano/Calculator/Calculator/Calculator.cpp b/Mistariano/Calculator/Calculator/Calculator.cpp new file mode 100644 index 00000000..c0e75594 --- /dev/null +++ b/Mistariano/Calculator/Calculator/Calculator.cpp @@ -0,0 +1,111 @@ + + +//#include "stdafx.h" +#include +#include +#include +#include "stdlib.h" +#include +#include +#include "Calculator.h" + +#define random(a,b) (rand()%(b-a+1)+a) + +using namespace std; + +Calculator::Calculator() {} + +string Calculator::MakeFormula() { + string formula = ""; + srand((unsigned int)time(NULL)); + int count = random(1, 3); + int start = 0; + int number1 = random(1, 100); + formula += to_string(number1); + while (start <= count) { + int operation = random(0, 3); + int number2 = random(1, 100); + formula += op[operation] + to_string(number2); + start++; + } + return formula; +}; + +string Calculator::Solve(string formula) { + vector* tempStack = new vector(); + stack* operatorStack = new stack(); + int len = formula.length(); + int k = 0; + for (int j = -1; j < len - 1; j++) { + char formulaChar = formula[j + 1]; + if (j == len - 2 || formulaChar == '+' || formulaChar == '-' || + formulaChar == '*' || formulaChar == '/') { + if (j == len - 2) { + tempStack->push_back(formula.substr(k)); + } else { + if (k < j) { + tempStack->push_back(formula.substr(k, j + 1)); + } + if (operatorStack->empty()) { + operatorStack->push(formulaChar); + } else { + char stackChar = operatorStack->top(); + if ((stackChar == '+' || stackChar == '-') + && (formulaChar == '*' || formulaChar == '/')) { + operatorStack->push(formulaChar); + } else { + tempStack->push_back(to_string(operatorStack->top())); + operatorStack->pop(); + operatorStack->push(formulaChar); + } + } + } + k = j + 2; + } + } + while (!operatorStack->empty()) { + tempStack->push_back(string(1, operatorStack->top())); + operatorStack->pop(); + } + stack* calcStack = new stack(); + for (int i = 0; i < tempStack->size(); i++) { + string peekChar = tempStack->at(i); + if (peekChar != "+" && peekChar != "-" + && peekChar != "/" && peekChar != "*") { + calcStack->push(peekChar); + } else { + int a1 = 0; + int b1 = 0; + if (!calcStack->empty()) { + b1 = stoi(calcStack->top()); + calcStack->pop(); + } + if (!calcStack->empty()) { + a1 = stoi(calcStack->top()); + calcStack->pop(); + } + if (peekChar == "+") { + calcStack->push(to_string(a1 + b1)); + } else if (peekChar == "-") { + calcStack->push(to_string(a1 - b1)); + } else if (peekChar == "*") { + calcStack->push(to_string(a1 * b1)); + } else if (peekChar == "/") { + calcStack->push(to_string(a1 / b1)); + } + } + } + return formula + "=" + calcStack->top(); +} + +int main() { + for (int i = 0; i < 10000000; i++) { + Calculator* calc = new Calculator(); + string question = calc->MakeFormula(); + cout << question << endl; + string ret = calc->Solve("11+22"); + cout << ret << endl; + } +} + + diff --git a/Mistariano/Calculator/Calculator/Calculator.h b/Mistariano/Calculator/Calculator/Calculator.h new file mode 100644 index 00000000..62365395 --- /dev/null +++ b/Mistariano/Calculator/Calculator/Calculator.h @@ -0,0 +1,18 @@ +#pragma once +//#include "stdafx.h" +#include +#include +#include +#include "stdlib.h" +#include +#include +using namespace std; + +class Calculator { +private: + string op[4] = { "+", "-", "*", "/" }; +public: + Calculator(); + string MakeFormula(); + string Solve(string formula); +}; diff --git a/Mistariano/Calculator/Calculator/Calculator.vcxproj b/Mistariano/Calculator/Calculator/Calculator.vcxproj new file mode 100644 index 00000000..1c09ff92 --- /dev/null +++ b/Mistariano/Calculator/Calculator/Calculator.vcxproj @@ -0,0 +1,162 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + {72B4CFE8-2DB3-4451-8DD7-64C5EBD99AC5} + Win32Proj + Calculator + 10.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + + + Level3 + Disabled + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + + + Level3 + Disabled + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + + + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + Level3 + MaxSpeed + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + \ No newline at end of file diff --git a/Mistariano/Calculator/Calculator/Calculator.vcxproj.filters b/Mistariano/Calculator/Calculator/Calculator.vcxproj.filters new file mode 100644 index 00000000..cb89ad28 --- /dev/null +++ b/Mistariano/Calculator/Calculator/Calculator.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 源文件 + + + + + 头文件 + + + \ No newline at end of file diff --git a/Mistariano/Calculator/Calculator/Calculator.vcxproj.user b/Mistariano/Calculator/Calculator/Calculator.vcxproj.user new file mode 100644 index 00000000..0f14913f --- /dev/null +++ b/Mistariano/Calculator/Calculator/Calculator.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.log b/Mistariano/Calculator/Calculator/Debug/Calculator.log new file mode 100644 index 00000000..d0b83433 --- /dev/null +++ b/Mistariano/Calculator/Calculator/Debug/Calculator.log @@ -0,0 +1,3 @@ + Calculator.cpp +D:\homework\software_en\Calculator\Mistariano\Calculator\Calculator\Calculator.cpp(71,20): warning C4018: “<”: 有符号/无符号不匹配 + Calculator.vcxproj -> D:\homework\software_en\Calculator\Mistariano\Calculator\Debug\Calculator.exe diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.command.1.tlog b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.command.1.tlog new file mode 100644 index 00000000..ddc0f108 Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.command.1.tlog differ diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.read.1.tlog b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.read.1.tlog new file mode 100644 index 00000000..34ee79c2 Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.read.1.tlog differ diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.write.1.tlog b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.write.1.tlog new file mode 100644 index 00000000..7b71463a Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/CL.write.1.tlog differ diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/Calculator.lastbuildstate b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/Calculator.lastbuildstate new file mode 100644 index 00000000..c4e9bcc7 --- /dev/null +++ b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/Calculator.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0 +Debug|Win32|D:\homework\software_en\Calculator\Mistariano\Calculator\| diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.command.1.tlog b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.command.1.tlog new file mode 100644 index 00000000..713e48c2 Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.command.1.tlog differ diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.read.1.tlog b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.read.1.tlog new file mode 100644 index 00000000..b87b28ec Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.read.1.tlog differ diff --git a/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.write.1.tlog b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.write.1.tlog new file mode 100644 index 00000000..1d65a6cd Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/Calculator.tlog/link.write.1.tlog differ diff --git a/Mistariano/Calculator/Calculator/Debug/vc142.idb b/Mistariano/Calculator/Calculator/Debug/vc142.idb new file mode 100644 index 00000000..69694001 Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/vc142.idb differ diff --git a/Mistariano/Calculator/Calculator/Debug/vc142.pdb b/Mistariano/Calculator/Calculator/Debug/vc142.pdb new file mode 100644 index 00000000..11db498d Binary files /dev/null and b/Mistariano/Calculator/Calculator/Debug/vc142.pdb differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.cpp b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.cpp new file mode 100644 index 00000000..6de77e1a --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.cpp @@ -0,0 +1,19 @@ +#include "pch.h" +#include "CppUnitTest.h" +#include "../Calculator/calculator.h" +using namespace Microsoft::VisualStudio::CppUnitTestFramework; + +namespace CalculatorUnitTest +{ + TEST_CLASS(CalculatorUnitTest) + { + public: + + TEST_METHOD(TestMethod1) + { + Calculator* calc = new Calculator(); + string ret = calc->Solve("11+22"); + Assert::AreEqual(ret, (string)"11+22=33"); + } + }; +} diff --git a/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj new file mode 100644 index 00000000..d0dd426a --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + {2442C371-C497-487B-B946-C48C645DEB36} + Win32Proj + CalculatorUnitTest + 10.0 + NativeUnitTestProject + + + + DynamicLibrary + true + v142 + Unicode + false + + + DynamicLibrary + false + v142 + true + Unicode + false + + + DynamicLibrary + true + v142 + Unicode + false + + + DynamicLibrary + false + v142 + true + Unicode + false + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + Use + Level3 + Disabled + true + $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;%(PreprocessorDefinitions) + true + pch.h + + + Windows + $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) + ..\Calculator\Debug\Calculator.obj;%(AdditionalDependencies) + + + + + Use + Level3 + Disabled + true + $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) + _DEBUG;%(PreprocessorDefinitions) + true + pch.h + + + Windows + $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) + + + + + Use + Level3 + MaxSpeed + true + true + true + $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;%(PreprocessorDefinitions) + true + pch.h + + + Windows + true + true + $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) + + + + + Use + Level3 + MaxSpeed + true + true + true + $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) + NDEBUG;%(PreprocessorDefinitions) + true + pch.h + + + Windows + true + true + $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) + + + + + + Create + Create + Create + Create + + + + + + + + {72b4cfe8-2db3-4451-8dd7-64c5ebd99ac5} + + + + + + \ No newline at end of file diff --git a/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj.filters b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj.filters new file mode 100644 index 00000000..cacdbd1a --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 源文件 + + + 源文件 + + + + + 头文件 + + + \ No newline at end of file diff --git a/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj.user b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj.user new file mode 100644 index 00000000..0f14913f --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/CalculatorUnitTest.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.command.1.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.command.1.tlog new file mode 100644 index 00000000..b8b169b2 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.command.1.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.read.1.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.read.1.tlog new file mode 100644 index 00000000..d9958f89 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.read.1.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.write.1.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.write.1.tlog new file mode 100644 index 00000000..7e3b10d9 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CL.write.1.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CalculatorUnitTest.lastbuildstate b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CalculatorUnitTest.lastbuildstate new file mode 100644 index 00000000..c4e9bcc7 --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CalculatorUnitTest.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0 +Debug|Win32|D:\homework\software_en\Calculator\Mistariano\Calculator\| diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CalculatorUnitTest.write.1u.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CalculatorUnitTest.write.1u.tlog new file mode 100644 index 00000000..edf595a6 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/CalculatorUnitTest.write.1u.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.command.1.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.command.1.tlog new file mode 100644 index 00000000..017e03a4 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.command.1.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.read.1.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.read.1.tlog new file mode 100644 index 00000000..f08e08f0 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.read.1.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.write.1.tlog b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.write.1.tlog new file mode 100644 index 00000000..deff3fdd Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/Calculat.2442C371.tlog/link.write.1.tlog differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/CalculatorUnitTest.log b/Mistariano/Calculator/CalculatorUnitTest/Debug/CalculatorUnitTest.log new file mode 100644 index 00000000..ce11c851 --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/Debug/CalculatorUnitTest.log @@ -0,0 +1,4 @@ + pch.cpp + CalculatorUnitTest.cpp + 正在创建库 D:\homework\software_en\Calculator\Mistariano\Calculator\Debug\CalculatorUnitTest.lib 和对象 D:\homework\software_en\Calculator\Mistariano\Calculator\Debug\CalculatorUnitTest.exp + CalculatorUnitTest.vcxproj -> D:\homework\software_en\Calculator\Mistariano\Calculator\Debug\CalculatorUnitTest.dll diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/vc142.idb b/Mistariano/Calculator/CalculatorUnitTest/Debug/vc142.idb new file mode 100644 index 00000000..eee448ab Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/vc142.idb differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/Debug/vc142.pdb b/Mistariano/Calculator/CalculatorUnitTest/Debug/vc142.pdb new file mode 100644 index 00000000..e72004b4 Binary files /dev/null and b/Mistariano/Calculator/CalculatorUnitTest/Debug/vc142.pdb differ diff --git a/Mistariano/Calculator/CalculatorUnitTest/pch.cpp b/Mistariano/Calculator/CalculatorUnitTest/pch.cpp new file mode 100644 index 00000000..db1a479b --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/pch.cpp @@ -0,0 +1,5 @@ +// pch.cpp: 与预编译标头对应的源文件 + +#include "pch.h" + +// 当使用预编译的头时,需要使用此源文件,编译才能成功。 diff --git a/Mistariano/Calculator/CalculatorUnitTest/pch.h b/Mistariano/Calculator/CalculatorUnitTest/pch.h new file mode 100644 index 00000000..a8435bb5 --- /dev/null +++ b/Mistariano/Calculator/CalculatorUnitTest/pch.h @@ -0,0 +1,12 @@ +// pch.h: 这是预编译标头文件。 +// 下方列出的文件仅编译一次,提高了将来生成的生成性能。 +// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 +// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 +// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 + +#ifndef PCH_H +#define PCH_H + +// 添加要在此处预编译的标头 + +#endif //PCH_H diff --git a/Mistariano/Calculator/Debug/Calculator.ilk b/Mistariano/Calculator/Debug/Calculator.ilk new file mode 100644 index 00000000..b45b86a6 Binary files /dev/null and b/Mistariano/Calculator/Debug/Calculator.ilk differ diff --git a/Mistariano/Calculator/Debug/Calculator.pdb b/Mistariano/Calculator/Debug/Calculator.pdb new file mode 100644 index 00000000..f54fa9d2 Binary files /dev/null and b/Mistariano/Calculator/Debug/Calculator.pdb differ diff --git a/Mistariano/Calculator/Debug/CalculatorUnitTest.exp b/Mistariano/Calculator/Debug/CalculatorUnitTest.exp new file mode 100644 index 00000000..6ca0c755 Binary files /dev/null and b/Mistariano/Calculator/Debug/CalculatorUnitTest.exp differ diff --git a/Mistariano/Calculator/Debug/CalculatorUnitTest.ilk b/Mistariano/Calculator/Debug/CalculatorUnitTest.ilk new file mode 100644 index 00000000..8ee0dd94 Binary files /dev/null and b/Mistariano/Calculator/Debug/CalculatorUnitTest.ilk differ diff --git a/Mistariano/Calculator/Debug/CalculatorUnitTest.pdb b/Mistariano/Calculator/Debug/CalculatorUnitTest.pdb new file mode 100644 index 00000000..d0acbee9 Binary files /dev/null and b/Mistariano/Calculator/Debug/CalculatorUnitTest.pdb differ diff --git a/README.md b/README.md index 135c88a4..e23db2b4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Calculator - -阿超的四则运算生成器 v1.0(C++版本) +# Calculator + +阿超的四则运算生成器 v1.0(C++版本) diff --git a/src/Calculator.h b/src/Calculator.h index c82656ca..0eb8d21a 100644 --- a/src/Calculator.h +++ b/src/Calculator.h @@ -1,18 +1,18 @@ -#pragma once -#include "stdafx.h" -#include -#include -#include -#include "stdlib.h" -#include -#include -using namespace std; - -class Calculator { -private: - string op[4] = { "+", "-", "*", "/" }; -public: - Calculator(); - string MakeFormula(); - string Solve(string formula); -}; +#pragma once +#include "stdafx.h" +#include +#include +#include +#include "stdlib.h" +#include +#include +using namespace std; + +class Calculator { +private: + string op[4] = { "+", "-", "*", "/" }; +public: + Calculator(); + string MakeFormula(); + string Solve(string formula); +};