Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 17:50   #1
Virgil69
Новичок
Джуниор
 
Регистрация: 12.11.2010
Сообщений: 2
Сообщение нужен совет по задаче (в чем моя ошибка) (с++)

Условие было таким:Дано натуральное число N, определяющее возраст человека в годах. Дать для этого числа наименования «год», «года» или «лет»: например, 1 год, 23 года, 45 лет и т.д.


как её делать на С# - вроде разобрался, а вот на С++ не догоняю =)
Подскажите в чём ошибка.
Вот мой код:
Код:
//---------------------------------------------------------------------------


#include <iostream>
#include <conio.h>
#include <stdio.h>

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
int god,ost;
nachalo:
printf("VVedite chislo\n");
std::cin>>god;
ost = god;
nach:
if (god == 1) {std::cout<<god+"god"; goto end;};
if (ost == 1) {std::cout<<god+"let";};
if (ost == 0) {std::cout<<god+"let";};
if ((ost > 1) && (ost < 5)) {std::cout<<god+"goda";};
if ((ost > 4) && (ost < 21)) {std::cout<<god+"let";};
if (ost > 20) {ost = god % 10; goto nach;}
goto nachalo;
/*
end:

        return 0; */
getch();
}   ;

Последний раз редактировалось Stilet; 12.11.2010 в 20:23.
Virgil69 вне форума Ответить с цитированием
Старый 12.11.2010, 18:07   #2
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Вот тебе совет:
Отдели первый разряд числа (или как оно там называется... короче самую правую цифру).
Если 1 - то "год", если 2-4 - то "года", если 5-9 или 0 - то "лет".

И еще: использование goto - признак плохого тона в программировании.
Риндера вне форума Ответить с цитированием
Старый 12.11.2010, 20:26   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А я уточню курс:
Код:
	int Годы=128,Последняя_цифра_годков=Годы-Годы/10*10;
	printf("%d",Последняя_цифра_годков);
Дальше как и сказали если... то...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет hestika Софт 1 20.08.2015 16:30
Нужен совет... master13i Помощь студентам 1 08.11.2010 17:31
Это ошибка Delphi или моя ошибка??? bloodeagle Общие вопросы Delphi 3 12.11.2009 15:26
Хуки (тестовый пример). В чем моя ошибка? Tihon Win Api 2 31.12.2008 11:59
Скажите, в чем моя ошибка в сортировке, или напишите, как правильно сортировать. язык Паскаль. Devo4ka Паскаль, Turbo Pascal, PascalABC.NET 0 26.11.2008 00:19