디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

이렇게 내면 교수가 점수 잘 줄까?

몰르겠다(24.16) 2010.01.21 17:40:26
조회 146 추천 0 댓글 7

// Geometry_Calculator.cpp
// DATE : 21st  Jan., 2010

#include <iostream>
#include <iomanip>
#ifdef __UNIX__ /* UNIX, LINUX, MAC */
        #define CLEARSCREEN "clear"
#else /* WINDOWS */
        #define CLEARSCREEN "cls"
#endif

using namespace std;

typedef void (fCalcAreaOf) (void);
typedef fCalcAreaOf * pfCalcAreaOf;

fCalcAreaOf Circle, Rectangle, Triangle;
template <class number> number AskSafeNumberOfUser();
void DisplayMenu();

enum commands {CIRCLE=1, RECTANGLE, TRIANGLE, QUIT};
const int NUMOFMENUS = 4;
const float PI = 3.14159;

const char * MENU [NUMOFMENUS] =
{
    "1. Calculate the Area of a Circle",
    "2. Calculate the Area of a Rectangle",
    "3. Calculate the Area of a Triangle",
    "4. Quit"
};

const pfCalcAreaOf CalcAreaOf[NUMOFMENUS] = 
{
    &Circle, &Rectangle, &Triangle, NULL
};

int main()
{
    int shape;

    while (1)
    {
        system(CLEARSCREEN);
        DisplayMenu();
        cin >> shape;

        if(!cin)
        {
            cin.clear();
            cin.ignore(numeric_limits<std::streamsize>::max(),\'\\n\');
            cout << "Wrong Command - Try again." << endl;
        }
        else if ( shape < CIRCLE || shape > TRIANGLE )
        {
            if( shape == QUIT )
            {
                cout << "Thanks for playing." << endl;
                break;
            }
            else
            {
                cin.ignore(numeric_limits<std::streamsize>::max(),\'\\n\');
                cout << "Wrong command - Try again. " << endl;
            }
        }
        else
        {
            cout << MENU[shape-1] << endl;
            cout << "---------------------------------" << endl;
            CalcAreaOf[shape-1]();
        }
        cin.get();
    }

    cin.get();
    return 0;
}

void Circle()
{
    float radius;
    cout << "Enter a radius : ";
    radius = AskSafeNumberOfUser<float>();
    cout << fixed << setprecision(4) << "Circle Area of " << radius
        << " radius is " << PI * radius * radius << endl;
}

void Rectangle()
{
    float length, width;
    cout << "Enter a length : ";
    length = AskSafeNumberOfUser<float>();
    cout << "Enter a width : ";
    width = AskSafeNumberOfUser<float>();
    cout << fixed << setprecision(4) << "Rectangle Area of " << length
        << " length * " << width << " width is "
        << length * width << endl;
}

void Triangle()
{
    float base, height;
    cout << "Enter a base : ";
    base = AskSafeNumberOfUser<float>();
    cout << "Enter a height : ";
    height = AskSafeNumberOfUser<float>();
    cout << fixed << setprecision(4) << "Triangle Area of " << base
        << " base * " << height << " height is "
        << base * height / 2 << endl;
}

void DisplayMenu()
{
    int i=0;
    for(i=0;i<NUMOFMENUS;i++)
        cout << MENU[i] << endl;
    cout << endl << "Enter your choice (1 - 4): ";
}

template <class number> number AskSafeNumberOfUser()
{
    number command;
    while (!(cin >> command))
    {
        cin.clear();
        cin.ignore(numeric_limits<std::streamsize>::max(),\'\\n\');
        cout << "Wrong Number - Try again." << endl;
    }
    cin.ignore(numeric_limits<std::streamsize>::max(),\'\\n\');
    return command;
}

예상댓글: enum {몰라, 껒여, 병시나}
프갤이야기: c++?

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
169034 프리랜서인데 몇달일한 급여 떼먹게 생겼음 [11] xenon(210.94) 10.02.02 286 0
169033 어엉..MSE 다운로드 끝났나요 [1] ACCS(119.67) 10.02.02 294 0
169032 네오엠텔 왜이리 오르락 내리락..? [4] 외계달팽갤로그로 이동합니다. 10.02.02 72 0
169031 파리떼 바이러스는 뭘로 잡아영....... [4] ACCS(119.67) 10.02.02 186 0
169030 토사구팽 [1] 중달(121.166) 10.02.02 78 0
169028 알집이 까이는 이유는 ? [6] ㅁㄴㅇㄹㅇ(211.117) 10.02.02 169 0
169027 나 내일 블리자드 코리아 원서 내야할듯 [2] dd(203.229) 10.02.02 404 0
169024 컴갤 자비로우신형님들 포멧하는법좀 가르쳐주세요 [5] 1(210.116) 10.02.02 104 0
169023 소켓프로그래밍 관련 질문 하나 드릴게요 [5] 달리자(203.249) 10.02.02 156 0
169022 이찬진 트위터 언팔로우 했다 [2] ㅇㅇㅃ갤로그로 이동합니다. 10.02.02 232 0
169019 도메인업체 추천을 바랍니다. [5] UTF-8(112.149) 10.02.02 132 0
169018 납치태그좀뚤허주세요 [2] BJ문군k갤로그로 이동합니다. 10.02.02 71 0
169016 디시를 강타한 이 정체모를 것좀 없애주시죠[함부로들어오면 좆됨] 납치태그 [2] BJ문군k갤로그로 이동합니다. 10.02.02 98 0
169015 ASP.NET MVC + Linq 개발 해보신 횽 질문... [3] 물속의다이아갤로그로 이동합니다. 10.02.02 97 0
169014 훃들 잉여수용소라는 프로그램 아나요? [2] 신념이갤로그로 이동합니다. 10.02.02 205 0
169013 노트북을 사려는데.... [7] 파이어울프(122.47) 10.02.02 176 0
169012 10시 30분에 병특면접이었는데... 지금 일어남ㅠㅠㅠㅠㅠㅠ [13] 맥콜(124.61) 10.02.02 292 0
169011 형들 진지하게 질문하나 할게 [5] viano(121.124) 10.02.02 118 0
169010 대구 사는 횽들... [1] rntjr갤로그로 이동합니다. 10.02.02 93 0
169009 아 밑에 쿠키 삭제 법좀 가르쳐 주세요 제발 ㅡㅠ [3] 눈싸라기갤로그로 이동합니다. 10.02.02 148 0
169007 유리한횽이 여친이 생긴다면 그는 닉네임을 바꿔야 마땅하다. [4] 개쉛기갤로그로 이동합니다. 10.02.02 109 0
169006 유리한 여친과 영상통화 장면 ㅇㅇㅃ갤로그로 이동합니다. 10.02.02 119 0
169005 스크 알바들 오늘도 열심히 일하는 듯 오사카(119.194) 10.02.02 54 0
169004 쿠키 삭제법좀... ㅠㅠ [1] 눈싸라기갤로그로 이동합니다. 10.02.02 77 0
169001 형들 나 한글 2007을 못다루겠어요 도와줘요 엉엉 뀨잉뀨잉 살려줘(218.48) 10.02.02 50 0
168999 고딩때 코볼 가르치나... [3] 임베디드(112.150) 10.02.02 146 0
168998 해외 파일박스쪽이나 e북 pdf자료같은 것좀 잘아는횽 [3] McHello갤로그로 이동합니다. 10.02.02 70 0
168997 유리한횽은 봄.니.다. [1] 물속의다이아갤로그로 이동합니다. 10.02.02 94 0
168996 즐거운 아침입니다. 유리한갤로그로 이동합니다. 10.02.02 50 0
168995 파마 했다 Vita500갤로그로 이동합니다. 10.02.02 84 0
168994 c++관련 질문이에요 [6] 어느놈(58.233) 10.02.02 149 0
168993 어제 회사에 엄청난 일이 있었어... [6] 물속의다이아갤로그로 이동합니다. 10.02.02 316 0
168989 형들 프갤은 irc안해여? [1] 개로그갤로그로 이동합니다. 10.02.02 118 0
168988 하루에 글이 이거밖에 안올라옴?? [1] 게으른고수(99.29) 10.02.02 63 0
168987 플밍 초보 질문하나만 받아주세요! [4] AACCS(119.67) 10.02.02 85 0
168986 1횽, xe 쓰기 폼 수정 답변.. [7] 계왕(164.125) 10.02.02 70 0
168985 역대 축구 국대 최고는 [5] 라로(221.147) 10.02.02 127 0
168984 피로토스 형님은 [2] 고추장불고기갤로그로 이동합니다. 10.02.02 95 0
168982 오늘 공부능 하나도안했지만. [4] (180.11) 10.02.02 130 0
168981 31살이란 나이에 웹프로그래밍에 도전하려 합니다. [11] dog(116.45) 10.02.02 339 0
168979 가끔 혼자 상상하는건데 [8] 쭈중이갤로그로 이동합니다. 10.02.02 167 0
168978 집에 있던거 죄다 갖다 파는중. [1] 고추장불고기갤로그로 이동합니다. 10.02.02 74 0
168977 혹시 여기 대기업 다니는 횽들 있어? [2] 계속익명(221.147) 10.02.02 169 0
168976 간만에 겅부하는 DMW [3] DMW(125.138) 10.02.01 113 0
168975 님들아 도와주셈 [6] ㅇㅇ(124.51) 10.02.01 85 0
168974 님들아 도와주세요 [5] ㅇㅇ(124.51) 10.02.01 83 0
168973 써니 [2] 이모군(58.235) 10.02.01 108 0
168972 오늘의 걷기운동. [2] 유리한갤로그로 이동합니다. 10.02.01 82 0
168971 모두에게 미안하다 [4] 유리한갤로그로 이동합니다. 10.02.01 101 0
168970 선배횽들 질문있어요 [19] 계속익명(221.147) 10.02.01 137 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2