c언어 관련 질문 드립니다.
-
게시물 수정 , 삭제는 로그인 필요
구조체를 이용하여 주소록 제작연습중인데 현제 검색기능에서 구조체배열의 0번만 검색이 가능합니다 그외 이름은 검색이 불가능하구요 다른방법으로 구현은 가능하나 현제 상태의 코드에서 무엇이 문제인지 모르겠어서 질문드립니다. c언어 고수분들 도와주세요!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
char adres[100];
char number[20];
char name[20];
char bus[20];
}info;
void all(info* a, int count); //목록보기
void add(info* a, int count); //추가
void such(info* a); //검색
void main()
{
int count = 0, inum = 0;
info a[20] = { 0 };
while (1)
{
printf("1.목록보기 2.추가 3.검색 4.삭제 5.종료\n");
scanf("%d", &inum);
getchar();
switch (inum)
{
case 1:
all(a, count);
break;
case 2:
if (count > 20) printf("더이상 추가할수 없습니다.");
add(&a[count], count);
count++;
break;
case 3:
such(a);
break;
case 5:
exit(0);
break;
default:
printf("없는 번호 입니다.");
break;
}
}
}
void all(info* a,int count) //목록보기
{
int i;
printf(" 이름\t 전화번호\t주소\t생일\n");
printf("\n");
for (i = 0; i < (count+1); i++)
{
printf(" %s\t %s\t%s\t%s\n", a[i].name, a[i].number, a[i].adres, a[i].bus);
}
}
void add(info* a,int count) //추가
{
printf("이름 : ");
gets_s(a->name,sizeof(a->name));
printf("전화번호 : ");
gets_s(a->number,sizeof(a->name));
printf("주소 : ");
gets_s(a->adres, sizeof(a->adres));
printf("생일 : ");
gets_s(a->bus, sizeof(a->bus));
}
void such(info* a)
{
char _name[20];
printf("이름을 입력해주세요 : ");
gets_s(_name, sizeof(_name));
if (strcmp(a->name, _name) == 0)
{
printf(" 이름\t 전화번호\t주소\t생일\n");
printf(" %s\t %s\t%s\t%s\n", a->name, a->number, a->adres, a->bus);
}
else
printf("없는 정보 입니다.\n");
}
#c언어 관련 자격증 #c언어 관련 책 #c언어 관련 직업 #c언어 관련 문제