목차
19.프로젝트
20.배열
19.프로젝트
프로젝트를 하기전에 항상 적는 int main (void)에 대해서 다시한번 복습해보겠습니다.
int > int 형으로 정수형 자료를 반환 그래서 return 0을 해주는 겁니다.
void(전달값이 없는)main이라는 함수 이름
이제 프로젝트를 만들겠습니다.
조건은 다음과 같습니다.
문이 5개가 있고, 각 문마다 점점 어려운 수식 퀴즈가 출제 (랜덤)
맞히면 통과, 틀리면 실패
#include <stdio.h>
#include <time.h>
int getRandomNumber(int level);
void showQuestion(int level, int num1, int num2);
void success();
void fall();
int main(void)
{
srand(time(NULL));
int count = 0; // 맞힌 문제 갯수
for (int i = 1; i <= 5; i++)
{
int num1 = getRandomNumber(i);
int num2 = getRandomNumber(i);
/*printf("%d x %d ?", num1, num2);*/
showQuestion(i, num1, num2);
int answer = -1;
scanf_s("%d", &answer);
if (answer == -1)
{
printf("프로그램 종료\n");
exit(0); // 프로그램 바로 종료
}
else if (answer == num1 * num2)
{
//성공
success();
count++;
}
else
{
//실패
fall();
}
}
printf("\n\n 당신은 5개의 비밀번호 중 %d 개를 맞쳤습니다.\n",count);
return 0;
}
int getRandomNumber(int level)
{
return rand() % (level * 7) + 1;
}
void showQuestion(int level, int num1, int num2)
{
printf("\n\n\n######### %d 번째 비밀번호 #########\n", level);
printf("\n\t%d x %d 는?\n\n", num1, num2);
printf("####################################\n");
printf("\n비밀번호를 입력하세요 (종료 : -1) >> ");
}
void success()
{
printf("\n >> Good ! 정답입니다. \n");
}
void fall()
{
printf("\n >> 땡! 틀렸습니다. \n");
}
20.배열
배열이란 같은 종류의 여러 데이터를 한 줄에 깔끔하게 정리해 놓는 상자라고 생각하시면 이해하기 쉽습니다.
배열을 선언하는 방법은 자료형과 크기를 함께 정의하고 선언합니다.
예) (점수를 저장하는 배열) int score[5] = {50,60,25,10,80}
// 여러 개의 변수를 함께, 동시에 생성
int subway_array[3];
subway_array[0] = 30;
subway_array[1] = 40;
subway_array[2] = 50;
for (int i = 0; i < 3; i++)
{
printf("지하철 %d호차에 %d 명이 타고 있습니다.\n", i + 1, subway_array[i]);
}
근데 만약 배열의 값을 초기화를 하지 않으면 더미값(쓰레기값)이 들어가게 됩니다.
int arr[10];
for (int i = 0; i < 10; i++)
{
printf("%d\n", arr[i]);
}
return 0;
따라서 무조건 값은 초기화를 해야합니다.
그리고 배열 크기는 항상 상수로 선언합니다.
근데 만약 아래와 같이 배열의 값을 일부분만 초기화를 시켜주면 어떻게 나올까요?
int arr[10] = { 1,2 };
for (int i = 0; i < 10; i++)
{
printf("%d\n", arr[i]);
}
return 0;
그외 나머지 값은 0으로 나오게 됩니다.
float arr_f[5] = { 1.0f,2.0f,3.0f};
for (int i = 0; i < 5; i++)
{
printf("%.2f\n", arr_f[i]);
}
float 값도 0.00으로 나오게 됩니다.
'C' 카테고리의 다른 글
C언어(8) 기초8 (0) | 2024.11.18 |
---|---|
C언어(7) 기초7 (0) | 2024.11.16 |
C언어(5) 기초5 (0) | 2024.11.12 |
C언어(4) 기초4 (0) | 2024.11.11 |
C언어(3) 기초3 (0) | 2024.11.08 |