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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 21:49   #1
7rubin
Пользователь
 
Регистрация: 18.12.2011
Сообщений: 25
По умолчанию Не пойму где ошибка c++

при нажатии на клавишу "8" программа выдает ошибку!
скажите, что я делаю не так???
спасибо.

Код:
#include <stdio.h>
#include <iostream>
#include <math.h>

#define PI 3.14

/*1. Вывод радиуса круга*/

/*2. Вывод площади круга*/
double square(int r);

/*3. Вывод площади сектора круга, образованного углом a*/
double sector(int r, int a);

/*4. Вывод длины соответствующей окружности*/
double lenght(int r);

/*5. Вывод стороны квадрата, вокруг которого описана окружность*/
double kvadrat(int r);

/*6. Вывод объема конуса, основанием которого служит круг, а
высота которого равна введенному радиусу*/
int cone(int r);

/*7. Информация о версии и авторе программы*/

/* Список действий*/
void menu();
void vibor(char ch, int r);


/*Программа для работы с окружностью*/
void main()
{
	setlocale(LC_ALL, "Russian_Russia.1251");
	int r, a;
	char ch;

	printf("Введите радиус!\n");
	scanf("%d", &r);


	menu();
	printf("Введите действие: ");
	scanf("%s", &ch);
	while ( ch != '8')
		{
			vibor(ch, r);
			printf("Введите действие: ");
			scanf("%s", &ch);
	}
	
return ;
}


double square(int r)
{
	return PI * r;
}

double sector(int r, int a)
{
	return ( PI * r * r * a) / 360;
}


double lenght(int r)
{
	return 2 * PI * r;
}


double kvadrat(int r)
{
	double a;
	a = 2 * r* r;
	return sqrt(a);
}


int cone(int r)
{
	return (PI * r * r * r) / 3;
}


void menu()
{
	printf("\n\n1. Вывод радиуса круга.\n");
	printf("2. Вывод площади круга.\n");
	printf("3. Вывод площади сектора круга, образованного углом a.\n");
	printf("4. Вывод длины соответствующей окружности.\n");
	printf("5. Вывод стороны квадрата, вокруг которого описана окружность.\n");
	printf("6. Вывод объема конуса, основанием которого служит круг, \n   а высота которого равна введенному радиусу.\n");
	printf("7. Информация о версии и авторе программы.\n");
	printf("8. Выход из программы.\n\n");
}


void vibor(char ch, int r)
{
	int a;

		switch(ch)
	{
	case '1' : 
		printf("\nR = %d\n", r);
		menu();
		break;
			   
	case '2' : 
		printf("\nS = %3.2f\n", square(r));
		menu();
		break;
			  
	case '3' : 
		printf("Ввудите угол a: ");
		scanf("%d", &a);
		printf("\nS(сектора) = %3.2f\n", sector(r, a));
		menu();
		break;
			  
	case '4': 
		printf("\nL = %3.2f\n", lenght(r));
		menu();
		break;
			  
	case '5': 
		printf("\nСторона = %3.2f\n", kvadrat(r));
		menu();
		break;
			  
	case '6': 
		printf("\nV = %d\n", cone(r));
		menu();
		break;
			  
	case '7': 
		printf("\nВерсия программы 1.0\nPaхлеев Максим\n");
		menu();
		break;
			  
	case '8': 
		exit(1);
			  
	default:
		printf("\nError!!! This operator isn't correct\n");
		break;
	}
}

Последний раз редактировалось ACE Valery; 22.03.2012 в 23:34.
7rubin вне форума Ответить с цитированием
Старый 22.03.2012, 22:42   #2
7rubin
Пользователь
 
Регистрация: 18.12.2011
Сообщений: 25
По умолчанию

Все, спасибо, разобрался
вместо "scanf("%s", &ch);" надо было "scanf("%с", &ch);"

тема закрыта
7rubin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не пойму где ошибка gas777 Общие вопросы C/C++ 1 15.05.2011 21:10
написал программу, где то ошибка, не пойму где... Kelevra91 Общие вопросы C/C++ 5 17.01.2011 16:38
Не пойму где ошибка.. Den9I Microsoft Office Excel 17 02.12.2010 01:53
Не пойму где ошибка Айдар Работа с сетью в Delphi 1 17.04.2010 18:20
не пойму где ошибка C-Jay Общие вопросы C/C++ 1 03.01.2010 01:45