C 프로그래밍

C언어 프로젝트 23.11.30

Nohsw 2023. 11. 30. 18:18

이 글은 C언어 독학하면서 조그만한 프로그램을 만들어보는 글입니다.
회원가입, 로그인 기능을 만들어보는 코드를 작성해보고 연습하는 개인 블로그이니 질문에 대한 답변은 어려울 수 있습니다. 이해 부탁드립니다.
 
#include <stdio.h>


main() {
char userId[100]; //사용자 아이디
char userPassword[100]; //사용자 비밀번호

printf("userId: "); 
scanf_s("%s", userId, sizeof(userId));
//사용자가 입력한 값 저장. sizeof() 입력 필수. sizeof() 없으면 다음으로 넘어가지 않고 종료됨.
printf("userPassword: ");
scanf_s("%s", userPassword, sizeof(userPassword));

printf("아이디: %s 비밀번호: %s\n", userId, userPassword);
}

23.11.30 C언어 회원가입 만들기

scanf_s에서 문자 입력 시 sizeof()가 꼭 있어야 한다는 것을 알게 되었습니다. 혹시라도 문자 저장 시 다음으로 넘어가지 않고 종료가 되면 sizeof()를 확인해야겠습니다.
 
1차 수정 
#include <stdio.h>

enum loginProgram { //enum을 활용하여 switch를 다른 사람도 알아보기 쉽게 하기 위해 사용
userCreate = 1, //회원가입
userLogin = 2 //로그인
};

struct userInfo { //struct를 이용하여 로그인 정보 저장
char userId[100];
char userPassword[100];
char userCheckPassword[100]; // 사용자가 입력한 비밀번호에 대해서 비밀번호를 한번 더 입력하여 
//비밀번호가 서로 일치하는지 확인하는 변수.
};

main() {
enum loginProgram login_Type;
 //사용자의 선택으로 로그인 프로그램 실행.

struct userInfo userCreateInfo;

printf("[1. 회원가입]\n[2. 로그인]\n");
printf("입력: ");
scanf_s("%d", &login_Type); 
//사용자의 선택 값으로 switch 실행.

printf("\n\n");

switch (login_Type) {
 //enum을 이용하여 다른 개발자도 코드에 대해 쉽게 파악할 수 있도록 case 작성.

case userCreate:
printf("회원가입 화면입니다.\n");

printf("회원가입 할 ID를 입력해주세요.\n");
printf("입력: ");
scanf_s("%s", userCreateInfo.userId, sizeof(userCreateInfo.userId));
 //사용자가 사용할 아이디 입력.

printf("비밀번호를 입력해주세요.\n");
printf("입력: ");
scanf_s("%s", userCreateInfo.userPassword, sizeof(userCreateInfo.userPassword)); 
//사용자가 사용할 비밀번호 1차 입력.

printf("비밀번호를 한번 더 입력해주세요.\n");
printf("입력: ");
scanf_s("%s", userCreateInfo.userCheckPassword, sizeof(userCreateInfo.userCheckPassword)); 
//사용자가 사용할 비밀번호 2차 입력

(아래부터는 수정할 예정. 1차와 2차 비밀번호를 검증하여 같으면 비밀번호 저장이 되야하고 다르면 회원가입 절차를 다시 시작해야하는데 정상적으로 되지않아 수정해서 테스트 해야겠습니다.)

if (userCreateInfo.userPassword == userCreateInfo.userCheckPassword) { 
//1차, 2차 비밀번호 검증하여 if, else로 화면에 출력.

printf("입력한 비밀번호가 다릅니다. 회원가입을 종료합니다.\n");
}
else if (userCreateInfo.userPassword != userCreateInfo.userCheckPassword) {
printf("비밀번호 저장 완료.\n");
printf("입력한 ID는 %s이며, 비밀번호는 %s입니다.\n", userCreateInfo.userId, userCreateInfo.userPassword);
}
else {
printf("오류\n");
}

break;

case userLogin: //로그인
printf("userLogin\n");
break;
}
}

 

'C 프로그래밍' 카테고리의 다른 글

C 프로그래밍 우분투 시작  (2) 2023.12.03
C언어 프로젝트 23.12.03  (4) 2023.12.03
C언어 프로젝트 23.12.02  (2) 2023.12.02
C언어 프로젝트 23.12.01 (1)  (5) 2023.12.01
C언어 프로젝트 23.12.01  (0) 2023.12.01