C++가계부
본 자료는 7페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
해당 자료는 7페이지 까지만 미리보기를 제공합니다.
7페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

C++가계부에 대한 보고서 자료입니다.

목차

I. 프로그램 개요
1. 프로그램 목적
2. 프로그램의 설명&활용도.

II. 주차별 계획 및 진행과정
1. 조원별 역할 분담
2. 진행과정

III. Code
1. Source File
2. Header File

IV. 실행화면
1. 초기 main화면
2. 항목, 수입, 지출의 입력부분 실행
3. 입력된 내용 확인 파일로 저장
4. 저장된 Text File 확인
5. 프로그램의 종료
6. 최종 프로그램 구현

본문내용

수를 호출한다
ShowAll();
break;
}
case MENU_QUIT : //종료
{
// 사용한 리소스를 정리한다.
Teardown();
cout<<"\n프로그램을 종료합니다.\n";
}
return 0;
}
}
return 0;
}
4) menu.cpp : 메인메뉴
#include "menu.h" //열거체를 사용하기위하여 해더파일을 포함시킨다
#include
using namespace std;
MENU ShowMenu() //메뉴를 보여주는 함수이다
{ //올바른 메뉴를 고를 때까지 반복한다
while(1)
//잘못된 입력이 들어온 경우에 다시 선택을 요구하기 위해 반복명령 사용한다
{
//메뉴보여주기
cout<<"\n|-------------- 메뉴 -------------|\n";
cout<<"|1. 수입,항목,지출 입력하기 |\n";
cout<<"|2. 전체 수입, 지출, 총 합계 보기 |\n";
cout<<"|Q. 프로그램 종료 |\n";
cout<<"|---------------------------------|\n\n";
cout<<"원하는 작업의 번호를 입력하세요 : ";
//작업 입력받기
char select;
cin>> select;
switch(select)
{
case '1':
return MENU_ADD_DATA;
//사용자의 입력을 MENU 열거체 심볼로 바꿔서 반환한다
case '2':
return MENU_SHOW_ALL;
case 'q':
case 'Q':
return MENU_QUIT;
default: //잘못된 입력이 들어온 경우 다시 반복을 시작한다
cout <<"\n올바른 값을 입력해 주세요.\n";
break;
}
}
return MENU_QUIT;
//이문장은 실행될 수 없다. while명령을 빠져나오지 못하기 때문이다
}
//하나하나의 데이터를 보관할 구조체를 정의 한다
2. 헤더 파일
1) data.h
#ifndef DATAS_H //헤더파일을 두 번 포함하는 경우의 해결
#define DATAS_H //헤어파일의 심볼을 만든 후 다음두개의 명령어를 추가한다
bool AddData();
void ShowAll();
//데이터 추가와 입력한 데이터를 보여주는 함수를 정의 해놓은 해더파일이다
void Setup();
void Teardown();
#endif //마지막에 endif 추가
2) list.h
#ifndef LIST_H
#define LIST_H
// 데이타 제거를 위한 함수의 포인터
typedef void (*FN_DELETE)(void* );
// 하나의 데이타를 보관할 구조체
struct Node
{
Node* prev; // 이전 Node 구조체
Node* next;// 다음 Node 구조체
void* data;// 데이타에 대한 포인터
};
// 전체 리스트를 관리하는 구조체
struct List
{
Node* head;// 헤드 노드
FN_DELETE fnDel;// 데이타 제거시 호출할 함수
};
List* CreateList(FN_DELETE fnDelete);
void RemoveList(List* list, bool deleteData);
Node* GetTail(List* list);
void InsertNodeAfter(Node* node, void* data);
void RemoveNode(Node* node);
Node* GetNext(Node* node);
Node* GetPrev(Node* node);
void* GetData(Node* node);
#endif
3) menu.h
#ifndef MENU_H
#define MENU_H
//Data와 마찬가지로 중복의 에러를 피하기위해서 심볼을 만들어 정의한다
//열거체를 사용하기 인전에 열거체 헤더파일을 만든다
enum MENU {MENU_ADD_DATA, MENU_SHOW_ALL, MENU_QUIT};
MENU ShowMenu(); //메뉴를 보여주는 함수를 정의해 놓은 해더파일이다
#endif
IV. 실행화면
1. 초기 메인화면
< 초기 메인화면 >
2. 항목, 수입, 지출의 입력부분 실행
< 1. 항목, 수입, 지출 입력하기 메뉴 실행 화면 >
3. 입력된 내용의 확인 파일로 저장
< 입력된 내용을 확인하는 창 (자동text파일로 저장) >
4. 저장된 Text File 확인
< Text File로 저장된 내용 >
5. 프로그램의 종료
< 3. 프로그램 종료 실행 시 화면 >
6. 최종 프로그램 구현 화면
< 프로그램 최종 확인 >
V. Project를 마치며...
처음에는 스택과 링크드리스트에 관한 지식이 없어 어려움을 겪었지만 교수님께서 올려주신 보강자료와 조원들과 꾸준한 스터디와 회의를 통해 어느 정도 알 수 있어 응용프로그램을 구현할 수 있었다. 많은 시행착오를 겪고 최종으로 우리가 구현한 프로그램이 잘 작동되는 것을 보니 뿌듯했다. 조장으로써 조원들을 잘 이끌지는 못했지만 서로 도와가면서 열심히 한 것 같다. 조원들이 열심히 해주었기 때문에 무리 없이 진행할 수 있었고 이번 프로젝트가 c++에 관하여 나에게 많은 도움을 주었다.
프로젝트의 주제를 정하는데 많은 어려움이 있었고 이를 구현하는데도 많은 어려움이 있었다. 하지만 조원들과 모르는 부분을 찾아보고 서로 이야기하며 정보를 나누고 새로운 것을 배울 수 있는 기회였다. 서로의 부족한 부분을 채워가면서 프로그램을 완성시킬 수 있었고 미흡하게 느껴지기도 하지만 새로운 응용프로그램을 하나 만들었다는데 큰 의미를 가질 수 있었다. 개개인의 능력으로는 힘들었을 프로젝트를 잘 마무리 할 수 있었던 것은 조원들의 노력과 많은 도움이 있었기 때문이다. 팀워크, 그리고 모르는 지식들을 배울 수 있는 기회였다.
링크드 리스트는 솔직히 아직 배우지 않았던 부분이라 직접 구현하는데 애를 많이 먹었다. 내가 구현했던 텍스트 파일로의 출력 및 저장부분은 본 강의의 교재 및 열람실의 여러 도서를 참고하여 비교적 쉽게 구현이 가능했다. 이번 프로젝트를 통하여 비록 비교적 간단한 프로그램이지만 여러 가지 C++ 프로그래밍 기법과 기능을 배울 수 있어서 매우 유익했다.

키워드

  • 가격5,000
  • 페이지수22페이지
  • 등록일2011.09.28
  • 저작시기2010.10
  • 파일형식한글(hwp)
  • 자료번호#704608
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니