<<열혈강의 C 도전 프로그래밍 FOUR 4장 솔루션>>열혈강의 C,도전 프로그래밍,문제풀이,솔루션,소스코드,결과,프로그래밍 문제,주석,해설,프로그래밍 4
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

<<열혈강의 C 도전 프로그래밍 FOUR 4장 솔루션>>열혈강의 C,도전 프로그래밍,문제풀이,솔루션,소스코드,결과,프로그래밍 문제,주석,해설,프로그래밍 4에 대한 보고서 자료입니다.

본문내용

// 선택된 멤버 내용 초기화
{
member[Snum].name[j] = '\0';
member[Snum].number[j/2] = '\0';// .number 변수는 사이즈[10] 이므로
}
member[Snum].regi_flag = NO;
printf("\n삭제되었습니다.\n\n\n");
}
void Search(void)
{
char Sname[20];
int j, Snum = 100;
printf("\n[SEARCH]\n\n");
printf("검색 할 멤버의 이름을 입력하세요 : ");
fgets(Sname, sizeof(char) * 20, stdin);
for (j = 0; j < 30; j++)
{
if (strcmp(member[j].name,Sname) == 0) Snum = j;// 입력된 문자열과 등록된 이름이 같으면
}
if (Snum != 100)
{
Dellf(member[Snum].name);// 문자열의 '\n'까지 출력되는것을 방지하기 위해
Dellf(member[Snum].number);
printf("Name : %s \n", member[Snum].name);
printf("Tel Number : %s \n\n", member[Snum].number);
Addlf(member[Snum].name);// '\n' 복원, 그래야 검색이 되므로
Addlf(member[Snum].number);
}
else printf("\n찾으시는 회원이 없습니다.\n\n\n");
}
void Print(void)
{
int j;
printf("\n\n[Print All Data]\n");
for (j = 0; j < 30; j++)
{
if (member[j].regi_flag == YES)
{
Dellf(member[j].name);// 문자열의 '\n'까지 출력되는것을 방지하기 위해
Dellf(member[j].number);
printf("Name : %s / ", member[j].name);
printf("Tel : %s \n", member[j].number);
Addlf(member[j].name);// '\n' 복원, 그래야 검색이 되므로
Addlf(member[j].number);
}
}
printf("\n\n");
}
void Regi_flag_clear(void)// member.flag = NO 로 초기화, 초기에 등록여부를 모두 '아니오'로....
{
int j;
for (j = 0; j < 30; j++)
{
member[j].regi_flag = NO;// 아니오
}
}
void Record(void)
{
int j;
int state;
FILE* fp;
fopen_s(&fp,"ex7.txt", "wt");// 데이터 파일 개방, 쓰기전용
if (fp == NULL) {
printf("file open error! \n");
abnormal_end = YES;
return;
}
fputs("@", fp);// 데이터가 저장되어 있다는 표식 '@'(파일의 처음에 위치)
for (j = 0; j < 30; j++)// 입력 데이터 파일에 저장
{
fputs(member[j].name, fp);
fputs(member[j].number, fp);
fputc(member[j].regi_flag, fp);
fputs("\n", fp);// 구분을 위해 line feed
}
state = fclose(fp);// 파일 닫기
if (state != 0)
{
printf("file close error! \n");
abnormal_end = YES;
return;
}
}
void Data_load(void)
{
char ch;
int j,k;
int state;
FILE* fp;
fopen_s(&fp, "ex7.txt", "rt");// 파일 개방 , 읽기 전용
if (fp == NULL) {
printf("로드파일 없음 \n");
return;
}
ch = fgetc(fp);// 파일의 첫 문자를 읽어서
if (ch != '\0')// 첫문자가 null이 아니라면
{
for (j = 0; j < 30; j++)
{
k = 0;
do {// \n 혹은 EOF 가 나올때까지 이름 데이터 읽기
ch = fgetc(fp);
member[j].name[k++] = ch;
} while (ch != '\n' && ch != EOF);
k = 0;
do {// \n 혹은 EOF 가 나올때까지 번호 데이터 읽기
ch = fgetc(fp);
member[j].number[k++] = ch;
} while (ch != '\n' && ch != EOF);
ch = fgetc(fp);// 등록여부 데이터 읽기
member[j].regi_flag = ch;
ch = fgetc(fp);// 바로 뒤에 붙은 '\n' 버리기
}
}
state = fclose(fp);// 파일 폐쇄
if (state != 0)
{
printf("file close error! \n");
abnormal_end = YES;
return;
}
}
int main(void)
{
Regi_flag_clear();
Data_load();
int choice;
while (1)
{
printf("---------Menu----------\n");
printf(" 1. Insert\n");
printf(" 2. Delete\n");
printf(" 3. Search\n");
printf(" 4. Print All\n");
printf(" 5. Exit\n");
printf("\nChoose the item :");
scanf_s("%d", &choice);
getchar();
switch (choice)
{
case 1:
Insert();
break;
case 2:
Delete();
break;
case 3:
Search();
break;
case 4:
Print();
break;
case 5:
Record();
if (abnormal_end == YES) return 1;
else return 0;
default:
printf("잘못 입력하셨습니다.\n\n");
}
}
}
- 결과
  • 가격2,000
  • 페이지수31페이지
  • 등록일2016.04.19
  • 저작시기2016.4
  • 파일형식한글(hwp)
  • 자료번호#1000400
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니