[[C++/자료구조]] try-catch를 이용한 stack 프로그램

  • 등록일 / 수정일
  • 페이지 / 형식
  • 자료평가
  • 구매가격
  • 2007.11.20 / 2019.12.24
  • 6페이지 / fileicon zip (압축파일)
  • 평가한 분이 없습니다. (구매금액의 3%지급)
  • 1,000원
다운로드장바구니
Naver Naver로그인 Kakao Kakao로그인
[[C++/자료구조]] try-catch를 이용한 stack 프로그램
목차
Ⅰ. 프로그램 설계 구현에 관한 설명
1. 목적 프로그램
2. try-catch의 사용법 및 if-else문과의 비교
2. Stack의 pop, push 함수의 구현 방식
Ⅱ. 프로그램 소스
Ⅲ. 테스트 방법 및 실행결과
1. 테스트 데이터
2. 삽입 결과
3. 삭제 결과
Ⅳ. 느낀점 및 기타
본문내용
Ⅰ. 프로그램 설계 구현에 관한 설명
1. 목적 프로그램
Exception handling을 이용한 stack 프로그램을 구현한다. 스택 class는 pop, push 및 생성자, 파괴자를 제외한 어떠한 메소드도 사용하지 않는다.

2. try-catch의 사용법 및 if-else문과의 비교
스택을 구현하기 앞서 생각해야 할 점은 예외처리를 어떠한 방식으로 해줄 것인가이다. 스택의 정의에 의하면, 삽입되는 아이템은 스택의 상단으로만 들어가며, 주어진 공간을 모두 사용한 경우는 더 이상 삽입이 이루어지면 안된다. 또한 삭제를 수행할 때에도 삽입된 아이템이 없다면 삭제를 수행하면 안된다. 이러한 점은 스택의 상단부를 표시하는 변수 top의 현재위치를 이용한 예외처리로 해결할 수 있다.

이번 프로그램에서는 위와 같은 예외처리를 다른 함수를 이용하거나, if-else문을 이용하지 않고 해결해야 하는데, C++에서는 exception handling을 위한 try-catch를 제공하고 있다. try-catch는 그 결과에 있어서는 if-else문과 동일하지만, 동작에 있어서는 약간의 차이가 있다. 가장 큰 차이는 구문 수준에서 동작과 블록 수준에서의 동작이라고 할 수 있다. try와 같은 경우 지정된 에러가 발생하면 해당하는 블록을 종료하고 catch 블록으로 건너띄어 버린다. 그러나 if-else문의 경우는 구문만이 종료하므로 에러가 발생한 객체가 유지되어 그에 대한 참조가 발생하게 되는 문제를 발생시킨다. 하지만 try-catch의 경우는 블록 자체를 종료하므로 에러가 발생한 객체도 자연히 소멸하게 되는 것이다. 즉, try 블록 안에서 예외를 발생했을 수 있는 객체의 참조를 원천적으로 봉쇄하게 되어 결과적으로 if-else문에 비해 안전한 코드가 될 수 있는 것이다.

try-catch는 아래와 같은 방식으로 사용한다.
try {
//예외가 발생할 수 있는 구역
//만약에, 예외가 발생하면,
//catch 구역에 예외를 던져준다. throw 예외덩어리;
//예외를 던지고 나면, 그 밑에 코드는 실행하지 않고 뛰어넘는다.
}
catch(예외를 받아서) //던져진 예외덩어리랑 자료형이 같아야한다.
{
//예외가 발생했을 때에 대한 적절한 코딩을 해준다.
}
위에서 확인할 수 있듯이 예외를 던져주면, 그 아래의 코드는 실해되지 않고 블록이 종료된다는 점에서 if-else문 보다 안전성을 보장해줄 수 있는 것이다.
자료평가
    아직 평가한 내용이 없습니다.
회원 추천자료
  • C언어로 쉽게 풀어쓴 자료구조 연습문제 답
  • 프로그램을 작성하시오.int ack(int m, int n) if (m 0) return( n + 1 );if (n 0) return( ack(m - 1, 1) );return( ack(m - 1, ack(m, (n - 1))) );(c) 위의 순환적인 프로그램을 for, while, do와 같은 반복구조를 사용한 비순환적 프로그램으로 바꾸시오.int ack2(int m, int n)while (m != 0)if (n 0)n = 1;elsen = ack2(m, n-1);m = m - 1;return n+1;20. 본문의 순환적인 피보나치 수열 프로그램과 반복적인 피보나치 수열 프로그램의 수행 시간을 측정하여 비교하라. 어떤 결론을 내릴 수 있

  • [졸업][컴퓨터공학] Microsoft Visual Basic 6.0과 Visual Basic .NET의 호환성 분석
  • C++.NET, Visual C#.NET 등의 언어를 동일한 환경에서 작업할 수 있도록 통합되었다.Visual Basic 6.0까지는 소프트웨어 Visual Basic 6.0을 구입하여야 응용 프로그램을 개발할 수 있었다. 그러나 Visual Basic .NET 언어로 응용 프로그램을 만들기 위해 Visual Basic .NET 소프트웨어가 반드시 필요한 것은 아니다. 실제로 코드를 실행하는 능력은 .NET Framework에 포함되어 있으므로, 메모장과 같은 단순한 편집기를 이용하여 코드를 작성하고, .NET Framework SDK) Microsoft .NET Framework So

  • [자바,정보처리,기사,실기,알고리즘] 자바로 배우는 기초 알고리즘
  • 프로그램을 작성하는데 있어서 문제 해결을 위한 논리적인 순서만 완전히 수립되면 컴퓨터 언어를 이용하여 코딩 등의 나머지 작업은 대수롭지 않은 것이기 때문에 프로그램 의 형태는 컴퓨터 기종이나 컴퓨터 언어에 따라 다르지만 이것을 유도하는 논리적인 방식에는 차이가 없어 완성된 순서도는 모든 컴퓨터에 적용될 수 있기 때문에 순서도가 업무를 처리하는데 있어서 가장 중요한 자료 중에 하나이다. 컴퓨터에 있어서 순서도는 프로그램을 작

  • 면접 IT 계열 기술 면접 대비 질문 모음 면접 기출문제 예상답변
  • 자료들을 쉽고 빠르게 추가, 수정, 삭제 할 수 있도록 해주는 소프트웨어이다. 데이터베이스 내의 정보를 검색하거나 데이터베이스에 정보를 저장하기 편리하고 효율적인 환경을 제공하는 것이 목적이다. DBMS의 기능은 크게 세가지 기능으로 나눌 수 있다. 구성기능과 조작기능, 제어기능이다. 먼저 구성기능은 데이터베이스에 저장될 자료의 구조와 응용 프로그램이 그것을 이용하는 방식을 정의 하는 것으로 레코드 구조의 정의, 데이터 보형의 정의

  • 자료구조가 컴퓨터공학의 미치는 영향
  • 프로그램 수행 시간을 최소화하는 기 능을 수행한다.2) 자료구조의 분류 이상진, 『열혈강의 자료구조』, 서울: 프리렉, 2010, pp.67-82.자료의 형태에 따라 분류하면 크게 단순 구조, 선형 구조, 비선형 구조, 파일 구조 4가지 로 나눌 수 있다.(1) 단순 구조정수, 실수, 문자와 문자열 등의 프로그래밍 언어에서 제공하는 기본적인 데이터 타입을 말한다.(2) 선형 구조각각의 자료들 사이의 앞뒤 관계가 일대일(1:1)인 경우를 말하며, 리스트(list), 스택(stack),

오늘 본 자료 더보기
  • 오늘 본 자료가 없습니다.
  • 저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터에 신고해 주시기 바랍니다.
    사업자등록번호 220-06-55095 대표.신현웅 주소.서울시 서초구 방배로10길 18, 402호 대표전화.02-539-9392
    개인정보책임자.박정아 통신판매업신고번호 제2017-서울서초-1806호 이메일 help@reportshop.co.kr
    copyright (c) 2003 reoprtshop. steel All reserved.