Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
1

Алгоритм для программы

09.02.2013, 10:54. Показов 1266. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо написать небольшую программку(оконную), в которую вводят числа(возраст людей) а программа сортирует следующим образом и выдает результат в поля, в поля должно попадать количество людей попадающих под этот возраст, т.е вводят например 34,45,16,78(нажатие кнопки происходит после каждого ввода числа) здесь в поле -18-39 лет будет значение 1, в поле 15-17 тоже один, в поле 18-64 будет значение 3 и т.д.
- до 1 года
- 1-2 года
-3-4 года
-5-6 лет
-7-14 лет
-15-17 лет
-18-39
-18-64
-от 65
сам думаю сделать массив в который будут складываться вводимые числа, потом пройтись по всему массиву и заполнять ячейки, вся беда в том что не совсем представляю себе алгоритм всего этого, натолкните пожалуйста примером или подсказкой
Миниатюры
Алгоритм для программы  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2013, 10:54
Ответы с готовыми решениями:

Алгоритм для программы для рулетки
Доброго времени суток, уважаемые форумчане. Решил написать программу реализации своей стратегии в...

Составить алгоритм программы
Доброго времени суток форумчане. Нужна помощь в составлении алгоритма программы. Как должна...

опишите, пожалуйста, алгоритм построения программы
program kursova; uses crt; type DateOfBirthday = record Month : String; // ...

Какой фрагмент алгоритм реализован в следующем коде программы?
if (nov]) { y1.ki = i; y1.kj = j; i = p; y1.nom = i; ...

19
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
09.02.2013, 11:18 2
int n = Вводимый возраст;
switch(n)
{
case : // Тут условия. Если n >2 && n<5, то СтрТоИнт.Текстбокс2.текст +=1; и т.п.
break;
case :
break;
case :

break;
default:
Тут пишем, что мол введенный возраст не есть валид.
break;
}
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 11:20 3
Вариант "в лоб":
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void SubmitButton_Click(object sender, EventArgs e)
{
   int input = int.Parse(InputField.Text);
   TextBox target;
   if (input < 1) target = textBox1;
   else if (input < 3) target = textBox2;
   else if (input < 5) target = textBox3;
   else if (input < 7) target = textBox4;
   else if (input < 15) target = textBox5;
   else if (input < 18) target = textBox6;
   else if (input < 64) target = textBox7;
   else target = textBox8;
 
   target.Text = Convert.ToInt32(target.Text) + 1;
}
Добавлено через 32 секунды
Цитата Сообщение от Scrypto Посмотреть сообщение
case : // Тут условия. Если n >2 && n<5, то СтрТоИнт.Текстбокс2.текст +=1; и т.п.
В кейсе условие может быть только на равенство.
2
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 13:29  [ТС] 4
вот эта строчка выдает ошибку что int не может быть неявно преобразовна в string(Cannot implicitly convert type 'int' to 'string')
C#
1
target.Text = Convert.ToInt32(target.Text) + 1;
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 13:34 5
Ну что же вы - детская ведь ошибка.
C#
1
target.Text = (Convert.ToInt32(target.Text) + 1).ToString();
1
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 13:54  [ТС] 6
Цитата Сообщение от kolorotur Посмотреть сообщение
Ну что же вы - детская ведь ошибка.
C#
1
target.Text = (Convert.ToInt32(target.Text) + 1).ToString();
ой вы не представляете какой я еще ребенок в этом. Сейчас компилятор перестал ругаться,но теперь когда ввожу число и нажимаю кнопку то на этой же строчке выходит "Входная строка имела неверный формат" хотя ввожу число

Добавлено через 2 минуты
вроде разобрался везде в textBox по умолчанию нули поставил и норм стало, большое спасибо
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 13:56 7
Чтобы не ставить нули по умолчанию, можно сделать так:
C#
1
2
3
int count;
int.TryParse(target.Text, out count);
target.Text = (count + 1).ToString();
Или вместо текстбоксов использовать NumericUpDown.
0
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 14:02  [ТС] 8
NumericUpDown посмотрел, но у него там стрелки для изменения значений в данном случае это не совсем подходит или их как то убрать можно?
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 14:09 9
Цитата Сообщение от corlovito Посмотреть сообщение
их как то убрать можно?
C#
1
numericUpDown.Controls[0].Visible = false;
1
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 14:16  [ТС] 10
совсем забыл еще про одно условие есть два промежутка
-18-39 и 18-64 получается нужно чтобы допустип число 35 попало и туда и туда, как это можно реализовать?
Миниатюры
Алгоритм для программы  
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 14:29 11
Цитата Сообщение от corlovito Посмотреть сообщение
-18-39 и 18-64 получается нужно чтобы допустип число 35 попало и туда и туда
Что-то вы странное делаете.
Первое (из пяти, кажется) правил организации данных по частоте в статистике: классы должны быть взаимоисключающими, то есть конкретный экземпляр не может находиться одновременно в нескольких группах.

Уточните этот момент.
0
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 14:32  [ТС] 12
нет здесь все точно это отчет по больным пневмонией и там у них такие поля заполнять надо т.е сколько больных между 18 и 64 а также сколько между 18 и 39 такой отчет к сожалению
0
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
09.02.2013, 14:35 13
else if (input > 18 && input < 64 ) target = textBox7;
0
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 14:38  [ТС] 14
Цитата Сообщение от Scrypto Посмотреть сообщение
else if (input > 18 && input < 64 ) target = textBox7;
не получится нужно чтобы одно число одновременно в двух промежутках отметку оставило
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 15:04 15
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void SubmitButton_Click(object sender, EventArgs e)
{
   int input = int.Parse(InputField.Text);
   if (input < 1) Increment(textBox1);
   else if (input < 3) Increment(textBox2);
   else if (input < 5) Increment(textBox3);
   else if (input < 7) Increment(textBox4);
   else if (input < 15) Increment(textBox5);
   else if (input < 18) Increment(textBox6);
   else if (input < 64) 
   {
      Increment(textBox8);
      if (input < 40) Increment(textBox7);
   }
   else Increment(textBox9);
}
 
void Increment(TextBox target)
{
   target.Text = (Convert.ToInt32(target.Text) + 1).ToString();
}
2
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
09.02.2013, 16:53  [ТС] 16
спасибо пошел разбираться в коде

Добавлено через 1 час 23 минуты
Еще хотел спросить этот прием как то называется то что вы привели в коде, как например инкапсуляция или полиморфизм
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
09.02.2013, 17:09 17
Я бы этот прием назвал "первое, что пришло в голову".
Единственное, что там можно притянуть за уши к понятию "прием" - это вынос часто повторяющегося кода в отдельный метод в последнем варианте.
1
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
10.02.2013, 13:00  [ТС] 18
хотел еще вот что уточнить, как правильно именовать в данном случае TextBox т.е прввильно ли оставлять их как называет программа с добавлением цифры. Например TextBox1 TextBox2 или в этом случае лучше давать какое то конкретное имя каждому объекту?
0
62 / 62 / 5
Регистрация: 05.01.2013
Сообщений: 235
10.02.2013, 13:13 19
Цитата Сообщение от corlovito Посмотреть сообщение
хотел еще вот что уточнить, как правильно именовать в данном случае TextBox т.е прввильно ли оставлять их как называет программа с добавлением цифры. Например TextBox1 TextBox2 или в этом случае лучше давать какое то конкретное имя каждому объекту?
с точки зрения программирования - имена нужно давать такие, чтобы программисту было понятно, какой контролл за что отвечает. а в целом - как вам удобнее - так и делайте.
1
461 / 442 / 75
Регистрация: 26.12.2012
Сообщений: 2,886
10.02.2013, 14:31  [ТС] 20
на это вообще обращается внимание, когда говорят р правильном кодеили только на сам алгоритм?
0
10.02.2013, 14:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2013, 14:31
Помогаю со студенческими работами здесь

Составить циклический алгоритм и программу для вычисления результата по формуле. Для проверки программы задать х=0.5, n=20
Люди помогите, нужен пример этого задания, чтобы остальные сделать. Нужна блок-схема и программа на...

Алгоритм для программы
Как сделать алгоритм для этой программы: #include &lt;conio.h&gt; #include &lt;iostream&gt; #include...

Составить алгоритм для программы
Составить алгоритм для программы, которая определяет максимальное число из введённых с клавиатуры...

Начертить алгоритм для программы
Знаю есть инструмент для построения блок схем на ассемблере, SOURCER(дисассемблер)...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru