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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 18:10   #11
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Jasper92 Посмотреть сообщение
Я написал программу
Код:
#include <stdio.h>
#include <conio.h>
int main ()
{
	int  x=1;
	printf ("Vvedite x");
	scanf ("%i",&x);	
			switch (x)
	{
			case 1:  printf ("001 %c"); break;
			case 2:  printf ("002 %c"); break;
			case 3:  printf ("003 %c"); break;
			case 4:  printf ("004 %c"); break;
			case 5:  printf ("005 %c"); break;
			case 6:  printf ("006 %c"); break;
			case 7:  printf ("007 %c"); break;
			default: ;				
	}
	getch ();
}
но мне нужно ввести ограничение х>=1 и x<=7 если не входит в это ограничение то выводится сообщение не коректноректно
Именно для этого и предусмотрен оператор default в switch.
Код:
switch (x)
{
	case 1:  printf ("001"); break;
	case 2:  printf ("002"); break;
	case 3:  printf ("003"); break;
	case 4:  printf ("004"); break;
	case 5:  printf ("005"); break;
	case 6:  printf ("006"); break;
	case 7:  printf ("007"); break;
	default:  printf("Incorrect input\n");				
}
И %c надо убрать, иначе будет выполняться лишняя работа printf-м, так как %c означает, что нужно распечатать некий символ, который передаётся следующим, за строкой форматирования, параметром, которого в данном случае нет.
netrino вне форума Ответить с цитированием
Старый 27.10.2009, 10:23   #12
Jasper92
Форумчанин
 
Аватар для Jasper92
 
Регистрация: 07.02.2009
Сообщений: 110
По умолчанию

Такая проблема написая программа почему то выдает все времена года подряд. Пожалуйста укажите на ошибку. Вот программа
Код:
#include <stdio.h>
#include <conio.h>
int main ()
{
	int x;
	printf("Vvedite nomer mecayca\n");
	scanf("%i",&x);
	if ((x>=1)&&(x<=12))
	{
		if ((x=12)||(x=1) ||(x=2))  { printf  ("Zima\n") ;}
		if ((x=3) ||(x=4) ||(x=5))  { printf  ("Vesna\n");}
		if ((x=6) ||(x=7) ||(x=8))  { printf  ("Leto\n") ;}
		if ((x=9) ||(x=10)||(x=11)) { printf  ("Osen`")  ;}
	}	
else printf ("Nekorektno");
getch();
}

Последний раз редактировалось Sazary; 28.10.2009 в 17:01.
Jasper92 вне форума Ответить с цитированием
Старый 27.10.2009, 10:48   #13
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Код:
if ((x=12)||(x=1) ||(x=2))
будьте внимательны в С знак = присваивание
знак
Код:
==
сравнение, т.е здесь и далее
Код:
if ((x==12)||(x==1) ||(x==2))
и пользуйтесь тегом CODE для чего выделите текст программы и нажмите #
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 27.10.2009, 11:08   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Jasper92
Не проще ли так:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main ()
{
	int  x=1;
	printf ("Vvedite x");
	scanf ("%i",&x);
	char c[10];
	itoa(x,c,10);
	printf("00%s",c);
	getch ();
}
Или как минимум определить массив значений, из которых будет выбираться элемент по введенному.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2009, 13:45   #15
mYziK
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 38
По умолчанию

Цитата:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main ()
{
	int  x=1;
	printf ("Vvedite x");
	scanf ("%i",&x);
	char c[10];
	itoa(x,c,10);
	printf("00%s",c);
	getch ();
}
А почему бы просто не:
Код:
#include <stdio.h>
#include <conio.h>
int main ()
{
	unsigned int  x=1; //Если считываем целое без знака - то и объявить было бы не плохо без знака =)
	printf ("Vvedite x");
	scanf ("%i",&x);
           if(x>=1 && x<=7)
	      printf("00%i",x);
           else
                 printf("Некорректный ввод!\n");
	getch ();
}
mYziK вне форума Ответить с цитированием
Ответ


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