목차
없음
본문내용
oid printDB(struct musicDB list[]); // DB출력
void searchDB(struct musicDB list[]); // DB검색
// 저장된 DB수 여러 함수에 이용되기에 전역 변수로 선언(자동으로 0으로 초기화
int cnt;
void main(){
struct musicDB mp3[SIZE]={0}; // 초기화
int menu;
while(1){
printf("===============\n");
printf("1. 추가\n");
printf("2. 삭제\n");
printf("3. 출력\n");
printf("4. 검색\n");
printf("5. 종료\n");
printf("===============\n");
printf("메뉴를 입력하시오: ");
scanf("%d", &menu);
fflush(stdin);
// 버퍼 비우기(비우지 않으면 입력시 사용한 ‘\n’이 영향을 미침
if(menu==1){
createDB(mp3);
printf("성공적으로 삽입되었습니다.\n");
}
else if(menu==2)
deleteDB(mp3);
else if(menu==3)
printDB(mp3);
else if(menu==4)
searchDB(mp3);
else
break; // 프로그램 마침
if(menu>=3 && menu<=4)
Sleep(2000); // 2초간 멈춤
else
Sleep(1000); // 1초간 멈춤
system("cls"); // 한 번 실행이 끝날 때 마다 화면 지우기
}
}
void createDB(struct musicDB list[]){ // DB추가 후 cnt를 1늘림
printf("제목 : ");
gets(list[cnt].title);
printf("가수 : ");
gets(list[cnt].artist);
printf("저장된 위치 : ");
gets(list[cnt].directory);
printf("분류(가요, 팝, 클래식, 영화음악) : ");
gets(list[cnt].group);
cnt++;
}
void deleteDB(struct musicDB list[]){
char delTitle[CHAR];
int i, j;
printf("삭제할 파일의 제목을 입력하시오. : ");
gets(delTitle);
// 삭제할 파일 이름과 일치하는 DB를 찾아서 삭제(다음 DB를 앞으로 땡겨서 덮어쓰기)
for(i=0; i
if(strcmp(list[i].title, delTitle)==0){
for(j=i; j
strcpy(list[j].title, list[j+1].title);
strcpy(list[j].artist, list[j+1].artist);
strcpy(list[j].directory, list[j+1].directory);
strcpy(list[j].group, list[j+1].group);
}
cnt--;
printf("성공적으로 삭제되었습니다.\n");
break;
}
}
if(i>cnt) // 해당 DB가 없을 경우 실패 메시지 출력
printf("찾을수 없습니다.\n");
}
void printDB(struct musicDB list[]){
int i;
for(i=0; i
printf("제목 : %s\n", list[i].title);
printf("가수 : %s\n", list[i].artist);
printf("저장된 위치 : %s\n", list[i].directory);
printf("분류 : %s\n", list[i].group);
}
}
void searchDB(struct musicDB list[]){
char schDB[CHAR];
int i, j=0;
printf("검색할 파일의 제목을 입력하시오. : ");
gets(schDB);
// 검색할 파일 이름과 일치하는 DB를 찾아서 출력
for(i=0; i
if(strstr(list[i].title, schDB)){
printf("제목 : %s\n", list[i].title);
printf("가수 : %s\n", list[i].artist);
printf("저장된 위치 : %s\n", list[i].directory);
printf("분류 : %s\n", list[i].group);
j++;
}
}
if(j==0) // 해당 DB가 없을 경우 실패 메시지 출력
printf("찾을수 없습니다.\n");
}
void searchDB(struct musicDB list[]); // DB검색
// 저장된 DB수 여러 함수에 이용되기에 전역 변수로 선언(자동으로 0으로 초기화
int cnt;
void main(){
struct musicDB mp3[SIZE]={0}; // 초기화
int menu;
while(1){
printf("===============\n");
printf("1. 추가\n");
printf("2. 삭제\n");
printf("3. 출력\n");
printf("4. 검색\n");
printf("5. 종료\n");
printf("===============\n");
printf("메뉴를 입력하시오: ");
scanf("%d", &menu);
fflush(stdin);
// 버퍼 비우기(비우지 않으면 입력시 사용한 ‘\n’이 영향을 미침
if(menu==1){
createDB(mp3);
printf("성공적으로 삽입되었습니다.\n");
}
else if(menu==2)
deleteDB(mp3);
else if(menu==3)
printDB(mp3);
else if(menu==4)
searchDB(mp3);
else
break; // 프로그램 마침
if(menu>=3 && menu<=4)
Sleep(2000); // 2초간 멈춤
else
Sleep(1000); // 1초간 멈춤
system("cls"); // 한 번 실행이 끝날 때 마다 화면 지우기
}
}
void createDB(struct musicDB list[]){ // DB추가 후 cnt를 1늘림
printf("제목 : ");
gets(list[cnt].title);
printf("가수 : ");
gets(list[cnt].artist);
printf("저장된 위치 : ");
gets(list[cnt].directory);
printf("분류(가요, 팝, 클래식, 영화음악) : ");
gets(list[cnt].group);
cnt++;
}
void deleteDB(struct musicDB list[]){
char delTitle[CHAR];
int i, j;
printf("삭제할 파일의 제목을 입력하시오. : ");
gets(delTitle);
// 삭제할 파일 이름과 일치하는 DB를 찾아서 삭제(다음 DB를 앞으로 땡겨서 덮어쓰기)
for(i=0; i
for(j=i; j
strcpy(list[j].artist, list[j+1].artist);
strcpy(list[j].directory, list[j+1].directory);
strcpy(list[j].group, list[j+1].group);
}
cnt--;
printf("성공적으로 삭제되었습니다.\n");
break;
}
}
if(i>cnt) // 해당 DB가 없을 경우 실패 메시지 출력
printf("찾을수 없습니다.\n");
}
void printDB(struct musicDB list[]){
int i;
for(i=0; i
printf("가수 : %s\n", list[i].artist);
printf("저장된 위치 : %s\n", list[i].directory);
printf("분류 : %s\n", list[i].group);
}
}
void searchDB(struct musicDB list[]){
char schDB[CHAR];
int i, j=0;
printf("검색할 파일의 제목을 입력하시오. : ");
gets(schDB);
// 검색할 파일 이름과 일치하는 DB를 찾아서 출력
for(i=0; i
printf("제목 : %s\n", list[i].title);
printf("가수 : %s\n", list[i].artist);
printf("저장된 위치 : %s\n", list[i].directory);
printf("분류 : %s\n", list[i].group);
j++;
}
}
if(j==0) // 해당 DB가 없을 경우 실패 메시지 출력
printf("찾을수 없습니다.\n");
}
소개글