C언어 질문입니다.
조회수 292회
코드는
#define _CRT_SECURE_NO_WARNINGS
#include<string.h>
#include <stdio.h>
void mainmenu(void) {
printf("----------Main Menu----------\n");
printf("1.이름 저장\n");
printf("2.이름 출력\n");
printf("3.이름 삭제\n");
printf("4.프로그램 종료\n");
printf("-----------------------------\n");
}
int main() {
int n = 0, k = 0, i = 0;
char namelist[10][50], name[50];
while (n != 4) {
mainmenu();
scanf("%d", &n);
switch (n)
{
case 1:
{
if (k == 10) {
printf("리스트가 꽉 찼습니다.\n");
break;
}
printf("이름을 입력해 주세요.\n");
scanf("%s", &name);
for (int j = 0; j < k; j++) {
if (strcmp(name, namelist[j]) == 0) {
printf("이미 %s(이)라는 이름이 존재합니다.\n", name);
i++;
}
}
if (i == 0) {
printf("%s(을)를 저장했습니다.\n", name);
strcpy(namelist[k], name);
k++;
i = 0;
}
break;
}
case 2:
{
for (int i = 0; i < k; i++) {
printf("%s\n", namelist[i]);
}
if (k == 0) {
printf("리스트가 비었습니다.\n");
break;
}
break;
}
}
}
}
이건데 중복되는이름을 2번이상 쓰면 이름이 저장이 안되네요 어떻게 하면 될까요?
댓글 입력