Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Описание архитектуры программы




Program- класс, содержащий главный метод программы

StanList - класс - «целое»,

Stanok - класс - «часть»

Исходный код программы на C#

Сlass Program

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

 

namespace ConsoleApplication2

{

class Program

{

static int Main(string[] args)

{

string vvod;

StanList list = new StanList();

 

do

{

Console.WriteLine("\nВЕДОМОСТЬ УЧЕТА ВРЕМЕНИ РАБОТЫ СТАНКОВ ПРЕДПРИЯТИЯ\n");

Console.WriteLine("Выберите желаемое действие:\n");

Console.WriteLine("1 - вывести ведомость на экран\n");

Console.WriteLine("2 - добавить запись\n");

Console.WriteLine("3 - изменить запись\n");

Console.WriteLine("0 - выход из программы\n");

 

vvod = Console.ReadLine();

switch (vvod)

{

case "1":

{

if (list.length() == 0)

{

Console.WriteLine("Ведомость пуста. Добавьте первую запись.");

Console.ReadKey();

Console.Clear();

break;

}

 

else

{

Console.Clear();

list.print_tabl();

}

break;

}

 

case "2":

{

Console.Clear();

list.add_note();

Console.ReadKey();

Console.Clear();

break;

}

 

case "3":

{

if (list.length() == 0)

{

Console.WriteLine("Ведомость пуста. Изменять нечего.");

Console.ReadKey();

Console.Clear();

break;

}

 

else

{

Console.Clear();

list.change_note();

}

break;

}

case "0":

{

return 0;

}

default:

{

Console.Write("Неправильно выбран пункт меню! Пожалуйста, попробуйте ещё раз! \n");

Console.ReadKey();

Console.Clear();

break;

}

}

}

while (vvod!= "0");

 

return 0;

}

}

}

 

Сlass StanList

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication2

{

class StanList

{

List<Stanok> stan;

 

public StanList()

{

stan = new List<Stanok>();

}

public int length()

{

return stan.Count();

}

 

public int add_note()

{

int n;

string type, s;

double time_plan, time_fact;

Console.WriteLine("Сколько записей вы хотите добавить?");

s = Console.ReadLine();

if (!int.TryParse(s, out n))

{

Console.WriteLine("Ошибка ввода!! Пожалуйста, попробуйте ещё раз!");

 

return 0;

}

for (int i = 0; i < n; i++)

{

Stanok[] stan_1 = new Stanok[1];

Console.WriteLine("\nТип станка (не более 15 символов): ");

type = Console.ReadLine();

Console.WriteLine("Время по плану: ");

s = Console.ReadLine();

if (!double.TryParse(s, out time_plan))

{

Console.WriteLine("Неправельно введено число! Пожалуйста, попробуйте ещё раз!");

break;

}

 

Console.WriteLine("Время фактически: ");

s = Console.ReadLine();

if (!double.TryParse(s, out time_fact))

{

Console.WriteLine("Неправельно введено число! Пожалуйста, попробуйте ещё раз!");

break;

}

 

stan_1[0] = new Stanok(type, time_plan, time_fact);

stan.Add(stan_1[0]);

Console.WriteLine("Запись добавлена.");

}

return 0;

}

 

public void print_tabl()

{

shapka();

for (int i = 0; i < stan.Count; i++)

{

Console.Write("|{0,15:0} ", stan[i].GetTypeStan());

Console.Write("|{0,13:f3} ", stan[i].GetTimeWork_plan());

Console.Write("|{0,13:f3} ", stan[i].GetTimeWork_fact());

Console.Write("|{0,14:f3} ", stan[i].CalculateTime_Hours());

Console.Write("|{0,14:f3} |", stan[i].CalculateTime_Proc());

niz();

}

Console.Write("|{0,16:0}", " Итого: ");

Console.Write("|{0,13:f3} ", calculate_timework_plan());

Console.Write("|{0,13:f3} ", calculate_timework_fact());

Console.Write("|{0,16} ", "|");

Console.Write("{0,15}", "|");

niz();

Console.ReadKey();

Console.Clear();

}

public int change_note()

{

string s, s1, s2;

double p, f;

int nom=-1, a=-1;

 

Console.WriteLine("Введите тип того станка, информацию о котором хотите изменить:");

s = Console.ReadLine();

for (int i = 0; i < stan.Count; i++)

{

if (s == stan[i].GetTypeStan())

{

nom = i;

break;

}

}

 

if (nom < 0)

{

Console.WriteLine("Нет такой записи!");

Console.ReadKey();

Console.Clear();

return 0;

}

 

else

{

 

shapka();

Console.Write("|{0,15:0} ", stan[nom].GetTypeStan());

Console.Write("|{0,13:f3} ", stan[nom].GetTimeWork_plan());

Console.Write("|{0,13:f3} ", stan[nom].GetTimeWork_fact());

Console.Write("|{0,14:f3} ", stan[nom].CalculateTime_Hours());

Console.Write("|{0,14:f3} |", stan[nom].CalculateTime_Proc());

niz();

 

while (a!= 0)

{

Console.WriteLine("\n\nКакое поле ведомости вы хотите изменить?");

Console.WriteLine("1 - тип станка");

Console.WriteLine("2 - время работы по плану");

Console.WriteLine("3 - время работы фактически");

Console.WriteLine("0 - выход ");

 

s1 = Console.ReadLine();

 

 

switch (s1)

{

case "1":

{

Console.WriteLine("Новый тип станка(не более 15 символов): ");

stan[nom].new_type(Console.ReadLine());

break;

}

 

case "2":

{

Console.WriteLine("Новое время работы по плану: ");

s2 = Console.ReadLine();

if (!double.TryParse(s2, out p))

{

Console.WriteLine("Неправильно введены данные! Пожалуйста, попробуйте ещё раз!");

break;

}

stan[nom].new_time_plan(p);

 

break;

}

case "3":

{

Console.WriteLine("Новое время работы фактически: ");

s2 = Console.ReadLine();

if (!double.TryParse(s2, out f))

{

Console.WriteLine("Неправильно введены данные! Пожалуйста, попробуйте ещё раз!");

break;

}

stan[nom].new_time_fact(f);

break;

}

case "0":

{

a = 0;

Console.Clear();

return 0;

}

default:

{

Console.Write("Неправильно выбран пункт меню! Пожалуйста, попробуйте ещё раз! \n");

break;

}

}

}

}

 

return 0;

}

 

 

public double calculate_timework_plan()

{

double Q1= 0;

for (int i = 0; i < stan.Count; i++)

Q1 += stan[i].GetTimeWork_plan();

return Q1;

}

 

public double calculate_timework_fact()

{

double Q2= 0;

for (int i = 0; i < stan.Count; i++)

Q2 += stan[i].GetTimeWork_fact();

return Q2;

}

 

 

public void shapka()

{

Console.Write(" ______________________________________________________________________________\n");

Console.Write("| ВЕДОМОСТЬ УЧЕТА ВРЕМЕНИ РАБОТЫ СТАНКОВ ПРЕДПРИЯТИЯ |");

Console.Write("|______________________________________________________________________________|");

Console.Write("| Тип | Время работы, час. | Отклонение от плана |");

Console.Write("| |_____________________________|_______________________________|");

Console.Write("| станка | по плану | фактически | в часах | в процентах |");

Console.Write("|________________|______________|______________|_______________|_______________|");

}

public void niz()

{

Console.Write("|________________|______________|______________|_______________|_______________|");

}

 

}

}

 

 

Сlass Stanok

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication2

{

class Stanok

{

private string type;

private double time_plan;

private double time_fact;

 

public Stanok(string type, double time_plan, double time_fact)

{

this.type = type;

this.time_plan = time_plan;

this.time_fact = time_fact;

}

 

public string GetTypeStan()

{

return type;

}

 

public double GetTimeWork_plan()

{

return time_plan;

}

 

public double GetTimeWork_fact()

{

return time_fact;

}

 

public double CalculateTime_Hours()

{

double Q1 = time_plan - time_fact;

return Q1;

}

 

public double CalculateTime_Proc()

{

double Q2 = CalculateTime_Hours() * 100 / time_plan;

return Q2;

}

 

public void new_type(string newtype)

{

this.type = newtype;

}

 

public void new_time_plan(double new_time_plan)

{

this.time_plan = new_time_plan;

}

 

public void new_time_fact(double new_time_fact)

{

this.time_fact = new_time_fact;

}

}

}

 


Примеры работы программы

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...