-----------------------------
파일 제어 프로그램 v1.1
-----------------------------
1. 이름 생성하여 파일에 저장하기
2. 파일에서 이름 읽어오기
3. 프로그램 종료
-----------------------------
메뉴 선택 :
조건1) 1차원 배열 초기값
이름의 1번째 --> "김", "박", "이", "최", "장"
이름의 2번째 --> "바", "사", "아", "자", "차"
이름의 3번째 --> "가", "나", "다", "라", "마"
조건2) 위의 값을 각각 랜덤하게 발생하도록 하여 50개의 풀네임을 생성하여
배열에 저장.
- 순서1) last에서 랜덤하게 1개의 배열 요소값을 선택
- 순서2) first에서 랜덤하게 1개의 배열 요소값을 선택
- 순서3) mid에서 랜덤하게 1개의 값을 선택
- 순서4) 풀네임을 저장할 배열을 생성
- 순서5) 랜덤하게 생성된 3개의 값들을 합쳐서 하나의 전체 이름으로 생성.
조건3) 생성된 풀네임 50개를 파일에 저장.
조건4) 파일에 저장된 이름들을 읽어서 출력할때는 라인별로 출력
Code
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
#include <stdlib.h>
#include <time.h>
int main() {
int choice = 0;
while (1) {
printf("----------------------------\n");
printf("파일 제어 프로그램\n");
printf("----------------------------\n");
printf("1. 이름 생성하여 파일에 저장하기\n");
printf("2. 파일에서 이름 읽어오기\n");
printf("3. 프로그램 종료\n");
printf("----------------------------\n");
printf("메뉴 선택\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("이름을 생성하고 저장합니다.\n");
setlocale(LC_ALL, "");
wchar_t first[] = L"김박이최장";
wchar_t mid[] = L"바사아자차";
wchar_t last[] = L"가나다라마";
wchar_t name[50][3];
for (int i = 0; i < 50; i++) {
//printf("i 의 값 : %d\n", i);
for (int j = 0; j < 3; j++) {
if (j == 0) {
//printf("j 0의 값 : %d\n", j);
name[i][0] = first[rand() % 5];
}
if (j == 1) {
//printf("j 1의 값 : %d\n", j);
name[i][1] = mid[rand() % 5];
}
if (j == 2) {
//printf("j 2의 값 : %d\n", j);
name[i][2] = last[rand() % 5];
}
}
}
printf("이름을 생성과 저장을 완료했습니다.\n");
break;
case 2:
printf("이름을 불러옵니다.\n");
for (int i = 0; i < 50; i++) {
//printf("i 는 %d\n", i);
wprintf(L"%d : %c%c%c\n",i+1, name[i][0], name[i][1], name[i][2]);
}
break;
case 3:
printf("프로그램을 종료합니다.");
exit(0);
break;
}
}
}
#include <wchar.h>
wchar_t ,wprintf
#include <locale.h>
setlocale(LC_ALL, "");
#include <stdlib.h>
rand : 난수를 생성한다.
srand: 난수 생성을 위한 초기값을 설정한다.
#include <time.h>
srand(time(NULL)); 이 필요한 이유는 컴퓨터 내부에 저장된 난수를 초기화 하기 위해서
'C > C 연습' 카테고리의 다른 글
C 3500원 모두 소진 하는 가지 수 (0) | 2022.09.28 |
---|---|
C 10개의 소수를 출력 (0) | 2022.09.28 |
C 연산자 03 (0) | 2022.09.22 |
C 연산자 02 (0) | 2022.09.21 |
C 연산자 01 (0) | 2022.09.21 |