폰카 관리 프로그램

App.h Camera.h Lense.h Library.h Phoneca.h

▲ 소스 보기

#include "App.h"

void main()
{
 App app;

 printf("※ 관리할 최대 폰수 입력 : ");
 app.max_phoneca = GetNum();
 app.base = (Phoneca**) malloc (sizeof(Phoneca*) * app.max_phoneca);
 memset(app.base, 0, sizeof(Phoneca*) * app.max_phoneca);
 app.now_phoneca = 0;

 Choice(&app);
 Exit(&app);
}

int Menu(App *pthis)
{
 system("cls");
 printf("[F1] 폰카 추가\n");
 printf("[F2] 폰카 삭제\n");
 printf("[F3] 폰카 출력\n");
 printf("[ESC] 종료\n\n");
 printf("※ 메뉴 선택 : ");
 return GetKey();
}

void Choice(App *pthis)
{
 int key = 0;

 while((key = Menu(pthis)) != ESC)
 {
  switch(key)
  {
  case F1 :
   PhoneInsert(pthis);
   break;

  case F2 :
   PhoneDelete(pthis);
   break;

  case F3 :
   PhoneList(pthis);
   break;

  case ESC :
   Exit(pthis);
   break;

  default :
   break;
  }
 }
}

void PhoneInsert(App *pthis)
{
 int num = 0;
 printf("폰카 추가 선택!\n\n");
 printf("추가할 번호 입력 : ");
 num = GetNum();

 if(num >= 1 && num <= (*pthis).max_phoneca)
 {
  if(*((*pthis).base + (num-1)) == NULL)
  {
   *((*pthis).base + (num-1)) = NewPhoneca();
   (*pthis).now_phoneca++;
   printf("\n추가 완료!");
  }
  else
  {
   printf("이미 등록된 번호입니다!\n");
  }
 }
 else
 {
  printf("잘못된 번호 입니다!\n");
 }
 getch();
}

void PhoneDelete(App *pthis)
{
 int num = 0;

 printf("폰카 삭제 선택!\n\n");
 printf("삭제할 번호 입력 : ");
 num = GetNum();

 if(*((*pthis).base + (num-1)))
 {
  free(*((*pthis).base + (num-1)));
  printf("\n\n삭제 완료!");
  *((*pthis).base + (num-1)) = NULL;
 }
 else
 {
  printf("등록된 폰카가 없습니다!\n");
 }
 getch();
}

void PhoneList(App *pthis)
{
 int i;

 printf("폰카 출력 선택!\n\n");
 for(i=0; i<(*pthis).max_phoneca; i++)
 {
  if(*((*pthis).base + i))
  {
   printf("%d.", i+1);
   ViewPhoneca(*((*pthis).base+i));
  }
 }
 printf("\n출력 완료!");
 getch();
}

void Exit(App *pthis)
{
 printf("사요하고 나라갑니다^^*\n");
 GetKey();
}

by 유니콘 | 2009/01/23 14:18 | 자료구조 자료 | 트랙백

※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지          다음 페이지 ▶