diff --git a/jia/UnitTest1/UnitTest1.vcxproj b/jia/UnitTest1/UnitTest1.vcxproj
index 9fecb53..2acaad5 100644
--- a/jia/UnitTest1/UnitTest1.vcxproj
+++ b/jia/UnitTest1/UnitTest1.vcxproj
@@ -60,7 +60,7 @@
Windows
true
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
- ..\jia\Debug\jia.obj;..\jian\Debug\jian.obj;..\chen\Debug\chen.obj;..\chu\Debug\chu.obj;%(AdditionalDependencies)
+ ..\jia\Debug\jia.obj;..\jian\Debug\jian.obj;..\chen\Debug\chen.obj;..\chu\Debug\chu.obj;..\chu\Debug\tof.obj;%(AdditionalDependencies)
diff --git a/jia/UnitTest1/unittest1.cpp b/jia/UnitTest1/unittest1.cpp
index 7dff01e..7dddd41 100644
--- a/jia/UnitTest1/unittest1.cpp
+++ b/jia/UnitTest1/unittest1.cpp
@@ -5,6 +5,10 @@
#include"../jian/jian.h"
#include"../chen/chen.h"
#include"../chu/chu.h"
+#include"../chu/tof.h"
+#include
+//#include "iostream"
+//using namespace std;
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
@@ -18,25 +22,37 @@ namespace UnitTest1
TEST_METHOD(TestMethod1)
{
// TODO: ÔÚ´ËÊäÈë²âÊÔ´úÂë
- int SUM = GetPrivateProfileInt("Len", "sum", 0, "../ex1.ini");
+ int SUM = GetPrivateProfileInt("Len", "sum", 0, "..//ex1.ini");
{
for (int i = 1; i <= SUM; i++)
{
- char SUMStr[8];
- char TestStr[8] = { "Test" };
- _itoa_s(i, SUMStr, 8);
+ char SUMStr[10];
+ char TestStr[10] = { "Test" };
+ _itoa_s(i, SUMStr, 10);
strcat_s(TestStr, SUMStr);
- int num1 = GetPrivateProfileInt("TestStr", "number1", 0, "ex1.ini");
- int num2 = GetPrivateProfileInt("TestStr", "number2", 0, "ex1.ini");
- int output = GetPrivateProfileInt("TestStr", "output", 0, "ex1.ini");
-
- Assert::AreEqual(output, add(num1, num2));
+ //string str(TestStr);
+ int num1 = GetPrivateProfileInt(TestStr, "number1", 0, "..//ex1.ini");
+ int num2 = GetPrivateProfileInt(TestStr, "number2", 0, "..//ex1.ini");
+ int c = 0;
+ bool ret1 = Add(num1, num2, &c);
+ if (ret1 == 1)
+ {
+ int output = GetPrivateProfileInt(TestStr, "output", 0, "..//ex1.ini");
+ Assert::AreEqual(output, c);
+ }
+ else
+ {
+ LPTSTR Output = (LPTSTR)malloc(255);
+ GetPrivateProfileString(TestStr, "output", "", Output, 255, "..//ex1.ini");
+ string s(Output);
+ Assert::AreEqual(tof(s), Add(num1, num2, &c));
+ }
}
}
}
TEST_METHOD(TestMethod2)
{
- int SUB = GetPrivateProfileInt("Len", "sum", 0, "../ex2.ini");
+ int SUB = GetPrivateProfileInt("Len", "sum", 0, "..//ex2.ini");
{
for (int j = 1; j <= SUB; j++)
{
@@ -44,17 +60,29 @@ namespace UnitTest1
char TestStr[8] = { "Test" };
_itoa_s(j, SUBStr, 8);
strcat_s(TestStr, SUBStr);
- int num1 = GetPrivateProfileInt("TestStr", "number1", 0, "ex2.ini");
- int num2 = GetPrivateProfileInt("TestStr", "number2", 0, "ex2.ini");
- int output = GetPrivateProfileInt("TestStr", "output", 0, "ex2.ini");
-
- Assert::AreEqual(output, sub(num1, num2));
+ int num1 = GetPrivateProfileInt(TestStr, "number1", 0, "..//ex2.ini");
+ int num2 = GetPrivateProfileInt(TestStr, "number2", 0, "..//ex2.ini");
+
+ int d = 0;
+ bool ret2 = Sub(num1, num2, &d);
+ if (ret2 == 1)
+ {
+ int output = GetPrivateProfileInt(TestStr, "output", 0, "..//ex2.ini");
+ Assert::AreEqual(output, d);
+ }
+ else
+ {
+ LPTSTR Output = (LPTSTR)malloc(255);
+ GetPrivateProfileString(TestStr, "output", "", Output, 255, "..//ex2.ini");
+ string s(Output);
+ Assert::AreEqual(tof(s), Sub(num1, num2, &d));
+ }
}
}
}
TEST_METHOD(TestMethod3)
{
- int MUL = GetPrivateProfileInt("Len", "sum", 0, "../ex3.ini");
+ int MUL = GetPrivateProfileInt("Len", "sum", 0, "..//ex3.ini");
{
for (int i = 1; i <= MUL; i++)
{
@@ -62,17 +90,29 @@ namespace UnitTest1
char TestStr[8] = { "Test" };
_itoa_s(i, MULStr, 8);
strcat_s(TestStr, MULStr);
- int num1 = GetPrivateProfileInt("TestStr", "number1", 0, "ex3.ini");
- int num2 = GetPrivateProfileInt("TestStr", "number2", 0, "ex3.ini");
- int output = GetPrivateProfileInt("TestStr", "output", 0, "ex3.ini");
+ int num1 = GetPrivateProfileInt(TestStr, "number1", 0, "..//ex3.ini");
+ int num2 = GetPrivateProfileInt(TestStr, "number2", 0, "..//ex3.ini");
+ int e = 0;
+ bool ret3 = chen(num1, num2, &e);
+ if (ret3 == 1)
+ {
+ int output = GetPrivateProfileInt(TestStr, "output", 0, "..//ex3.ini");
+ Assert::AreEqual(output, e);
+ }
+ else
+ {
+ LPTSTR Output = (LPTSTR)malloc(255);
+ GetPrivateProfileString(TestStr, "output", "", Output, 255, "..//ex3.ini");
+ string s(Output);
+ Assert::AreEqual(tof(s), chen(num1, num2, &e));
+ }
- Assert::AreEqual(output, mul(num1, num2));
}
}
}
TEST_METHOD(TestMethod4)
{
- int DIV = GetPrivateProfileInt("Len", "sum", 0, "../ex4.ini");
+ int DIV = GetPrivateProfileInt("Len", "sum", 0, "..//ex4.ini");
{
for (int i = 1; i <= DIV; i++)
{
@@ -80,9 +120,9 @@ namespace UnitTest1
char TestStr[8] = { "Test" };
_itoa_s(i, DIVStr, 8);
strcat_s(TestStr, DIVStr);
- int num1 = GetPrivateProfileInt("TestStr", "number1", 0, "ex4.ini");
- int num2 = GetPrivateProfileInt("TestStr", "number2", 0, "ex4.ini");
- int output = GetPrivateProfileInt("TestStr", "output", 0, "ex4.ini");
+ int num1 = GetPrivateProfileInt(TestStr, "number1", 0, "..//ex4.ini");
+ int num2 = GetPrivateProfileInt(TestStr, "number2", 0, "..//ex4.ini");
+ int output = GetPrivateProfileInt(TestStr, "output", 0, "../ex4.ini");
Assert::AreEqual(output, chu(num1, num2));
}
diff --git a/jia/chen/Source.def b/jia/chen/Source.def
index 2808b55..c7aef20 100644
--- a/jia/chen/Source.def
+++ b/jia/chen/Source.def
@@ -1,4 +1,3 @@
-LIBRARY CHEN
+LIBRARY chen
EXPORTS
-mul
chen
diff --git a/jia/chen/chen.cpp b/jia/chen/chen.cpp
index e1327fb..f2789cb 100644
--- a/jia/chen/chen.cpp
+++ b/jia/chen/chen.cpp
@@ -1,8 +1,15 @@
#include "chen.h"
#include
-bool chen(int a, int b, int *e)
+
+bool chen(int a, int b, int *e)
{
- if( (a>0 && b>0 && a >( INT_MAX / b ))||( a<0 && b<0 && a < (INT_MAX / b)) ||( a>0 && b<0 && a < (INT_MIN / b)) ||( a<0 && b>0 && a >( INT_MIN /b) ))
+ if ((a>0 && b>0 && a >(INT_MAX / b)) || (a<0 && b<0 && a < (INT_MAX / b)))
+ {
+
+ return false;
+ }
+
+ else if ((a > 0 && b < 0 && b != -1 && (INT_MIN / a) > b || (a < 0 && b > 0 && a != -1 && (INT_MIN / a) < b)))
{
return false;
@@ -15,8 +22,4 @@ bool chen(int a, int b, int *e)
}
}
-int mul(int a, int b)
-{
- return a * b;
-}
diff --git a/jia/chen/chen.h b/jia/chen/chen.h
index b3c7b71..81d6d6c 100644
--- a/jia/chen/chen.h
+++ b/jia/chen/chen.h
@@ -1,8 +1,7 @@
-#ifndef MUL_H
-#define MUL_H
+#ifndef CHEN_H
+#define CHEN_H
-int mul(int a, int b);
- bool chen(int a, int b, int *e);
+bool chen(int a, int b, int *e);
#endif
\ No newline at end of file
diff --git a/jia/chu/chu.vcxproj b/jia/chu/chu.vcxproj
index 0055aec..e1f7237 100644
--- a/jia/chu/chu.vcxproj
+++ b/jia/chu/chu.vcxproj
@@ -20,7 +20,7 @@
Application
true
v120
- Unicode
+ MultiByte
Application
@@ -81,9 +81,11 @@
+
+
diff --git a/jia/chu/chu.vcxproj.filters b/jia/chu/chu.vcxproj.filters
index c0c538b..43ec0a2 100644
--- a/jia/chu/chu.vcxproj.filters
+++ b/jia/chu/chu.vcxproj.filters
@@ -21,10 +21,16 @@
æºæ–‡ä»¶
+
+ æºæ–‡ä»¶
+
头文件
+
+ 头文件
+
\ No newline at end of file
diff --git a/jia/chu/main.cpp b/jia/chu/main.cpp
index 4116f96..25f490c 100644
--- a/jia/chu/main.cpp
+++ b/jia/chu/main.cpp
@@ -4,47 +4,79 @@
#include "../jian/jian.h"
//#pragma comment(lib,"jian.lib")
#include "chu.h"
-#include "Windows.h"
+#include "windows.h"
#include "../chen/chen.h"
+#include
+#include "tof.h"
+using namespace std;
-typedef int(*PMUL)(int a, int b);
typedef bool(*QCHEN)(int a, int b,int *e);
+
int main()
{
-
+
int a, b;
int c = 0;
int d = 0;
int e = 0;
-
+ /*char f = 0;
+ char *d = &f;*/
printf("ÇëÊäÈëÁ½¸öÕûÊý\n");
scanf("%d%d", &a, &b);
+
bool ret1 = Add(a, b,&c);
+ if ( ret1 == 0)
+ {
+ printf("Á½¸öÕûÊýÏà¼Ó½á¹ûÒç³ö£¡\n");
+
+ }
+ else
+ {
- printf("ret1=%d a+b=%d\n",ret1,c);
+ printf("Á½¸öÕûÊýµÄÏà¼Ó½á¹ûÊÇ;%d\n", c);
+ }
+ //printf("Á½¸öÕûÊýµÄÏà¼õ½á¹ûÊÇ;%d\n,%d", Sub(a, b, d));
bool ret2 = Sub(a, b, &d);
- printf("ret2=%d a-b=%d\n", ret2,d);
+ if (ret2 == 0)
+ {
+ printf("Á½¸öÕûÊýÏà¼õ½á¹ûÒç³ö£¡\n ");
+
+
+ }
+ else
+ {
+ printf("Á½¸öÕûÊýµÄÏà¼õ½á¹ûÊÇ;%d\n", d);
+ }
- HMODULE hDLL = LoadLibrary(L"../Debug/chen.dll");
+ HMODULE hDLL =LoadLibrary ("../Debug/chen.dll");
if (hDLL == NULL)
{
printf("¼ÓÔØDLLÎļþʧ°Ü\n");
return 0;
}
- PMUL pMul = (PMUL)GetProcAddress(hDLL, "mul");
+// PMUL pMul = (PMUL)GetProcAddress(hDLL, "mul");
QCHEN qChen = (QCHEN)GetProcAddress(hDLL, "chen");
bool ret3 = chen(a, b, &e);
- printf("ret3=%d a*b=%d\n", ret3, e);
-
- printf("a/b=%d\n", chu(a, b));
+ if (ret3 == 0)
+ {
+ printf("Á½¸öÕûÊýÏà³Ë½á¹ûÒç³ö£¡\n ");
- FreeLibrary(hDLL);
+ }
+ else
+ {
+ printf("Á½¸öÕûÊýµÄÏà³Ë½á¹ûÊÇ;%d\n", e);
+ }
+
+ printf("Á½¸öÕûÊýµÄÏà³ý½á¹ûÊÇ;%d\n", chu(a,b));
+
+ system("pause");
+ FreeLibrary(hDLL);
}
\ No newline at end of file
diff --git a/jia/chu/tof.cpp b/jia/chu/tof.cpp
new file mode 100644
index 0000000..1a9efab
--- /dev/null
+++ b/jia/chu/tof.cpp
@@ -0,0 +1,18 @@
+#include "tof.h"
+
+bool tof(string a)
+{
+ string b = "false";
+ if (a == b)
+ {
+ return false;
+
+ }
+ else
+ {
+ return true;
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/jia/chu/tof.h b/jia/chu/tof.h
new file mode 100644
index 0000000..fdd97d8
--- /dev/null
+++ b/jia/chu/tof.h
@@ -0,0 +1,8 @@
+#ifndef TOF_H
+#define TOF_H
+#include
+using namespace std;
+
+bool tof(string a);
+
+#endif
\ No newline at end of file
diff --git a/jia/ex1.ini b/jia/ex1.ini
index f90c649..4787eb2 100644
--- a/jia/ex1.ini
+++ b/jia/ex1.ini
@@ -2,7 +2,7 @@
sum=8
[Test1]
-number1=1
+number1 =1
number2=2
output=3
@@ -22,9 +22,9 @@ number2=-2
output=-3
[Test5]
-number1=1000
-number2=20000
-output=21000
+number1=2000000000
+number2=2000000000
+output=false
[Test6]
number1=-1000
@@ -37,6 +37,6 @@ number2=-10
output=2990
[Test8]
-number1=100000
-number2=5000000
-output=5100000
\ No newline at end of file
+number1=-1000000000
+number2=-2000000000
+output=false
\ No newline at end of file
diff --git a/jia/ex2.ini b/jia/ex2.ini
index aae3649..8a28fc4 100644
--- a/jia/ex2.ini
+++ b/jia/ex2.ini
@@ -22,9 +22,9 @@ number2=-11
output=2
[Test5]
-number1=10000
-number2=2000
-output=8000
+number1=-1000000000
+number2=2000000000
+output=false
[Test6]
number1=-1
@@ -37,6 +37,6 @@ number2=-10000
output=10300
[Test8]
-number1=10000
-number2=500000
-output=-490000
\ No newline at end of file
+number1=2000000000
+number2=-2000000000
+output=false
\ No newline at end of file
diff --git a/jia/ex3.ini b/jia/ex3.ini
index 831ee55..d943175 100644
--- a/jia/ex3.ini
+++ b/jia/ex3.ini
@@ -12,31 +12,31 @@ number2=2
output=-2
[Test3]
-number1=1
-number2=-5
-output=-5
+number1=1000000
+number2=50000
+output=false
[Test4]
-number1=-9
-number2=-11
-output=99
+number1=-9000000
+number2=-11000
+output=false
[Test5]
-number1=100
-number2=200
-output=20000
+number1=9
+number2=9
+output=81
[Test6]
-number1=-10000
-number2=200
-output=-2000000
+number1=-100000
+number2=200000
+output=false
[Test7]
-number1=300
-number2=-1
-output=-300
+number1=1000000
+number2=-20000
+output=false
[Test8]
-number1=-11
-number2=-11
-output=121
\ No newline at end of file
+number1=2
+number2=2
+output=4
\ No newline at end of file
diff --git a/jia/ex4.ini b/jia/ex4.ini
index 4ae1105..b854388 100644
--- a/jia/ex4.ini
+++ b/jia/ex4.ini
@@ -3,8 +3,8 @@ sum=8
[Test1]
number1=100
-number2=0
-output=0
+number2=1
+output=100
[Test2]
number1=-2
@@ -29,12 +29,12 @@ output=-1
[Test6]
number1=-10000
number2=200
-output=-500
+output=-50
[Test7]
number1=300
-number2=-1
-output=-300
+number2=0
+output=false
[Test8]
number1=0
diff --git a/jia/jia/jia.cpp b/jia/jia/jia.cpp
index b87e6e4..4f1f4fa 100644
--- a/jia/jia/jia.cpp
+++ b/jia/jia/jia.cpp
@@ -1,23 +1,19 @@
#include "jia.h"
#include
-bool Add(int a, int b, int *c)
+
+bool Add(int a, int b, int *c)
{
- if (a>0&&b>0&&a > INT_MAX - b ||a<0&&b<0&& a < INT_MIN - b)
- {
+ if ((a > 0 && b > 0 && a > (INT_MAX - b)) || (a < 0 && b < 0 && a < (INT_MIN - b)))
+ {
return false;
}
else
{
*c = a + b;
return true;
-
}
-
-}
-int add(int a, int b)
-{
- return a + b;
+
}
diff --git a/jia/jia/jia.h b/jia/jia/jia.h
index a4056c5..47f7c1b 100644
--- a/jia/jia/jia.h
+++ b/jia/jia/jia.h
@@ -1,6 +1,6 @@
#ifndef ADD_H
#define ADD_H
-bool Add(int a, int b, int *c);
-int add(int a, int b);
+bool Add(int a, int b,int *c);
+//int add(int a,int b);
#endif
\ No newline at end of file
diff --git a/jia/jian/jian.cpp b/jia/jian/jian.cpp
index a704a74..809b40a 100644
--- a/jia/jian/jian.cpp
+++ b/jia/jian/jian.cpp
@@ -1,5 +1,23 @@
#include "jian.h"
#include
+
+//char Sub(int a, int b, char *d)
+//{
+// if ((a>0 && b<0 && a >(INT_MAX + b)) || (a<0 && b>0 && a < (INT_MIN + b)))
+// {
+// char *c = { "overflow" };
+// *d = c[0];
+// return d[0];
+// }
+// else
+// {
+// d[0] = (a - b) + '0';
+// return d[0];
+//
+// }
+//
+//}
+
bool Sub(int a, int b, int *d)
{
if ((a>0 &&b<0 && a >( INT_MAX + b)) ||( a<0 && b>0 && a < (INT_MIN + b)))
@@ -15,7 +33,7 @@ bool Sub(int a, int b, int *d)
}
}
-int sub(int a, int b)
-{
- return a - b;
-}
\ No newline at end of file
+//int sub(int a, int b)
+//{
+// return a - b;
+//}
\ No newline at end of file
diff --git a/jia/jian/jian.h b/jia/jian/jian.h
index 1bb7f66..fe90f51 100644
--- a/jia/jian/jian.h
+++ b/jia/jian/jian.h
@@ -5,7 +5,7 @@
#else
#define DLLAPI _declspec(dllimport)
#endif
-int DLLAPI sub(int a, int b);
+//int DLLAPI sub(int a, int b);
bool DLLAPI Sub(int a, int b, int *d);
-
+//char DLLAPI Sub(int a, int b, char *d);
#endif
\ No newline at end of file