입체도형 구하는 프로그래밍입니다. 부탁드립니다..

smallhotdog의 이미지

#include<iostream>
using namespace std;
class Rectangle
{
protected:
	float lengtha,lengthb, height;
public:
	Rectangle() : lengtha(0.0),lengthb(0.0), height(0.0)
	{
		cout << "가로를 입력하시오: ";
		cin >> lengtha;
		cout << "세로를 입력하시오";
		cin >> lengthb;
		cout << "높이를 입력하시오";
		cin >> height;
	}
};
class Recvolume : public Rectangle
{
public:
		float volume()
		{
			return lengtha*lengthb*height;
		}
};
class RecArea : public Rectangle
{
public:
	float area()
	{
		return (lengtha*height) * 2 + (lengtha*lengthb) * 2 + (lengthb*height) * 2;
	}
};
class Square
{
protected:
	float lengtha, lengthb, height;
public:
	Square() : lengtha(0.0), lengthb(0.0), height(0.0)
	{
		cout << "가로를 입력하시오: ";
		cin >> lengtha;
		cout << "세로를 입력하시오";
		cin >> lengthb;
		cout << "높이를 입력하시오";
		cin >> height;
	}
};
class Squavolume : public Square
{
public:
	float volume()
	{
		return lengtha*lengthb*height;
	}
};
class SquaArea : public Square
{
public:
	float area()
	{
		return (lengtha*height) * 2 + (lengtha*lengthb) * 2 + (lengthb*height) * 2;
	}
};
class Pitch
{
protected:
	float r  ;
public:
	Pitch() : r(0.0)
	{
		cout << "반지름을 입력하시오(π=3.14로 계산) ";
		cin >> r;
	}
};
class Pitvolume : public Pitch
 
{
public:
	double volume()
	{
		return 4 / 3 * 3.14*r*r;
	}
};
 
class PitArea : public Pitch
{
public:
	double area()
	{
		return 4 * 3.14 * r * r;
	}
};
class Cone
{
protected:
	float r ,height, l;
public:
	Cone(): r(0.0), height(0.0), l(0.0)
	{
		cout << "반지름을 입력하시오(π=3.14로 계산) ";
		cin >> r;
		cout << "높이를 입력하시오: ";
		cin >> height;
		cout << "호의 길이를 구하시오: ";
		cin >> l;
	}
};
class ConeVolume : public Cone
{
public:
	double volume()
	{
		return 1 / 3 * 3.14*r*r*height;
	}
};
class ConeArea : public Cone
{
public:
	double area()
	{
		return 3.14*r*r + 3.14*r*l;
	}
};
 
int main()
{
	char menu;
 
 
	while (true)
	{
		//메뉴출력
		cout << "1.직육면체 부피, 넓이 구하기\n";
		cout << "2.정육면체 부피, 넓이 구하기\n";
		cout << "3.구   부피, 넓이 구하기\n";
		cout << "4.원뿔 부피, 넓이 구하기\n";
		cout << "5.종료\n";
		cout << "메뉴 선택: ";
		cin  >> menu;
 
		if (menu == '5')
			break;
 
		switch (menu)
		{
 
		case '1':{
			Rectangle b;
			cout << "Enter data for first rectangle to find area.\n";
			Recvolume a;
			cout << "직육면체의 부피는: "<<  << "입니다";
 
			cout << "직육면체의 넓이는: ";
		}
				 break;
		case '2':{
 
			cout << "정육면체의 부피는: ";
 
			cout << "정육면체의 넓이는: ";
		}
				 break;
		case'3':{
 
			cout << "구의 부피는: ";
 
			cout << "구의 넓이는: ";
		}
				break;
		case '4':{
 
			cout << "원뿔의 부피는: ";
 
			cout << "원뿔의 넓이는: ";
		}
				 break;
		}
	}
 
	return 0;
}

switch문에서 class를 불러오려고 하는데 뜻대로 되지않습니다.
설명도 조금 덧붙여주시면 정말 감사하겠습니다..(code수정도 좀 부탁드릴게요..)

klara의 이미지

> switch문에서 class를 불러오려고 하는데 뜻대로 되지않습니다.

작성하신 분의 뜻이 어떤 뜻인지 모르겠습니다.
'switch문에서 class를 불러온다'라는 것도 무슨 뜻인지 모르겠습니다.
기대하시는 동작이 무엇이고 기대밖으로 어떤 동작이 나왔는지, 그리고 에러가 있다면 무슨 에러인지를 구체적으로 적어주세요.

ifree의 이미지

스위치 문 안에서 변수를 선언하고 싶다는 뜻인 듯.

twinwings의 이미지

1. 컴퓨터 공학과의 고급객체지향 과목의 과제 같네요.

2. 수학의 [대수학 기본정리]를 전부 적어놓고 "이해가 안되요" 하는 것 같습니다.
어느 부분이 안되는지 정확히 집어 주셔야지요..

3. 윗 분이 말씀하신 것 처럼, 저도 class를 불러온다는게 무슨 말인지 모르겠네요.
instance(혹은 object)가 생성이 안된다는 말인가요?

4. 단순히 언어에 관한 문제라면, 컴파일러 명칭과 컴파일 에러/런타임 에러를 구체적으로 올려주면 더욱 좋습니다.
클래스설계/프로그램설계의 경우 또 다른 문제겠지요..

* Rectangle는 위키에 의하면
"In Euclidean plane geometry, a rectangle is any quadrilateral with four right angles"
즉 평면 도형인데 구현은 입체(Cube)로 되어 있네요.

* 이 문제에서 상속을 왜 하는지 모르겠습니다. 다형성(polymorphism)을 전혀 고려 안해도 되는데..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.