Member 13910414 Ответов: 2

Найти ошибку в моем коде (C++)


//RECTANGLE
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<process.h>
main()
{
clrscr();
int ch;
char ch1;
long float l,b,area,peri,diag;
cout<<"Rectangle Menu: \n";
cout<<"1.Area\n";
cout<<"2.Perimeter\n";
cout<<"3.Diagonal\n";
cout<<"4.Exit\n";
cout<<"Enter your choice(1-4): ";
do
	{
	cin>>ch;
	if(ch==1 || ch==2 || ch==3)
	{	cout<<"Enter Length and Breadth :\n";
		cin>>l>>b;
	}
	switch(ch)
	{
	case'1':
		area=l*b;
		cout<<"Area= "<<area;
		break;
	case'2':
		peri=2*(l+b);
		cout<<"Perimeter= "<<peri;
		break;
	case'3':
		diag=sqrt((l*l)+(b*b));
		cout<<"Diagonal= "<<diag;
		break;
	case'4':
		cout<<"Exiting....";
		exit(0);
	default:
		cout<<"Wrong choice!!!!";
		cout<<"Enter a valid choice";
		break;
	}
	cout<<"\nWant to enter more(y/n)? ";cin>>ch1;
	if(ch1=='y' || ch1=='Y')
		cout<<"Again enter choice(1-4): ";
	}
	while(ch1=='y' || ch1=='Y');
getch();
}


Что я уже пробовал:

я пытался запустить этот код..какая-то проблема там, пожалуйста, помогите

0x01AA

"какая-то проблема там, пожалуйста" - это не очень полезно. Можете ли вы указать проблемы, с которыми вы столкнулись?

2 Ответов

Рейтинг:
2

Manish K. Agarwal

Вы объявили int ch; но в случае switch вы сравниваете параметры char. изменить регистр как

switch(ch)
 {
 case 1:
 area=l*b;
 cout<<"Area= "<<area;
 break;
 case 2:
 peri=2*(l+b);
 cout<<"Perimeter= "<<peri;
 break;
 case 3:
 diag=sqrt((l*l)+(b*b));
 cout<<"Diagonal= "<<diag;
 break;
 case 4:
 cout<<"Exiting....";
 exit(0);
 default:
 cout<<"Wrong choice!!!!";
 cout<<"Enter a valid choice";
 break;
 }


Рейтинг:
0

Jochen Arndt

Нет никакого типа long float на языке Си/Си++. Есть float, double, и long double. Заметить что long double это то же самое, что double с некоторыми компиляторами и библиотеками, например с Visual C++.


Manish K. Agarwal

по крайней мере, VS2010, скомпилируйте 'long float' с размером 8 байт, в то время как только 'long' или 'float' имеют 4 байта

Jochen Arndt

Не пробовал его с VC, он не является стандартным и даже не упоминается в документации MS по адресу Фундаментальные Типы (C++).

Попробовал это сделать со старыми версиями GCC и G++: оба выдают ошибку.