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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2009, 13:25   #1
Sonyalex90
Пользователь
 
Регистрация: 20.09.2009
Сообщений: 23
По умолчанию Задачка

всем привет. Вот какая задача. вводим число, если оно четное, то выводим это число, если нечетное то происходит ввод снова. ввод прекращается когда мы вводим 0

Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
  int r;
  m:
  printf("vvod chisla = \n");  
  scanf("%d",&r);
  if (r==0)
  goto m1;
  if ((r % 2)==0){
  printf("rezultat = %d\n", r);
  goto m;}
  else 
  goto m;
  m1:
  system("PAUSE");	
  return 0;
}
вот код программы, но метки это "дурной тон" программирования =))) как можно без меток сделать эту программу?

Последний раз редактировалось Sazary; 25.10.2009 в 21:24.
Sonyalex90 вне форума Ответить с цитированием
Старый 25.10.2009, 13:56   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int r;

	do {
	    printf("vvod chisla = "); 
	    scanf("%d",&r);
	    if(r%2==0 && r)
			printf("chislo %d - chetnoe\n",r);
	} while(r);
	
	system("PAUSE");
	return 0;
}
counter вне форума Ответить с цитированием
Старый 25.10.2009, 13:59   #3
Sonyalex90
Пользователь
 
Регистрация: 20.09.2009
Сообщений: 23
По умолчанию

спасибо =))) я пытался через просто while. а про do_while и забыл. =))))
Sonyalex90 вне форума Ответить с цитированием
Старый 25.10.2009, 14:05   #4
Enterprise
 
Аватар для Enterprise
 
Регистрация: 02.06.2009
Сообщений: 4
По умолчанию

Можно использовать цикл и условия:

Код:
#include <stdio.h>
#include <locale>
using namespace std;
void main()
{
	locale::global(locale("rus_rus.1251"));
	int r;
	bool f=true;
	printf("Введите число\n");
	while(f){
		scanf("%d",&r);
		if(r==0)
			f=false;
		else
			if(r%2==0){
				printf("Число: %d\n",r);
				f=false;
		}
	}
}

Последний раз редактировалось Sazary; 25.10.2009 в 21:24.
Enterprise вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачка lucky Помощь студентам 1 07.05.2009 13:49
Задачка. Cubaholic Общие вопросы Delphi 4 28.12.2008 20:34
Задачка spirit0k Общие вопросы C/C++ 7 11.11.2008 17:36