3.2 Разработка схемы алгоритма блока принятия решений



нет

 

да

 

 



4. Разработка программного обеспечения

4.1 Выбор среды разработки системы

Для написания программного модуля данной курсовой работы была выбрана среда программирования MS Visual C++ 2008.

4.2 Программная реализация блока принятия решения.

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

float timeWork=0, timeWork2=0; int timeWork2_int;

int i=0, k=0; float ed=1;

float timeCPU=0,timeMB=0,timeVideo=0,timeOZY=0,timeHDD=0,timeDisp=0,timePower=0;

if (this->comboBox2->Text!=""&&this->comboBox1->Text!="")//считывание срока службы выбранного процессора

{ String ^d, ^dd="", ^s=File::ReadAllText("input_CPU.txt");

while(s->Length >200)

{ 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);

if (dd==chastCPU)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timeCPU=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox4->Text!=""&&this->comboBox3->Text!="")//считывание срока службы выбранной мат. платы

{ String ^d, ^dd="", ^s=File::ReadAllText("input_MB.txt");

while(s->Length >200)

{ 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);

timeWork2_int=Int32::Parse(p);

timeMB=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox6->Text!=""&&this->comboBox5->Text!="") //считывание срока службы выбранной видеокарты

{ String ^d, ^dd="", ^s=File::ReadAllText("input_Vidik.txt");

while(s->Length >200)

{ 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);

timeWork2_int=Int32::Parse(p);

timeVideo=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox8->Text!=""&&this->comboBox7->Text!="") //считывание срока службы выбранного ОЗУ

{ String ^d, ^dd="", ^s=File::ReadAllText("input_DDR.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==typeOZY)

{ 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);

timeWork2_int=Int32::Parse(p);

timeOZY=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox10->Text!=""&&this->comboBox9->Text!="") //считывание срока службы выбранного HDD

{ String ^d, ^dd="", ^s=File::ReadAllText("input_HDD.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

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);

timeWork2_int=Int32::Parse(p);

timeHDD=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox12->Text!=""&this->comboBox11->Text!="")//считывание срока службы выбранного монитора

{ String ^d, ^dd="", ^s=File::ReadAllText("input_Monitor.txt");

while(s->Length >200)

{ 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);

timeWork2_int=Int32::Parse(p);

timeDisp=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

if (this->comboBox13->Text!=""&&this->comboBox14->Text!="")//считывание срока службы блока питания

{ String ^d, ^dd="", ^s=File::ReadAllText("input_BP.txt");

while(s->Length >200)

{ int i=s->IndexOf(" ");

d=s->Substring(0,i);

if (d==markaPower)

{ s=s->Substring(i+1,s->Length-d->Length-1);

i=s->IndexOf(" ");

dd=s->Substring(0,i);

if (dd==modelPower)

{ s=s->Substring(i+1,s->Length-dd->Length-1);

i=s->IndexOf("\n");

String ^p=s->Substring(0,i);

timeWork2_int=Int32::Parse(p);

timePower=timeWork2_int;

k++; }

}

int j=s->IndexOf("\n");

s=s->Substring(j+1,s->Length-j-1);

}

}

//Определение наименьшего срока службы у выранных комплектующих

if ((timeCPU<timeMB)&(timeCPU<timeHDD)&(timeCPU<timeVideo)&(timeCPU<timeOZY)&(timeCPU<timeDisp)&(timeCPU<timePower))

{ this->textBox1->Text="Центральный процессор";

timeWork=timeCPU;}

if ((timeMB<timeCPU)&(timeMB<timeHDD)&(timeMB<timeVideo)&(timeMB<timeOZY)&(timeMB<timeDisp)&(timeMB<timePower))

{this->textBox1->Text="Материнская плата";

timeWork=timeMB;}

if ((timeHDD<timeCPU)&(timeHDD<timeMB)&(timeHDD<timeVideo)&(timeHDD<timeOZY)&(timeHDD<timeDisp)&(timeHDD<timePower))

{ this->textBox1->Text="Жесткий диск";

timeWork=timeHDD;}

if ((timeVideo<timeCPU)&(timeVideo<timeHDD)&(timeVideo<timeMB)&(timeVideo<timeOZY)&(timeVideo<timeDisp)&(timeVideo<timePower))

{ this->textBox1->Text="Видеокарта";

timeWork=timeVideo;}

if ((timeOZY<timeCPU)&(timeOZY<timeHDD)&(timeOZY<timeMB)&(timeOZY<timeVideo)&(timeOZY<timeDisp)&(timeOZY<timePower))

{ this->textBox1->Text="Оперативная память";

timeWork=timeOZY;}

if ((timeDisp<timeCPU)&(timeDisp<timeHDD)&(timeDisp<timeMB)&(timeDisp<timeVideo)&(timeDisp<timeOZY)&(timeDisp<timePower))

{ this->textBox1->Text="Монитор";

timeWork=timeDisp;}

if ((timePower<timeCPU)&(timePower<timeHDD)&(timePower<timeMB)&(timePower<timeVideo)&(timePower<timeDisp)&(timePower<timeOZY))

{this->textBox1->Text="Блок питания";

timeWork=timePower;}

if (this->comboBox2->Text==""&&this->comboBox1->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель процессора! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox4->Text==""&&this->comboBox3->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель материнской платы! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox6->Text==""&&this->comboBox5->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель видеокарты! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox8->Text==""&&this->comboBox7->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель оперативной памяти! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox10->Text==""&&this->comboBox9->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель жесткого диска! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox12->Text==""&&this->comboBox11->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель монитора! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

if (this->comboBox14->Text==""&&this->comboBox13->Text!="") //проверка корректности ввода данных

{MessageBox::Show("Вы не указали модель блока питания! \nСделайте выбор!","",MessageBoxButtons::OK,MessageBoxIcon::Warning);

return;}

//Определение параметров введенных пользователем

if(this->checkBox1->Checked) timeWork+=0.25*timeWork;

if(this->checkBox2->Checked) timeWork-=0.4*timeWork;

if(this->checkBox3->Checked) timeWork+=0;

if(this->checkBox4->Checked) timeWork-=0.03*timeWork;

if(this->checkBox5->Checked) timeWork-=0.05*timeWork;

if(this->checkBox6->Checked) timeWork-=0.35*timeWork;

if(this->checkBox7->Checked) timeWork-=0.15*timeWork;

if(this->checkBox8->Checked) timeWork+=0;

if(this->checkBox9->Checked) timeWork-=0.6*timeWork;

if(this->checkBox10->Checked) timeWork+=0.45*timeWork;

if(this->checkBox11->Checked) timeWork+=0.15*timeWork;

this->textBox2->Text=timeWork.ToString(); //вывод результата в форму

}

5. Тестирование программного продукта и оценка качества решения

Произведём тестирование разработанного программного продукта:

Рисунок 2-Главное окно


Заключение

В соответствии с результатами работы программы при заданной комплектации и условиями эксплуатаций с наибольшей вероятностью первой выйдет из строя видеокарта. Поломка произойдет предположительно через 835 дней с начала использования.


Список используемых источников

1 Саттер Герб. Стандарты программирования на C++. 101 правило и рекомендация / Андрей Александреску. – М.: Вильямс, 2005.

2 Дейтел Харви. Как программировать на С++ / Пол Дейтел – М.: Бином, 2003. 3 Шилдт Герберт. Самоучитель С++. – СПб. : БХВ-Петербург, 2003.
Информация о работе «Определение срока поломки компьютера»
Раздел: Информатика, программирование
Количество знаков с пробелами: 23831
Количество таблиц: 1
Количество изображений: 5

Похожие работы

Скачать
209365
3
2

... важно наличие в правовой системе норм, гарантирующих механизм рассмотрения конфликтов, их справедливого разрешения и реализации вынесенных решений. Рассмотрев и детально изучив тему «Понятие, исчисление и виды сроков в Гражданском праве», во многих аспектах, можно сделать следующие выводы о том насколько важна регламентация сроков, в течение которых обладатель нарушенного права может добиваться ...

Скачать
43935
0
0

... дверях помещений, означают, что их зона действия охватывает все помещение. Знаки безопасности подразделяются на запрещающие, предупреждающие, предписывающие, указательные. Меры безопасности при работе с инструментом Применяют инструмент как ручной, так и электрифицированный (электроинструмент) . Для обеспечения безопасности труда и предупреждения несчастных случаев к ручному инструменту ...

Скачать
589353
11
76

... с потребителями в контактной зоне. Контактная зона (зона видимости) – общая сфера, окружающая заказчиков (клиентов) в период нахождения их на предприятии сервиса. Особенностью сервисной деятельности является коммуникативное взаимодействие, общение с потребителями. К числу основных составляющих феномена общения относят три взаимосвязанные стороны общения: коммуникативную, интерактивную и ...

Скачать
186095
1
0

... сумму, превышающую его средний заработок, а оставшуюся (уже в размере среднего месячного заработка) удерживает из заработной платы своим распоряжением. Привлечение работника к материальной ответственности за ущерб, причиненный работодателю, не исключает возможности привлечения его к иным видам юридической ответственности – дисциплинарной (со стороны работодателя), а также административной или ...

0 комментариев


Наверх