Додана лабораторна робота № 10
This commit is contained in:
parent
9189d6754f
commit
59b5a342e2
22 changed files with 576 additions and 0 deletions
14
lab10/README.md
Normal file
14
lab10/README.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Лабораторна робота № 10
|
||||
|
||||
Тема Реалізація програмних модулів оброблення даних складових типів з файловим введенням/виведенням
|
||||
|
||||
Мета роботи полягає у набутті ґрунтовних вмінь і практичних навичок реалізації у Code::Blocks IDE мовою програмування С++ програмних модулів створення й оброблення даних типів масив, структура, об’єднання, множина, перелік, перетворення типів даних, використання файлових потоків та функцій стандартних бібліотек для оброблення символьної інформації.
|
||||
|
||||
Завдання
|
||||
1. Реалізувати програмні модулі розв’язування задач 10.1–10.3 як складові статичної бібліотеки libModulesMykhailenko.а (проект ModulesMykhailenko лабораторних робіт No 8–9).
|
||||
2. Реалізувати тестовий драйвер автоматизованої перевірки програмних модулів розв’язування задач 10.1–10.3.
|
||||
|
||||
Варіант № 1
|
||||
|
||||
|
||||
Кропивницький | <a href="http://www.kntu.kr.ua/">ЦНТУ</a> | 2023
|
BIN
lab10/Report/Report.pdf
Normal file
BIN
lab10/Report/Report.pdf
Normal file
Binary file not shown.
BIN
lab10/Software/TestDriver.exe
Executable file
BIN
lab10/Software/TestDriver.exe
Executable file
Binary file not shown.
BIN
lab10/TestSuite/TS_Unit1.doc
Normal file
BIN
lab10/TestSuite/TS_Unit1.doc
Normal file
Binary file not shown.
BIN
lab10/TestSuite/TS_Unit2.doc
Normal file
BIN
lab10/TestSuite/TS_Unit2.doc
Normal file
Binary file not shown.
BIN
lab10/TestSuite/TS_Unit3.doc
Normal file
BIN
lab10/TestSuite/TS_Unit3.doc
Normal file
Binary file not shown.
34
lab10/prj/ModulesMykhailenko.h
Normal file
34
lab10/prj/ModulesMykhailenko.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
#ifndef MODULESMYKHAILENKO_H_INCLUDED
|
||||
#define MODULESMYKHAILENKO_H_INCLUDED
|
||||
|
||||
#include <string>
|
||||
|
||||
using std::string;
|
||||
|
||||
float s_calculation(int x, int y, int z);
|
||||
|
||||
typedef struct Deposit {
|
||||
float totalInterest;
|
||||
float monthlyInterestPaid;
|
||||
} Deposit;
|
||||
|
||||
typedef struct Size {
|
||||
int french;
|
||||
string international;
|
||||
} Size;
|
||||
|
||||
Deposit getPayment(float value, int months);
|
||||
|
||||
Size getSize(int slovakSize);
|
||||
|
||||
int t9_3(int number);
|
||||
|
||||
bool validateCharacter(wchar_t character);
|
||||
|
||||
int t10_1(string inputFile, string outputFile);
|
||||
|
||||
int t10_2(string file);
|
||||
|
||||
int t10_3(string file, int x, int y, int z, int b);
|
||||
|
||||
#endif // MODULESMYKHAILENKO_H_INCLUDED
|
40
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.cbp
Normal file
40
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.cbp
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="ModulesMykhailenko" />
|
||||
<Option pch_mode="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option output="bin/Debug/ModulesMykhailenko" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="" />
|
||||
<Option object_output="obj/Debug/" />
|
||||
<Option type="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Option createDefFile="1" />
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="bin/Release/ModulesMykhailenko" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="" />
|
||||
<Option object_output="obj/Release/" />
|
||||
<Option type="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Option createDefFile="1" />
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
<Add option="-O2" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-s" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<Unit filename="ModulesMykhailenko.cpp" />
|
||||
<Extensions />
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
188
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.cpp
Normal file
188
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.cpp
Normal file
|
@ -0,0 +1,188 @@
|
|||
#include <cmath>
|
||||
#include <ctime>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <codecvt>
|
||||
#include <bitset>
|
||||
#include <limits>
|
||||
#include "ModulesMykhailenko.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
wstring characters = L".,!?:;)\" (₴ʼ'№%*_-+=\\/0123456789абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
|
||||
|
||||
float s_calculation(int x, int y, int z) {
|
||||
return fabs(sin(fabs(y-pow(z,2)))+sqrt(x)-sqrt(pow(y*z, x)+(y/(2*M_PI))));
|
||||
}
|
||||
|
||||
Deposit getPayment(float value, int months) {
|
||||
Deposit deposit;
|
||||
if (months == 6 || months == 12) {
|
||||
float interest;
|
||||
deposit.totalInterest = months == 12 ? 13 : 11/(float)2;
|
||||
interest = deposit.totalInterest / 100 / months;
|
||||
deposit.monthlyInterestPaid = round(value*interest*100)/100;
|
||||
} else {
|
||||
deposit.totalInterest = -1;
|
||||
deposit.monthlyInterestPaid = -1;
|
||||
}
|
||||
return deposit;
|
||||
}
|
||||
|
||||
Size getSize(int slovakSize) {
|
||||
Size size;
|
||||
if (slovakSize >= 6 && slovakSize <= 10) {
|
||||
size.french = slovakSize - 4;
|
||||
switch (slovakSize)
|
||||
{
|
||||
case 6:
|
||||
size.international = "S";
|
||||
break;
|
||||
case 7:
|
||||
size.international = "M";
|
||||
break;
|
||||
case 8:
|
||||
size.international = "L";
|
||||
break;
|
||||
case 9:
|
||||
size.international = "XL";
|
||||
break;
|
||||
case 10:
|
||||
size.international = "XXL";
|
||||
break;
|
||||
default:
|
||||
size.international = "Error";
|
||||
}
|
||||
} else {
|
||||
size.french = -1;
|
||||
size.international = "Error";
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
int t9_3(int number) {
|
||||
unsigned int count = 0;
|
||||
if (number > 0 || number <= 7483650) {
|
||||
bool set = number & 1;
|
||||
while (number) {
|
||||
count += (number & 1) == set;
|
||||
number >>= 1;
|
||||
}
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
bool validateCharacter(wchar_t character) {
|
||||
for (int i = 0; i < characters.length(); i++)
|
||||
if (character == characters.at(i))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
int t10_1(string inputFile, string outputFile) {
|
||||
wstring line;
|
||||
wstring words[4] = {L"програма", L"модуль", L"студент", L"програміст"};
|
||||
bool found = false;
|
||||
int number = 0;
|
||||
wifstream indata;
|
||||
indata.open(inputFile);
|
||||
ofstream outdata;
|
||||
outdata.open(outputFile);
|
||||
|
||||
if (!indata || !outdata)
|
||||
return 1;
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (getline(indata,line)) {
|
||||
number += line.length();
|
||||
|
||||
for (int i = 0; i < line.length(); i++) {
|
||||
line[i] = towlower(line[i]);
|
||||
if (!validateCharacter(line[i]))
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int index = line.find(words[i]);
|
||||
if (index != wstring::npos && line.length()-words[i].length()-index == 0) { // слово у кінці
|
||||
found = true;
|
||||
goto out_found;
|
||||
}
|
||||
|
||||
for (int j = 0; j < 9; j++) { // крапка, кома, знак оклику, знак питання, двокрапка, крапка з комою, закриваюча дужка, лапки, пробіл
|
||||
wstring wordToFind = words[i] + characters.at(j);
|
||||
if (line.find(wordToFind) != wstring::npos) {
|
||||
found = true;
|
||||
goto out_found;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
out_found: continue;
|
||||
}
|
||||
|
||||
outdata << "Розробник: Михайленко Станіслав" << endl << "Установа/організація: Центральноукраїнський національний технічний університет" << endl << "Місто: Кропивницький" << endl << "Країна: Україна" << endl << "Рік розробки: 2023" << endl << endl;
|
||||
|
||||
outdata << "Кількість символів у файлі: " << number << endl;
|
||||
|
||||
outdata << "У вхідному файлі " << ((found) ? "наявні" : "відсутні") << " слова \"програма\", \"модуль\", \"студент\", \"програміст\"." << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int t10_2(string file) {
|
||||
wchar_t character;
|
||||
time_t rawtime;
|
||||
time(&rawtime);
|
||||
int number = 0;
|
||||
|
||||
wifstream indata;
|
||||
indata.open(file);
|
||||
ofstream outdata;
|
||||
outdata.open(file, ios_base::app);
|
||||
|
||||
if (!indata || !outdata)
|
||||
return 1;
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (indata >> character) {
|
||||
if (!validateCharacter(towlower(character)))
|
||||
return 2;
|
||||
for (int i = 0; i < 10; i++)
|
||||
if (character == characters[i + 22]) // 0-9
|
||||
number += 1;
|
||||
}
|
||||
|
||||
outdata << endl << "Кількість цифр у файлі: " << number << endl;
|
||||
outdata << "Дата й час дозапису: " << ctime(&rawtime);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int t10_3(string file, int x, int y, int z, int b) {
|
||||
wchar_t character;
|
||||
time_t rawtime;
|
||||
time(&rawtime);
|
||||
int number = 0;
|
||||
|
||||
ofstream data;
|
||||
data.open(file, ios_base::app);
|
||||
|
||||
if (!data)
|
||||
return 1;
|
||||
|
||||
data << endl << "s = " << s_calculation(x, y, z) << endl;
|
||||
if (b > 0) {
|
||||
string binary = bitset<numeric_limits<int>::digits>(b).to_string();
|
||||
binary.erase(0, binary.find_first_not_of('0'));
|
||||
data << "b у двійковому коді: " << binary << endl;
|
||||
}
|
||||
else
|
||||
data << "b — не натуральне число" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
10
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.depend
Normal file
10
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.depend
Normal file
|
@ -0,0 +1,10 @@
|
|||
# depslib dependency file v1.0
|
||||
1677874156 source:z:\bmtp10\prj\modulesmykhailenko\modulesmykhailenko.cpp
|
||||
<ctime>
|
||||
<string>
|
||||
<fstream>
|
||||
<codecvt>
|
||||
<bitset>
|
||||
<limits>
|
||||
"ModulesMykhailenko.h"
|
||||
|
10
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.layout
Normal file
10
lab10/prj/ModulesMykhailenko/ModulesMykhailenko.layout
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_layout_file>
|
||||
<FileVersion major="1" minor="0" />
|
||||
<ActiveTarget name="Debug" />
|
||||
<File name="ModulesMykhailenko.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="1908" topLine="68" />
|
||||
</Cursor>
|
||||
</File>
|
||||
</CodeBlocks_layout_file>
|
BIN
lab10/prj/ModulesMykhailenko/bin/Debug/libModulesMykhailenko.a
Normal file
BIN
lab10/prj/ModulesMykhailenko/bin/Debug/libModulesMykhailenko.a
Normal file
Binary file not shown.
BIN
lab10/prj/ModulesMykhailenko/obj/Debug/ModulesMykhailenko.o
Normal file
BIN
lab10/prj/ModulesMykhailenko/obj/Debug/ModulesMykhailenko.o
Normal file
Binary file not shown.
38
lab10/prj/TestDriver/TestDriver.cbp
Normal file
38
lab10/prj/TestDriver/TestDriver.cbp
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="TestDriver" />
|
||||
<Option pch_mode="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option output="bin/Debug/TestDriver" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/Debug/" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="bin/Release/TestDriver" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/Release/" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-s" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
<Add option="-fexceptions" />
|
||||
</Compiler>
|
||||
<Unit filename="main.cpp" />
|
||||
<Extensions />
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
13
lab10/prj/TestDriver/TestDriver.depend
Normal file
13
lab10/prj/TestDriver/TestDriver.depend
Normal file
|
@ -0,0 +1,13 @@
|
|||
# depslib dependency file v1.0
|
||||
1677244734 source:z:\bmtp9\prj\testdriver\main.cpp
|
||||
"ModulesMykhailenko.h"
|
||||
<iostream>
|
||||
<clocale>
|
||||
|
||||
1677873860 source:z:\bmtp10\prj\testdriver\main.cpp
|
||||
<iostream>
|
||||
<locale>
|
||||
<fstream>
|
||||
<codecvt>
|
||||
<string>
|
||||
|
10
lab10/prj/TestDriver/TestDriver.layout
Normal file
10
lab10/prj/TestDriver/TestDriver.layout
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_layout_file>
|
||||
<FileVersion major="1" minor="0" />
|
||||
<ActiveTarget name="Debug" />
|
||||
<File name="main.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="520" topLine="9" />
|
||||
</Cursor>
|
||||
</File>
|
||||
</CodeBlocks_layout_file>
|
BIN
lab10/prj/TestDriver/bin/Debug/TestDriver.exe
Executable file
BIN
lab10/prj/TestDriver/bin/Debug/TestDriver.exe
Executable file
Binary file not shown.
4
lab10/prj/TestDriver/input.txt
Normal file
4
lab10/prj/TestDriver/input.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
00000
|
||||
|
||||
Кількість цифр у файлі: 5
|
||||
Дата й час дозапису: Fri Mar 03 22:30:28 2023
|
192
lab10/prj/TestDriver/main.cpp
Normal file
192
lab10/prj/TestDriver/main.cpp
Normal file
|
@ -0,0 +1,192 @@
|
|||
#include "ModulesMykhailenko.h"
|
||||
#include <iostream>
|
||||
#include <locale>
|
||||
#include <fstream>
|
||||
#include <codecvt>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
string input = "input.txt";
|
||||
string output = "output.txt";
|
||||
|
||||
bool createInput(wstring content) {
|
||||
wofstream data;
|
||||
data.open(input);
|
||||
|
||||
data.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
if (!data) {
|
||||
cout << "Помилка запису вхідних даних." << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
data << content << endl;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool test1_1() {
|
||||
wstring line;
|
||||
const wstring lines[3] = {L"Розробник: Михайленко Станіслав", L"Установа/організація: Центральноукраїнський національний технічний університет", L"Рік розробки: 2023"};
|
||||
bool linesFound[3] = {false, false, false};
|
||||
int currentLine = 0;
|
||||
if(!createInput(L"тест"))
|
||||
return false;
|
||||
|
||||
t10_1(input, output);
|
||||
|
||||
wifstream indata;
|
||||
indata.open(output);
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (getline(indata,line)) {
|
||||
if (line.find(lines[currentLine]) != wstring::npos) {
|
||||
linesFound[currentLine] = true;
|
||||
currentLine++;
|
||||
}
|
||||
if (linesFound[0] && linesFound[1] && linesFound[2])
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool test1(wstring data, bool wordPresent) {
|
||||
wstring line;
|
||||
|
||||
if(!createInput(data))
|
||||
return false;
|
||||
|
||||
t10_1(input, output);
|
||||
|
||||
wifstream indata;
|
||||
indata.open(output);
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (getline(indata,line)) {
|
||||
if ((wordPresent && line.find(L"наявні") != wstring::npos) || (!wordPresent && line.find(L"відсутні") != wstring::npos))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool test2_1() {
|
||||
wstring line;
|
||||
if(!createInput(L"тест"))
|
||||
return false;
|
||||
|
||||
t10_2(input);
|
||||
|
||||
wifstream indata;
|
||||
indata.open(input);
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (getline(indata,line)) {
|
||||
if (line.find(L"Дата й час дозапису: ") != wstring::npos)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool test2(wstring data, int digits) {
|
||||
wstring line;
|
||||
if(!createInput(data))
|
||||
return false;
|
||||
|
||||
t10_2(input);
|
||||
|
||||
wifstream indata;
|
||||
indata.open(input);
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (getline(indata,line)) {
|
||||
if (line.find(L"Кількість цифр у файлі: " + digits) != wstring::npos)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool test3(int x, int y, int z, int b, wstring s, wstring bin) {
|
||||
wstring line;
|
||||
bool firstValid = false;
|
||||
t10_3(output, x, y, z, b);
|
||||
|
||||
wifstream indata;
|
||||
indata.open(output);
|
||||
|
||||
indata.imbue(locale(locale(), new codecvt_utf8<wchar_t>));
|
||||
|
||||
while (getline(indata,line)) {
|
||||
if (!firstValid && (line.find(L"s = " + s) != wstring::npos))
|
||||
firstValid = true;
|
||||
else if (firstValid && (line.find(L"b у двійковому коді: " + bin) != wstring::npos))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int main() {
|
||||
const wstring data1_1[] = {L"Студент", L"Студентка", L"модуль!", L"модульчик"};
|
||||
const bool wordPresent[] = {true, false, true, false};
|
||||
|
||||
const wstring data2_1[] = {L"Програміст", L"0123456789", L"12", L"00000"};
|
||||
const int digits[] = {0, 10, 2, 5};
|
||||
|
||||
const int x[] = {7, 2, 9, 0, 7};
|
||||
const int y[] = {2, 45, 0, 0, 5};
|
||||
const int z[] = {1, 6, 1, 0, 4};
|
||||
const int b[] = {1, 3, 8, 100, 127};
|
||||
const wstring s[] = {L"7.84054", L"268.187", L"3.84147", L"1", L"35775.4"};
|
||||
const wstring bin[] = {L"1", L"11", L"1000", L"1100100", L"1111111"};
|
||||
|
||||
|
||||
setlocale(LC_ALL, "");
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
for (int j = 0; j < 5; j++) {
|
||||
bool value = false;
|
||||
wstring description;
|
||||
if (i < 2 && j == 0) {
|
||||
description = L"виведення повідомлення";
|
||||
if (i == 0)
|
||||
value = test1_1();
|
||||
else if (i == 1)
|
||||
value = test2_1();
|
||||
}
|
||||
else if (i == 0) {
|
||||
value = test1(data1_1[j-1], wordPresent[j-1]);
|
||||
description = L"вхідні дані: " + data1_1[j-1] + L", очікуваний результат: слова " + (wordPresent[j-1] ? L"наявні" : L"відсутні");
|
||||
}
|
||||
else if (i == 1) {
|
||||
value = test2(data2_1[j-1], digits[j-1]);
|
||||
string tmpstr = to_string(digits[j-1]);
|
||||
wstring wstr(tmpstr.begin(), tmpstr.end());
|
||||
description = L"вхідні дані: " + data2_1[j-1] + L", очікуваний результат: кількість чисел: " + wstr;
|
||||
}
|
||||
else if (i == 2) {
|
||||
value = test3(x[j], y[j], z[j], b[j], s[j], bin[j]);
|
||||
string xtmpstr = to_string(digits[j-1]);
|
||||
wstring xwstr(xtmpstr.begin(), xtmpstr.end());
|
||||
string ytmpstr = to_string(digits[j-1]);
|
||||
wstring ywstr(ytmpstr.begin(), ytmpstr.end());
|
||||
string ztmpstr = to_string(digits[j-1]);
|
||||
wstring zwstr(ztmpstr.begin(), ztmpstr.end());
|
||||
string btmpstr = to_string(digits[j-1]);
|
||||
wstring bwstr(btmpstr.begin(), btmpstr.end());
|
||||
description = L"вхідні дані: x = " + xwstr + L", y = " + ywstr + L", z = " + zwstr + L", b = " + bwstr + L", очікуваний результат: s = " + s[j] + L", b у двійковому коді: " + bin[j];
|
||||
}
|
||||
wcout << "Test " << i + 1 << "." << j + 1 << " (" << description << ") " << (value ? "passed" : "failed") << endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
BIN
lab10/prj/TestDriver/obj/Debug/main.o
Normal file
BIN
lab10/prj/TestDriver/obj/Debug/main.o
Normal file
Binary file not shown.
23
lab10/prj/TestDriver/output.txt
Normal file
23
lab10/prj/TestDriver/output.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
Розробник: Михайленко Станіслав
|
||||
Установа/організація: Центральноукраїнський національний технічний університет
|
||||
Місто: Кропивницький
|
||||
Країна: Україна
|
||||
Рік розробки: 2023
|
||||
|
||||
Кількість символів у файлі: 9
|
||||
У вхідному файлі відсутні слова "програма", "модуль", "студент", "програміст".
|
||||
|
||||
s = 7.84054
|
||||
b у двійковому коді: 1
|
||||
|
||||
s = 268.187
|
||||
b у двійковому коді: 11
|
||||
|
||||
s = 3.84147
|
||||
b у двійковому коді: 1000
|
||||
|
||||
s = 1
|
||||
b у двійковому коді: 1100100
|
||||
|
||||
s = 35775.4
|
||||
b у двійковому коді: 1111111
|
BIN
lab10/tasks/L10-var--001.jpg
Normal file
BIN
lab10/tasks/L10-var--001.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 196 KiB |
Reference in a new issue