Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для glesio
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 80

Разработать приложение, моделирующее процесс выработки ресурса компьютера

23.01.2015, 22:01. Показов 1095. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с заданием.
Разработать приложение, моделирующее процесс выработки ресурса ПЭВМ. Создать класс, в котором определить закрытое поле - ресурс ПЭВМ(для доступа к данному полю реализовать соответствующее свойство), методы- работа ПЭВМ(изменение ресурса), ремонт ПЭВМ (полный, частичный).
В программе использовать следующие элементы управления Label, TextBox, Button, RadioButton. Тип проекта- Windows приложение.
Имеем... можно сказать пока ничего.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int a = 100;
 
         public Form1()
        {
            InitializeComponent();
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = Convert.ToString(a); 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            textBox1.Text = Convert.ToString(a - 10);
            
 
        }
    }
}
Решил с начало сделать хотя бы просто как калькулятор , т.е. без закрытых полей и бла бла ....
Первое на чём я остановился это после второго раза нажатия на кнопку "-10%" отниматься -10 перестало. Мысль есть, надо предыдущее значение (90) сохранить в мою переменную "a" . Так ? Как это сделать ? Как записать ?
п.с. первый день пытаюсь писать на C#.

приложил скрин и саму программу
Миниатюры
Разработать приложение, моделирующее процесс выработки ресурса компьютера  
Вложения
Тип файла: rar WindowsFormsApplication1.rar (37.7 Кб, 4 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2015, 22:01
Ответы с готовыми решениями:

Разработать приложение, моделирующее счеты
Ребята, помогите пожалуйста с кодом, может кто раньше уже писал что то похожее. Вот что мне нужно сделать: "«Счеты». Разработать...

Visul Basic 6.0. Разработайте приложение моделирующее вращение объектов
Разработайте приложение моделирующее вращение объектов (шариков) вокруг некоторого центра. Интерфейс приложения должен соответствовать...

Разработать приложение, позволяющее определить размер диагонали монитора текущего компьютера в дюймах (ООП)
Разработать приложение, позволяющее определить размер диагонали монитора текущего компьютера в дюймах. код в с#

13
23.01.2015, 22:59

Не по теме:

Цитата Сообщение от glesio Посмотреть сообщение
Имеем... можно сказать пока ничего.
Скорее это самое "ничего" имеет... :D

0
 Аватар для glesio
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 80
24.01.2015, 00:44  [ТС]
Так, с первым косяком я справился без вас ) ... и теперь значение в переменной изменяется.
C#
1
2
textBox1.Text = Convert.ToString(a - 10);
a = Convert.ToInt32(textBox1.Text);
Теперь буду рожать как кнопки радио привязать

Добавлено через 35 минут
Ну в общем-то написал, но чувствую, что коряво у меня написана 37 и 46 строчка..это как минимум )
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int a = 100;
 
 
         public Form1()
        {
            InitializeComponent();
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = Convert.ToString(a); 
        }
 
            private void button1_Click(object sender, EventArgs e)
        {
            
            textBox1.Text = Convert.ToString(a - 10);
 
             a = Convert.ToInt32(textBox1.Text);
        
        }
            private void button2_Click(object sender, EventArgs e)
            {
                if (radioButton1.Checked == true)
                    textBox1.Text = Convert.ToString(a + 50);
                else
                    textBox1.Text = Convert.ToString(a = 100);
                a = Convert.ToInt32(textBox1.Text);
            }
 
    }
}
Как сделать, что бы максиму был всегда 100% ?
А теперь надо сделать как в условии с закрытыми полями

Добавлено через 10 минут
" Как сделать, что бы максиму при ремонте мог быть только до 100% ? "
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
24.01.2015, 00:49
glesio,
что бы максиму был всегда 100% ?
Если "a">=100 тогда "a"=100

Добавлено через 4 минуты
Строка 43, измени ее на:
C#
1
2
if a + 50 >= 100 then a = 100
textBox1.Text = Convert.ToString(a)
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
24.01.2015, 00:53
Цитата Сообщение от Yury Komar Посмотреть сообщение
Код C#
Цитата Сообщение от Yury Komar Посмотреть сообщение
then
уверен?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
24.01.2015, 00:58
И 45 и 46 замени на:
C#
1
2
a = 100;
Textbox1.text = Convert.ToString(a)
Добавлено через 49 секунд
Насчет then лишняя ))))

Добавлено через 38 секунд
Это логика, условие. Напиши его на C#... это ты уже умеешь.

Добавлено через 2 минуты
Вобщем, старайся работать напрямую випервую очередь с пепеменными, а уже потом показывай пользователю то что в пепеменной на выходе, присваивая их значения Лэйбам и текстовым полям.
1
 Аватар для glesio
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 80
24.01.2015, 01:48  [ТС]
Yury Komar, Я в первый и во второй раз не правильно написал
что бы максиму был всегда 100% ? .
Я имел в виду, что бы после ремонта компьютер был в работоспособности до 100 % ,а не 60% до ремонта + 50% после ремонта и итог был 110 % .
Подскажи как правильно сделать условие
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
24.01.2015, 02:49
glesio, я сам с C# еще не знакомился, опыт тока VB... но думаю вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void button2_Click(object sender, EventArgs e)
            {
                if (radioButton1.Checked == true)
                          {
                   If( a + 50 > 100)
                      a = 100;
                      textBox1.Text = Convert.ToString(a);
                  else
                      a = a + 50;
                      textBox1.Text = Convert.ToString(a);
                            }
                else
                    a = 100;
                    textBox1.Text = Convert.ToString(a);
              }

Но смысл думаю ты понял...

Добавлено через 31 минуту
Условие тут вернее некуда, а вот насчет синтаксиса немного сомневаюсь. Компа нет под рукой. Так что сам подправляй ошибки. Но условие верное.
су такая = если при прибавлении к "а" твоих 50% эта самая становится равна более чем 100%, то не долго думая присваиваем ей 100% и не более... если же сумма а+50% менее 100, то так и оставляем а+50... вот и вся логика...
0
 Аватар для glesio
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 80
24.01.2015, 12:00  [ТС]
Народ помогите сделать теперь задачу полностью соответсвующе условию заданию.
Я сейчас на экзамене и мне бог дал шанс, т.к. вытянул билет с этой задачей, но времени мало. Готов вознаградить, но после сдачи, т.к. в данный момент нету возможно сти оплатить.
0
Заблокирован
24.01.2015, 12:44
glesio, раз времени мало, то давайте в бесплатном разделе решать. А кросс во фрилансе закроем...
Поясните логику программы: что и как должно изменяться

Добавлено через 19 минут
glesio, ...судя по скрншоту класс должен быть примерно таким:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 class First
    {
        double resourse;
        public double Resource
        {
            get { return resourse; }
            set { resourse = value; }
        }
        public First(double a)
        {
            resourse = a;
        }
        public First() : this(0) { }
        public void ChangeResource(int percent)
        {
            if (Math.Abs(percent) <= 100)
                resourse += resourse * percent / 100;
        }
        public void FullRepair()
        {
            ChangeResource(50);
        }
        public void PartialRepair()
        {
            ChangeResource(100);
        }
    }
1
 Аватар для glesio
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 80
24.01.2015, 14:00  [ТС]
Я сдал. Чуть позже скину решение.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
24.01.2015, 14:22
glesio, нашими молитвами да с божьей помощью
1
24.01.2015, 14:45

Не по теме:

glesio, поздравляю :)

0
 Аватар для glesio
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 80
24.01.2015, 20:50  [ТС]
Главное окно программыForm1.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Temp
{
    public partial class Form1 : Form
    {
 
        private Computer comp = new Computer();// создаем объект компьютера
 
        public Form1() // конструкток формы
        {
            InitializeComponent(); // инициализация компонентов форм
            comp.Resource = 100;// задаем первоначальное значение ресурсов пэвм
            updateText(); // обновляем текст бокс
        }
 
        private void button1_Click(object sender, EventArgs e) // это кнопка -10%. Функция перехватчика ивента
        {
            int status = comp.Resource;
            status = status - 10; // минусуем 10%
            if (status < 0) { // проверяем, чтобы статус не был меньше нуля
                status = 0; 
            }
            comp.Resource = status; // устанавливаем новое значение ресурсов
            updateText();// обновл. тектс бокс
        }
 
        private void updateText()
        {
            textBox1.Text = Convert.ToString(comp.Resource); // берем ресурсы и выводим на форму
        }
 
        private void button2_Click(object sender, EventArgs e) // кнопка ремонта. Функция перехватчика ивента.
        {
            if (radioButton1.Checked)// проверяем если выбр. перый радио батон. Если Checked = true
            {
                int status = comp.Resource;
                status = status + 50; // чиним на 50%
                if (status > 100) { status = 100; } // проверяем чтоб был ресурс не больше 100%, если больше - берем 100
                comp.Resource = status; // устанавливаем ресурс компьютера
            }
            else if (radioButton2.Checked) { // если перый не выбран и выбран второй -чиним полностью
                comp.Resource = 100;
            }
            updateText();
        }
    }
}
а это класс, в котором определено закрытое поле Computer.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Temp
{
    class Computer
    {
 
        private int resource; //private - область видимости "только в этом классе"
 
        public int Resource // создаем свойство класса. Случит для доступа к resource
        {
            get // служит для получения значения свойства
            {
                return resource; // возвращаем значение
            }
            set // служит для установки заначения поля
            {
                if ((value >= 0) && (value <= 100)) // проверяем условие, и если условие верно
                {
                    resource = value; // устанавливаем свойтву новое значение
                }
            }
        }
 
    }
}
Всё... пользуйтесь студентики )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2015, 20:50
Помогаю со студенческими работами здесь

Написать приложение, моделирующее систему "Хищник - жертва" и выводящее данные в виде графика
Здравствуйте.Собственно проблема, необходимо написать приложение моделирующие систему &quot;Хищник - жертва&quot; и выводящие даннные за...

Как заставить exe приложение работать файлом из ресурса?
мой exe приложения через OpenFileDialog работает но надо чтоб работаль Файлом из ресурса пример OpenFileDialog dialog =...

Разработать приложение сервера и приложение клиента, позволяющее общаться между клиентами в режиме online
Привет. Нужна прога на с/с++ Разработать приложение сервера и приложение клиента, позволяющее общаться между клиентами в режиме...

Процесс сборки компьютера
Вот первый раз буду собирать комп самостоятельно. Хотелось бы спросить, есть ли какие-либо предостережения для новичка? Что прежде всего...

Как прикрепить к окну из ресурса меню тоже из ресурса?
Как прикрепить к окну из ресурса меню тоже из ресурса? /*http://www.lib.csu.ru/DL/bases/prg/frolov/books/bsp/v22/ch3.html*/ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru