#include <stdio.h>
#include <stdlib.h>
#define SIZE 100
struct person { //이름과 번호 구조체
char name[15];
char pnumber[15];
char blank[10];
}data[SIZE]; // 구조체 배열 선언
int i=-1; //배열의 인덱스 값
void insert(void); // 입력 함수
void del(void); // 삭제 함수
void list(void); // 목록 함수
void search(void); // 검색 함수
int main(void)
{
FILE *fp;
fp = fopen("numberlist.txt", "a+t ");
int n = 1;
fclose(fp);
while (1) //메뉴를 선택할 때까지 무한히 반복
{
printf("-------------전화번호부----------\n");
printf(" 1.입력\n");
printf(" 2.삭제\n");
printf(" 3,목록\n");
printf(" 4.검색\n");
printf(" 5.종료\n");
printf("----------------------------------\n");
scanf("%d", &n); // 메뉴 번호 사용자로부터 입력받음
switch (n)
{
case 1:
insert();
break;
case 2:
del();
break;
case 3:
list();
break;
case 4:
search();
break;
case 5:
return 0;
default:
printf("잘못 입력하였습니다.\n");
}
}
}
void insert(void) //입력 함수 생성
{
char n[15], pn[15]; //이름과 번호를 저장하는 배열
while (1)
{
i++;
printf("이름을 입력하세요. (종료시 0 입력) \n");
scanf("%s", n);
if (n[0] == '0')
return;
strcpy(data[i].name, n);
printf("전화번호를 입력하세요. \n");
scanf("%s", pn);
strcpy(data[i].pnumber, pn);
FILE *fp;
fp = fopen("numberlist.txt", "a+t");
fprintf(fp, "%s %s\n", data[i].name, data[i].pnumber);
fclose(fp);
}
}
void del(void) //삭제 함수 생성
{
int result;
char n[15], pn[15];
printf("삭제할 이름을 입력하세요. \n");
scanf("%s", n);
for (int s = 0; s < SIZE; s++){
result = strcmp(data[s].name, n);
if (result == 0) {
strcpy(data[s].name, data[s + 1].name);
strcpy(data[s].pnumber, data[s + 1].pnumber);
strcpy(data[s + 1].name, "");
strcpy(data[s + 1].pnumber, "");
printf("삭제가 되었습니다.\n");
i--;
break;
}
}
if (result != 0)
printf("없는 이름입니다.\n");
return;
}
void list(void)
{
if (i == -1){
printf("저장된 번호가 없습니다.\n");
return;
}
for (int j = 0; j < i; j++) {
printf("이름 :%s 전화번호 :%s \n", data[j].name, data[j].pnumber);
}
}
void search(void)
{
int result;
char n[15];
printf("검색할 이름을 입력하시오. \n");
scanf("%s", n);
for (int s = 0; s < SIZE; s++){
result = strcmp(data[s].name, n);
if (result == 0){
printf("이름:%s전화번호:%s \n", data[s].name, data[s].pnumber);
break;
}
}
if (result != 0) {
printf("입력 값에 대한 정보가 없습니다.\n");
}
}
종료했다가 목록 누르면 이전에 저장되있던거 다 불러오는거랑
삭제하면 목록에서 삭제 시키는거 어떻게 해요 ?
아 제발 부탁드립니다.
댓글 0