Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
twix_uk
2 / 3 / 3
Регистрация: 26.12.2012
Сообщений: 72
#1

Дать для заданного числа наименования «год», «года», или «лет» - C++

12.03.2014, 10:46. Просмотров 828. Ответов 10
Метки нет (Все метки)

Помогите пожалуйста. Так и не понимаю я этот do while. Нужно решить задачку именно им:
Дано натуральное число n(n<=100), определяющая возраст человека в годах. Дать для этого числа наименования «год»,
«года», или «лет», например: 1 год, 43 года, 45 лет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 10:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дать для заданного числа наименования «год», «года», или «лет» (C++):

Определить для числа наименование «год», «лет» или «года» - C++
б) натуральное число m (m &lt;= 100), заданное пользователем, определяет возраст человека (количество лет). Определить для числа наименование...

Составить программу которая при введеном количестве лет выдает сообщени вам n лет,вам n год или года - C++
Составить программу которая при введеном количестве лет выдает сообщение вам n лет,вам n год или года

Вывести на экран слово «год», «года» или «лет» в зависимости от введенного возраста - C++
Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом «год», «года» или «лет»

Для заданного числа N от 1 до 365, определить месяц и день недели в не високосный год. - C++
For a given number n from 1 to 365, determine the month and the day in non-leap year. Input: One number n (1&lt;=n&lt;=365). ...

Вывести на экран монитора число с наименованием "год","года", "лет" - C++
Прошу прогу в С++. Дано натуральное число n (n&lt;=100), определяющее в годах возраст человека. Составить программу, по которой на экран...

Добавить к возрасту человека указание "год", "года", "лет" - C++
Дано натуральное число n (n&lt;=100), определяющее возраст человека (в годах). Дать для этого числа наименования год, года, лет: например, 1...

10
Байт
Эксперт C
16136 / 10414 / 1549
Регистрация: 24.12.2010
Сообщений: 19,715
12.03.2014, 10:52 #2
C++
1
2
3
4
5
6
char *p;
e = n%10;
d = n/10;
if (d!=1 && e==1) p = "год";
else if (d!=1 && (e==2 || e==3 && e==4) p = "года";
else p = "лет";
0
saden
183 / 167 / 41
Регистрация: 27.01.2013
Сообщений: 788
12.03.2014, 10:53 #3
если число больше 20, то
если последняя цифра 1 - "год", 2,3,4 - "года", 5-0 "лет"
числа 5-20 "лет"
до 5 - должно быть понятно

зачем тут do-while, не совсем понятно. Может, чтобы уменьшить число вычитая по 10...

// Пока писал появился другой ответ - можно удалить
0
twix_uk
2 / 3 / 3
Регистрация: 26.12.2012
Сообщений: 72
12.03.2014, 10:54  [ТС] #4
через if я это решал уже, мне через do while нужно
0
Байт
Эксперт C
16136 / 10414 / 1549
Регистрация: 24.12.2010
Сообщений: 19,715
12.03.2014, 10:55 #5
Цитата Сообщение от saden Посмотреть сообщение
зачем тут do-while, не совсем понятно
Я тоже не понял. Может быть
C++
1
2
3
4
5
n =1;
do {
  ...
  n++;
} while (n<=100);
0
twix_uk
2 / 3 / 3
Регистрация: 26.12.2012
Сообщений: 72
12.03.2014, 10:57  [ТС] #6
do while тут для того что бы он выводил сообщение если число более 100, я сделал, но не работает почему то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//---------------------------------------------------------------------------
#include <math.h>
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
//---------------------------------------------------------------------------
#pragma argsused
int main()
{
    int n,a;
    cout<<"Vvedite 4islo: ";
 
        do  {
        cin>>n;
        if (n>100) {
        cout << "4islo ne mogit bit bolshe 100"<<endl;}
        }
    while (n<=100);{
    a=n+10;
    cout<<"Otvet: "<<a<<endl;    }
system("pause");
}
0
saden
183 / 167 / 41
Регистрация: 27.01.2013
Сообщений: 788
12.03.2014, 11:00 #7
единственное, что мне приходит в голову, это
C++
1
do n:=n-10; while(n>10);
останется одна цифра, по которой можно принять решение.
только надо отдельно обработать числа 10-20
1
Байт
Эксперт C
16136 / 10414 / 1549
Регистрация: 24.12.2010
Сообщений: 19,715
12.03.2014, 11:10 #8
twix_uk, while (n > 100);
Ввод продолжается, пока вводятся недопустимые значения
0
twix_uk
2 / 3 / 3
Регистрация: 26.12.2012
Сообщений: 72
12.03.2014, 11:12  [ТС] #9
Сделал вот:
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
//---------------------------------------------------------------------------
#include <math.h>
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
//---------------------------------------------------------------------------
#pragma argsused
int main()
{
    int e,d,n;
    char *p;
    //cout<< "Pogramma proverayet yavlyaetsya li 4islo stepenu 3"<<endl;
    cout<<"Vvedite 4islo: ";
 
        do  {
        cin>>n;
        if (n>100) {
        cout << "4islo ne mogit bit bolshe 100"<<endl;}
        }
    while (n>=100);{
    e = n%10;
    d = n/10;
    if (d!=1 && e==1) p = "god";
    else if (d!=1 && e==2 || e==3 && e==4) p = "goda";
    else p = "let";
 
    cout<<"Otvet: "<<n<<" "<<p<<endl;    }
system("pause");
}
Но на 23 он вывел мне "лет"
0
Байт
Эксперт C
16136 / 10414 / 1549
Регистрация: 24.12.2010
Сообщений: 19,715
12.03.2014, 11:16 #10
Цитата Сообщение от twix_uk Посмотреть сообщение
Но на 23 он вывел мне "лет"
Извини, моя ошибочка. Строчка 24
C++
1
else if (d!=1 && (e==2 || e==3 || e==4)) p = "goda";
1
twix_uk
2 / 3 / 3
Регистрация: 26.12.2012
Сообщений: 72
12.03.2014, 11:18  [ТС] #11
Спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2014, 11:18
Привет! Вот еще темы с ответами:

Определить являются ли числа из заданного набора равными или все они не меньше заданного - C++
1. Даны n целых чисел. Определить, являются ли эти числа равными или все они не меньше заданного А.

Проверка для заданного года, является ли он високосным - C++
Здравствуйте! Помогите пожалуйста подправить программу! Проверка для заданного года, является ли он високосным. Написать программу,...

Вывести на экран фразу "Мне n лет", учитывая что при некоторых значениях n слово "лет" надо заменить на "год" - C++
дано натуральное число n. Вывести на экран фразу &quot;Мне n лет&quot;, учитывая что при некоторых значениях n слово &quot;лет&quot; надо заменить на &quot;год&quot; или...

Для заданного четного числа вычислить сумму, для нечетного произведение чисел от 1 до заданного - C++
c++ дано число вводится с клавиатуры, если оно четное, то ввести сумму с 1 до n. Если нечетное — произведение от 1 до n. вывести на экран


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
12.03.2014, 11:18
Ответ Создать тему
Опции темы

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