[2025.03.16.(일)]

교수님께서 말씀해주신대로 srand()를 처음 한번만 선언해주니까 세상 느렸던 프로그램이 세상 빨라져버림,,,,,헐랭방구.... 난수를 계속 생성해서 그런건가,,, 뭘까,,,, 설마 이게 문제였을거라고는 상상도 못해버렸어요!!!!!!!!!!!
그리고 코드가 반복되는 부분이 존재함(7개 숫자 랜덤 뽑기) 이 부분은 하나로 줄일 수 있을 것 같기도 함. 이것도 나중에 수정해봐야겠음!!!!
★구현하고 싶었는데, 못한 부분
문자를 입력했을 때 경고 문구를 출력하고 재입력하게 하고싶었음.
ctype.h에 있는 isalpha() 함수를 사용해서 하려고함.
이 함수는 대문자는 1, 소문자는 2, 그 이외의 값은 0을 반환한다고 함. getchar()를 이용해서 사용해보려고 했지만,,, 실패했어요 ㅠㅠ 그게 아래에 있는 함수 부분이에요! scanf를 하기전에 getchar() 쓰니까 첫 실행에서 한번이 씹히게 되니까 마음처럼 잘 되지 않았어요.... 조건문을 사용해서 수정해봐야할 것 같습니다!!!
int user_num_input (int input_num_count, int user_num, int user_num_list[6], int len_user_num_list) // 사용자 숫자 입력 함수
{
while(input_num_count < 6) // 사용자 6개 숫자 입력
{
int switch1 = 0;
printf("6개의 숫자를 입력해주세요. : ");
// getchar(); // 문자 입력 처리 ==> 아직 완벽하지 않음.
scanf("%d", &user_num);
// if (isalpha(user_num) != 0) // 문자 입력 처리 ==> 아직 완벽하지 않음.
// {
// printf("다시입력하세요!\n");
// continue;
// }
if (user_num < 1 || user_num > 45) // 범위 외 숫자 입력 처리
{
printf("다시입력하세요!\n");
continue;
}
for (int j = 0 ; j < len_user_num_list ; j++) // 중복숫자 입력 처리
{
if (user_num == user_num_list[j])
{
switch1 = 1;
break;
}
}
if (switch1 == 1)
{
printf("중복된 숫자 입니다. 다시 입력하세요.\n");
continue;
}
user_num_list[input_num_count] = user_num; // 정상 입력 숫자는 배열에 추가
input_num_count++;
}
return user_num_list;
}
'C > 개인프로젝트01 - 로또' 카테고리의 다른 글
[2025.03.15 - 2025.03.16] (주말과제) C언어 로또 프로그램 만들기_개발완료보고서 (0) | 2025.03.17 |
---|---|
[2025.03.15 - 2025.03.16] (주말과제) C언어 로또 프로그램 만들기_1 (0) | 2025.03.17 |