◈ Program.c
#include <stdio.h>
#include "Member.h"
#include "EHArray.h"
Member *MakeMember(int nth);
void ExampleSeq();
void ExampleIndex();
int main()
{
ExampleSeq();
ExampleIndex();
return 0;
}
Member *MakeMember(int n)
{
char name[MAX_NAME_LEN+1]="";
printf("%d 번 회원 이름 입력:",n);
scanf_s("%s",name);
return NewMember(n,name);
}
void InputSeq(EHArray *arr);
void ViewSeq(EHArray *arr);
void EndSeq(EHArray *arr);
void ExampleSeq()
{
EHArray *arr = 0;
arr = NewEHArray(0,0);
InputSeq(arr);
ViewSeq(arr);
EndSeq(arr);
}
void InputSeq(EHArray *arr)
{
int num = 0;
Member *member = 0;
printf("생성할 회원 번호:");
scanf_s("%d",&num);
member = MakeMember(num);
EHArrayPushBack(arr,member);
}
void ViewSeq(EHArray *arr)
{
Iterator seek;
Iterator end;
Member *member = 0;
seek = EHArrayBegin(arr);
end = EHArrayEnd(arr);
for(
; seek != end; ++seek)
{
member = (Member *)(*seek);
MemberView(member);
}
}
void EndSeq(EHArray *arr)
{
Iterator seek;
Iterator end;
Member *member = 0;
seek = EHArrayBegin(arr);
end = EHArrayEnd(arr);
for(
; seek != end; ++seek)
{
member = (Member *)(*seek);
DeleteMember(member);
}
DeleteEHArray(arr);
}
EHArray *MakeArray(void);
void InputIndex(EHArray *arr);
void ViewIndex(EHArray *arr);
void EndIndex(EHArray *arr);
void ExampleIndex()
{
EHArray *arr = 0;
arr = MakeArray();
InputIndex(arr);
ViewIndex(arr);
EndIndex(arr);
}
EHArray *MakeArray(void)
{
int max = 0;
printf("최대 관리할 회원 수를 입력하세요.\n");
scanf_s("%d",&max);
return NewEHArray(max,0);
}
void InputIndex(EHArray *arr)
{
int i = 0;
Member *member = 0;
int max =
EHArrayGetCapacity(arr);
for(i=0;
i<max;i++)
{
member = MakeMember(i+1);
EHArraySetAt(arr,i,member);
}
}
void ViewIndex(EHArray *arr)
{
int max = 0;
int i = 0;
Member *member = 0;
max = EHArrayGetCapacity(arr);
for(i=0;
i<max;i++)
{
member = (Member
*)EHArrayGetAt(arr,i);
MemberView(member);
}
}
void EndIndex(EHArray *arr)
{
int max = 0;
int i = 0;
Member *member = 0;
max = EHArrayGetCapacity(arr);
for(i=0;
i<max;i++)
{
member = (Member
*)EHArrayGetAt(arr,i);
DeleteMember(member);
}
DeleteEHArray(arr);
}
'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글
[C언어] 99. 파일 입출력 정리하기 (0) | 2016.04.18 |
---|---|
[C언어] 98. 파일 입출력 ftell, fseek (0) | 2016.04.18 |
[C언어] 97. 바이너리로 파일 입출력 (0) | 2016.04.18 |
[C언어] 96. ASCII 문자로 파일 입출력 (0) | 2016.04.18 |
[C언어] 95. 파일 입출력 - fopen,fclose (0) | 2016.04.18 |
[C언어] 93. 동적 배열 사용 예 - 인덱스로 보관 (0) | 2016.04.18 |
[C언어] 92. 동적 배열 사용 예 - 순차 보관 (0) | 2016.04.18 |
[C언어] 91. 동적 배열 사용 예 - 동적 개체 정의 (0) | 2016.04.18 |
[C언어] 90. 동적 배열 소스 작성 (0) | 2016.04.18 |
[C언어] 89. 동적 배열 헤더 작성 (0) | 2016.04.18 |