p align="left">{ s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); if (dd==sizeOZY) {s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; } } int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0; } //Определяем стоимость жесткого диска if (this->comboBox10->Text!=""&&this->comboBox9->Text!="") { String ^d, ^dd="", ^s=File::ReadAllText("baseHDD.txt"); while(s->Length >50) d=s->Substring(0,i); if (d==typeHDD) { s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); if (dd==sizeHDD) {s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; } } int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0; } //Определяем стоимость монитора if (this->comboBox12->Text!=""&&this->comboBox11->Text!="") { String ^d, ^dd="", ^s=File::ReadAllText("baseDispley.txt"); while(s->Length >30) { int i=s->IndexOf(""); d=s->Substring(0,i); if (d==markaDisp) { s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); if (dd==modelDisp) {s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; } } int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0; } if (this->comboBox2->Text==""&&this->comboBox1->Text!="") {MessageBox::Show("Выберите частоту процессора","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->comboBox4->Text==""&&this->comboBox3->Text!="") {MessageBox::Show("Выберите модель материнской платы","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->comboBox6->Text==""&&this->comboBox5->Text!="") {MessageBox::Show("Выберите модель видеокарты","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->comboBox8->Text==""&&this->comboBox7->Text!="") {MessageBox::Show("Выберите объем оперативной памяти","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->comboBox10->Text==""&&this->comboBox9->Text!="") {MessageBox::Show("Выберите объем жесткого диска","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->comboBox12->Text==""&&this->comboBox11->Text!="") {MessageBox::Show("Выберите модель монитора","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->checkBox8->Checked&&this->checkBox7->Checked) {MessageBox::Show("Поставьте только один флажок.","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} if (this->checkBox9->Checked&&this->checkBox10->Checked) {MessageBox::Show("Поставьте только один флажок.","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} //Мин. параметры видеокарты if (this->comboBox6->Text==""&&this->comboBox5->Text==""&&this->checkBox7->Checked) { String ^d, ^dd="", ^s=File::ReadAllText("baseVideo.txt"); int min; while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); if (k==0)min=cena2_int; //мин первый элимент if ((cena2_int)<(min)) min=cena2_int; k++; int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena=cena+min; cena2=0;k=0; } //Средн. параметры видеокарты if (this->comboBox6->Text==""&&this->comboBox5->Text==""&&this->checkBox8->Checked) { ring ^d, ^dd="", ^s=File::ReadAllText("baseVideo.txt"); while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0; } //Мин. параметры ОЗУ if (this->comboBox8->Text==""&&this->comboBox7->Text==""&&this->checkBox9->Checked) { String ^d, ^dd="", ^s=File::ReadAllText("baseMemory.txt"); int min; while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); if (k==0)min=cena2_int; //мин первый элимент if ((cena2_int)<(min)) min=cena2_int; k++; int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena=cena+min; cena2=0;k=0; } //Средн. параметры ОЗУ if (this->comboBox8->Text==""&&this->comboBox7->Text==""&&this->checkBox10->Checked) { String ^d, ^dd="", ^s=File::ReadAllText("baseMemory.txt"); while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0; } if(this->checkBox1->Checked) cena+=6;//клавиатура if(this->checkBox2->Checked) cena+=4;//мышка if(this->checkBox3->Checked) cena+=3;//CD-ROM if(this->checkBox4->Checked) cena+=7;//CD-RW if(this->checkBox5->Checked) cena+=10;//DVD-ROM if(this->checkBox6->Checked) cena+=13;//DVD-RW this->textBox2->Text=cena.ToString(); } 5. Тестирование программного продукта и оценка качества решений Для тестирования программного продукта возьмём 3 различных компьютера, и сравним стоимость, рассчитанную СППР, со стоимостью таких компьютеров на компьютерном рынке. 1) Athlon 2800, Asus M2N-MX, Radeon 9200, DDR 256Mb, HDD 160Gb, монитор LG Flatron F700P 17” CRT, DVD-RW, клавиатура, мышка. Стоимость на компьютерном рынке: 150$ 2) Pentium-4 3000, Asus M2N-MX, Radeon 9800, DDR-II 1024Mb, HDD SATA2 160Gb, монитор LG Flatron F700P 17” CRT, DVD-RW, клавиатура, мышка. Стоимость на компьютерном рынке: 170$ 3) Athlon-64 3500, Asus P5ND2-SLIDeluxe, GeForce 8600GTS, DDR-II 2048Mb, HDD SATA2 400Gb, монитор LG L1730S(17")TFT, DVD-RW, клавиатура, мышка. Стоимость на компьютерном рынке: 310$ Заключение В соответствии с результатами работы программы при заданной комплектации компьютера и ценами на компьютерном рынке ошибка составила: - Для первого теста (156-150)/150*100%=4% - Для второго теста (185-170)/170*100%=9% - Для третьего теста (310-290)/310*100%=7% Это доказывает, что данная СППР может использоваться для принятия решения. Погрешность при этом составляет не более 10%. Список используемых источников 1. Саттер Герб. Стандарты программирования на C++. 101 правило и рекомендация / Андрей Александреску. - М. : Вильямс, 2005. 2. Дейтел Харви. Как программировать на С++ / Пол Дейтел - М. : Бином, 2003.3. Шилдт Герберт. Самоучитель С++. - СПб. : БХВ-Петербург, 2003.4. Ларичев О.И. Теория и методы принятия решений. М.: Логос, 2000. - 296с.5. Эддоус М., Стэнсфилд Р. Методы принятия решений. М.: Юнити, 1997. - 590 с.6. Саати Т., Кернс К. Аналитическое планирование. Организация систем. М.: Радио и связь, 1991. - 224 с.
Страницы: 1, 2, 3, 4
|