Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
аринка
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 28
1

Для заданного n вывести фразу вида «Мне 21 год», «Мне 22 года», «Мне 15 лет»

18.12.2010, 20:19. Просмотров 1604. Ответов 4
Метки нет (Все метки)

. Для заданного 0<=n<=200 , рассматриваемого как возраст человека, вывести фразу вида «Мне 21 год», «Мне 22 года», «Мне 15 лет».
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 20:19
Ответы с готовыми решениями:

В зависимости от ответа на экране должен появиться текст «Мне нравятся девочки!» или «Мне нравятся мальчики!».
Программа — льстец. На экране высвечивается вопрос «Кто ты: мальчик или девочка? Введи Д или М». В...

Для заданого 0<=n<=200.Расматриваемого как возраст человека,вывести фразу вида: "Мне 21 год", "Мне 32 года", "мне 12 лет".
МОЙ ВОЗРАСТ. Для заданого 0&lt;=n&lt;=200.Расматриваемого как возраст человека,вывести фразу вида: &quot;Мне...

Вывести фразу вида: "Мне 21 год", "Мне 32 года", "мне 12 лет"
МОЙ ВОЗРАСТ. Для заданого 0&lt;=n&lt;=200.Расматриваемого как возраст человека,вывести фразу вида: &quot;Мне...

Для заданного возраста человека, вывести фразу вида: "Мне 18 лет", "Мне k лет"
Для заданного 0 &lt; k &lt; 200,рассматриваемого как возраст человека,вывести фразу вида: &quot;Мне 18 лет&quot;,...

Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год»
Для введенного с клавиатуры n, вывести фразу вида: «Мне 41 год», «Мне 16 лет», «Мне 84...

4
sh4d°_°ff
ex-close383
1258 / 282 / 35
Регистрация: 31.10.2009
Сообщений: 1,430
18.12.2010, 23:01 2
Если работа с формами, что вряд ли:
на форме edit1 и кнопка
Щелчек по кнопке:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ((StrToInt(Edit1->Text)>=0)&&(StrToInt(Edit1->Text)<=200))
        {
        ShowMessage ("Мне "+Edit1->Text+" лет");
        }
else if (StrToInt(Edit1->Text)>200)
        {
        ShowMessage ("Черт я стар... очень стар... я просто суперстар!");
        }
else ShowMessage ("Я еще не родился");
}
обработчик нажатия клавиши в Едит:
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
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key >= '0') && (Key <= '9')) {}
else if (Key==VK_BACK){}
else if ((Key == '.') || (Key == ','))
        {
        if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0)
                Key = 0;
        else
                Key = DecimalSeparator;
            }
else if (Key=='-')
{
if (Edit1->Text.SubString(0,1)=="-")
        {
        Key = 0;
        Edit1->Text=Edit1->Text.Delete(1,1);
        }
else
        {
        Key = 0;
        Edit1->Text=Edit1->Text.Insert("-",1);
        }
}
else Key = 0;
}
2
petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 696
Завершенные тесты: 1
19.12.2010, 02:22 3
Цитата Сообщение от sh4d°_°ff Посмотреть сообщение
C++
1
2
 
        ShowMessage ("Черт я стар... очень стар... я просто суперстар!");

Не по теме:

:D суперски )))

0
MikeSoft
Эксперт С++
3922 / 1787 / 183
Регистрация: 21.11.2009
Сообщений: 2,540
19.12.2010, 02:40 4
sh4d°_°ff, тут автор скорее всего имел в виду "как реализовать подстановку нужного окончания к числу"...

Не по теме:

Но за "суперстар" - однозначно +1. :D

0
sh4d°_°ff
ex-close383
1258 / 282 / 35
Регистрация: 31.10.2009
Сообщений: 1,430
19.12.2010, 09:03 5
спетросянил по гоблински =)

ВотЪ код с нормальными окончаниями, в консольке надо делать примерно также :
1) определить длину символа
2) брать последнюю цифру
3) проверять её

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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ((StrToInt(Edit1->Text)>=0)&&(StrToInt(Edit1->Text)<=200))
        {
        switch (Edit1->Text.Length())
                {
                case 0: ShowMessage ("Мне нечего сказать о своем возрасте");
                break;
                case 1:
                if (StrToInt(Edit1->Text)==1)
                        {
                        ShowMessage ("Мне 1 Год");
                        }
                else if ((StrToInt(Edit1->Text)>1)&&(StrToInt(Edit1->Text)<5))
                        {
                        ShowMessage ("Мне "+Edit1->Text+" Года");
                        }
                else    {
                        ShowMessage ("Мне "+Edit1->Text+" Лет");
                        }
                break;
                case 2:
                if (StrToInt(Edit1->Text.SubString(2,1))==1)
                        {
                        ShowMessage ("Мне "+Edit1->Text+" Год");
                        }
                else if ((StrToInt(Edit1->Text.SubString(2,1))>1)&&(StrToInt(Edit1->Text.SubString(2,1))<5))
                        {
                        ShowMessage ("Мне "+Edit1->Text+" Года");
                        }
                else    {
                        ShowMessage ("Мне "+Edit1->Text+" Лет");
                        }
                break;
                case 3:
                        if (StrToInt(Edit1->Text.SubString(3,1))==1)
                        {
                        ShowMessage ("Мне "+Edit1->Text+" Год");
                        }
                else if ((StrToInt(Edit1->Text.SubString(3,1))>1)&&(StrToInt(Edit1->Text.SubString(3,1))<5))
                        {
                        ShowMessage ("Мне "+Edit1->Text+" Года");
                        }
                else    {
                        ShowMessage ("Мне "+Edit1->Text+" Лет");
                        }
                break;
                }
        }
else if (StrToInt(Edit1->Text)>200)
        {
        ShowMessage ("Черт я стар... очень стар... я просто суперстар!");
        }
else ShowMessage ("Я еще не родился");
}
з.ы.: блин не учел 11, 12 13 и.т.д.. до 20.. ну это легко сделать по аналогии
0
19.12.2010, 09:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2010, 09:03

Вывести на экран фразу "Мне k лет" правильно заменяя слово "лет" на "год" или "года"
Дано целое k. Вывести на экран фразу &quot;Мне k лет&quot; правильно заменяя слово &quot;лет&quot; на &quot;год&quot; или...

Составить программу, которая по введённому возрасту k формирует фразу: "Мне К лет/год/года".
Составить программу, которая по введённому возрасту k (k-количество полных лет, 1≤k≤99), выдаёт...

Напечатать фразу "Мне N лет", согласовав слово "лет, год, года" с числом N
Составьте программы разветвляющейся структуры согласно вариантам задания (используя SWITCH) . ...


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

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

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