p align="left">{ 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->checkBox1->Checked) cena+=6; Мышка: if(this->checkBox2->Checked) cena+=4; 1) Если привод CD-ROM: if(this->checkBox3->Checked) cena+=3; 2) Если привод CD-RW: if(this->checkBox4->Checked) cena+=7; 3) Если привод DVD-ROM: if(this->checkBox5->Checked) cena+=10; 4) Если привод DVD-RW: if(this->checkBox6->Checked) cena+=13; 5) Если минимальная цена видеокарты (checkBox7->Checked): If(this->comboBox6->Text==""&&this->comboBox5->Text==""&&this->checkBox7->Checked) {while(s->Length >50) {… if (k==0)min=cena2_int; //мин первый элимент if ((cena2_int)<(min)) min=cena2_int; k++; } cena=cena+min; cena2=0;k=0;} 6) Если средняя цена видеокарты (checkBox8->Checked): If(this->comboBox6->Text==""&&this->comboBox5->Text==""&&this->checkBox8->Checked) {while(s->Length >50) {… String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0;} 7) Если минимальная цена оперативной памяти (checkBox9->Checked): If(this->comboBox8->Text==""&&this->comboBox7->Text==""&&this->checkBox9->Checked) {while(s->Length >50) {… if (k==0)min=cena2_int; //мин первый элимент if ((cena2_int)<(min)) min=cena2_int; k++; } cena=cena+min; cena2=0;k=0;} 8) Если средняя цена оперативной памяти (checkBox10->Checked): If(this->comboBox8->Text==""&&this->comboBox7->Text==""&&this->checkBox10->Checked) {while(s->Length >50) {… String ^p=s->Substring(0,i); cena2_int=Int32::Parse(p); cena2=cena2+cena2_int; k++; } cena2=cena2/(k*ed); cena=cena+cena2; cena2=0;k=0;} 3.2 Разработка схемы алгоритма блока принятия решений 4. Разработка программного обеспечения 4.1 Выбор среды разработки системы Для написания программного модуля данной курсовой работы была выбрана среда программирования MS Visual C++ 2008. Данная среда позволяет работать с базами данных, включает возможность создания графического интерфейса, удобного для пользователя. 4.2 Программная реализация блока принятия решения private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { float cena=0, cena2=0; int cena2_int=0; int i=0, k=0; float ed=1; String ^markaCPU=this->comboBox1->Text; String ^my_chast_s=this->comboBox2->Text; String ^markaMB=this->comboBox3->Text; String ^modelMB=this->comboBox4->Text; String ^markaVIDEO=this->comboBox5->Text; String ^modelVIDEO=this->comboBox6->Text; String ^typeOZY=this->comboBox7->Text; String ^sizeOZY=this->comboBox8->Text; String ^typeHDD=this->comboBox9->Text; String ^sizeHDD=this->comboBox10->Text; String ^markaDisp=this->comboBox11->Text; String ^modelDisp=this->comboBox12->Text; //Определяем стоимость процессора if (this->comboBox2->Text!=""&&this->comboBox1->Text!="") { String ^d, ^dd="", ^s=File::ReadAllText("baseCPU.txt"); int my_chast=Int32::Parse(my_chast_s); //преобразуем string в int int chast0=0, cena0=0, chast1=0, cena1=0; String ^chast0_s="", ^cena0_s="", ^chast1_s="", ^cena1_s=""; if ( ((my_chast%50)!=0) || (my_chast<0) ) {MessageBox::Show("Частота процессора введена некорректно.\nТакой частоты нет.","",MessageBoxButtons::OK,MessageBoxIcon::Warning); return;} float my_cena; bool h=true; while(s->Length >50) { int i=s->IndexOf(" "); d=s->Substring(0,i); if (d==markaCPU) { s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(" "); dd=s->Substring(0,i); chast1_s=dd; chast1=Int32::Parse(dd); s=s->Substring(i+1,s->Length-dd->Length-1); i=s->IndexOf("\n"); cena1_s=s->Substring(0,i); cena1=Int32::Parse(cena1_s); //Выполняем один раз. if (h==true) {chast0=chast1; cena0=cena1; h=false;} } int j=s->IndexOf("\n"); s=s->Substring(j+1,s->Length-j-1); } my_cena=approcsim(my_chast, chast0, cena0, chast1, cena1); cena=cena+my_cena; } //Определяем стоимость материнской платы if (this->comboBox4->Text!=""&&this->comboBox3->Text!="") { String ^d, ^dd="", ^s=File::ReadAllText("baseMother.txt"); while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); if (d==markaMB) { s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); if (dd==modelMB) {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->comboBox6->Text!=""&&this->comboBox5->Text!="") { String ^d, ^dd="", ^s=File::ReadAllText("baseVideo.txt"); while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); if (d==markaVIDEO) { s=s->Substring(i+1,s->Length-d->Length-1); i=s->IndexOf(""); dd=s->Substring(0,i); if (dd==modelVIDEO) {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!="") { String ^d, ^dd="", ^s=File::ReadAllText("baseMemory.txt"); while(s->Length >50) { int i=s->IndexOf(""); d=s->Substring(0,i); if (d==typeOZY)
Страницы: 1, 2, 3, 4
|