Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
GODofART
2 / 2 / 0
Регистрация: 19.11.2011
Сообщений: 52
1

Программа определения количества боёв: Определить воинское звание исходя из него

09.02.2012, 20:13. Просмотров 751. Ответов 9
Метки нет (Все метки)

Привет, начал писать программу на c#(к сожалению мало знаний) и столкнулся с проблемой, а точнее недопониманием того чего я хочу о.О
У нас есть:
TextBox1 - это то поле куда пользователь вводит число, число должно быть целым.
label3 - тут у нас появится текст исходя из текстбокса1(Чуть ниже объясню).
comboBox1 - тут будут предложены варианты текста и некоторые числа.
TextBox2 - тут юзер пишет число, так же целое.
label8 - тут выводится результат после нажатия на кнопку1
И есть еще кнопка button1 - при нажатие на неё у нас высчитываются параметры.

А теперь подробнее, в текстбокс1 юзер вводит число, например, 500, программе известно, что Рекрут это от 0 до 1999, она это ему выдаёт в label3, если он введёт 2333, то она ему выдаст, что это генерал например(ей это тоже известно), в комбобокс1 будут даны числа со званиями, например юзер выбирает Генерал-Майор 10000 опыта, а в поле опыта за бой он пишет например 300 и при нажатии на кнопку1 программа высчитает сколько ему нужно сыграть боёв, чтобы получить Генерала-Майора, но она должна учесть уже что у него есть опыт в поле текстбокс1.
Так вот, как будет выглядеть код? Надеюсь вы меня поняли. Помогите пожалуйста разобраться.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2012, 20:13
Ответы с готовыми решениями:

Определить номера подъезда и этажа, исходя из номера квартиры, количества этажей и количества квартир на этаже
Определить номера подъезда и этажа за номером квартиры девятиэтажного дома, учитывая, что на каждом...

Определить зарплату работников исходя из тарифа и количества отработанных часов
Постановка задачи В фирме есть 3 участка. На каждом участке может трудиться любой работник....

Программа определения количества симметричных матриц
Заданы две матрицы С(4, 4) и D(3, 3). Написать программу определения количества симметричных...

Программа определения количества дней в месяце
Первое мое задание в питоне, да и вообще в программировании. При запуске питон ругается на "elif"....

Программа для определения количества целых чисел
Помогите написать программу позволяющая определить количество целых чисел в каком-то промежутке....

9
DimanRu
692 / 684 / 167
Регистрация: 15.06.2011
Сообщений: 1,703
09.02.2012, 21:46 2

Не по теме:

В чем пролема? Примеры кода пожалуйста? Здесь за вас делать ничего не будут, только помогут! Если вам нужно программу - идите во фриланс! Вы попробуйте создать, как-только проблема есть сюда выкладываете, конкретно проблему!



По теме:
1)TextBox'ы можно заменить на MaskTextBox'ы и разрешить вводить только int
2)При изменении текста textBox'a (метод TextChanged вроде) меняем label3.Text и comdoBox1.Items
3)В обработчике клика кнопки выводим результат в label8

Что не понятно? Спрашивайте!
2
GODofART
2 / 2 / 0
Регистрация: 19.11.2011
Сообщений: 52
09.02.2012, 22:04  [ТС] 3
DimanRu, мне не понятно как объявить программе, что Рекрут это от 0 до 1999, а Генерал например от 2000 до 3000.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        private void button1_Click(object sender, EventArgs e)
        {
            int i =0;// Если убираю 0, то получаю ошибку.
            textBox1.Text = i.ToString();
            if ((i >= 1) || (i <= 1999))
            {
                label3.Text = "Рекрут";
 
            }
            else if ((i >= 2000) || (i <= 2999))
                        {
                            label3.Text = "Генерал";
 
                        }
 
        }
Я так понимаю не в правильную сторону мыслю?
1
mrReptiloid
311 / 174 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
09.02.2012, 22:14 4
Цитата Сообщение от GODofART Посмотреть сообщение
DimanRu, мне не понятно как объявить программе, что Рекрут это от 0 до 1999, а Генерал например от 2000 до 3000.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        private void button1_Click(object sender, EventArgs e)
        {
            int i =0;// Если убираю 0, то получаю ошибку.
            textBox1.Text = i.ToString();
            if ((i >= 1) || (i <= 1999))
            {
                label3.Text = "Рекрут";
 
            }
            else if ((i >= 2000) || (i <= 2999))
                        {
                            label3.Text = "Генерал";
 
                        }
 
        }
Я так понимаю не в правильную сторону мыслю?
Да вроде все правильно...только ||-это оператор ИЛИ,а оператор И-это &&,правильней будет
C#
1
2
3
4
if ((i >= 1) && (i <= 1999))
{
...
}
А в Вашем примере программа выдаст Вам Генерала,если выполниться хотя бы одно условие,а не оба..т.е введя 5000 Вы получите Генерала,так как одно условие выполниться.
2
09.02.2012, 22:14
GODofART
2 / 2 / 0
Регистрация: 19.11.2011
Сообщений: 52
09.02.2012, 22:25  [ТС] 5
Цитата Сообщение от sniper_lunev Посмотреть сообщение
Да вроде все правильно...только ||-это оператор ИЛИ,а оператор И-это &&,правильней будет

if ((i >= 1) && (i <= 1999))
{
...
}
А в Вашем примере программа выдаст Вам Генерала,если выполниться хотя бы одно условие,а не оба..т.е введя 5000 Вы получите Генерала,так как одно условие выполниться.
Поставил &&, но теперь программа вообще ничего не выдаёт, то есть я пишу в текст.бокс1 жму на кнопку, а label3 так и остаётся, с || выполняется, но не верно.
0
DimanRu
692 / 684 / 167
Регистрация: 15.06.2011
Сообщений: 1,703
09.02.2012, 22:31 6
Цитата Сообщение от GODofART Посмотреть сообщение
C#
1
int i =0;// Если убираю 0, то получаю ошибку.
Правильно, потому что используется переменная которой не присвоенно значение.
Цитата Сообщение от GODofART Посмотреть сообщение
DimanRu, мне не понятно как объявить программе, что Рекрут это от 0 до 1999, а Генерал например от 2000 до 3000.
C помощью конструкции if

Добавлено через 2 минуты
Потому что у вас int i = 0, при нуле ничего не будет, объявите i в классе

Добавлено через 1 минуту
Вообще сделайте так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void button1_Click(object sender, EventArgs e)
{
   int i = Convert.ToInt32(textBox1.Text);
   if ((i >= 1) && (i <= 1999))
   {
      label3.Text = "Рекрут";
   }
   else if ((i >= 2000) && (i <= 2999))
   {
      label3.Text = "Генерал";
   }
}
1
mrReptiloid
311 / 174 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
09.02.2012, 22:36 7
Цитата Сообщение от GODofART Посмотреть сообщение
Поставил &&, но теперь программа вообще ничего не выдаёт, то есть я пишу в текст.бокс1 жму на кнопку, а label3 так и остаётся, с || выполняется, но не верно.
Ну все правильно Вы же переменную i не обьявили,а у вас она все время равна нулю
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void button1_Click(object sender, EventArgs e)
{
   int i = Convert.ToInt32(textBox1.Text);//обьявляем переменную i
//потом уже сверяем
   if ((i >= 1) && (i <= 1999))
   {
      label3.Text = "Рекрут";
   }
   else if ((i >= 2000) && (i <= 2999))
   {
      label3.Text = "Генерал";
   }
}

Не по теме:

смотрю-меня уже опередили=)

1
DimanRu
09.02.2012, 22:40
  #8

Не по теме:

Цитата Сообщение от sniper_lunev Посмотреть сообщение
смотрю-меня уже опередили=)
Бывает, но вопросы мне кажется не иссякли;) Успеем поотвечать

1
GODofART
2 / 2 / 0
Регистрация: 19.11.2011
Сообщений: 52
09.02.2012, 23:40  [ТС] 9
Цитата Сообщение от DimanRu Посмотреть сообщение
Бывает, но вопросы мне кажется не иссякли Успеем поотвечать
Да-да, вы не ошиблись))
Я хотел узнать насчет комбобох1, как мне сделать в нём выбор параметров(не просто в комбинациях), а что бы выбрал в комбобокс1 определенное число, потом в текстбокс2 ввёл число допустим 1000 и например по такой формуле посчитал и вывел результат в label8:
(combobox1 - textbox1)/textbox2 = Z, где Z целое число, например округленное в большую сторону.
0
DimanRu
692 / 684 / 167
Регистрация: 15.06.2011
Сообщений: 1,703
10.02.2012, 13:27 10
Вычисления производятся по клику? Если да, тогда:
C#
1
2
3
4
5
6
7
8
9
private void button1_Click(object sender, EventArgs e)
{
   int x = Convert.ToInt32(combobox1.Text);
   int y = Convert.ToInt32(textBox1.Text);
   int y = Convert.ToInt32(textBox2.Text);
 
   int Z = (x - y) / q;
   label8.Text = Z;
}
где Z целое число, например округленное в большую сторону.
Оно не может быть НЕ целым, потому что вы всегда используете целочисланный тип - int
0
10.02.2012, 13:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2012, 13:27

Программа определения суммы и количества элементов массива
Задан массив A из N=10 элементов. Написать программу определения суммы и количества элементов...

Не работает программа для определения количества цифр в натуральном числе
Написал простую программу для определение кол-ва цифр в натуральном числе. Однако она не работает...

Исходя из определения
Помогите пожалуйста Правила, 5.18. Запрещено размещать задания в виде картинок и других файлов с...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru