C 12

C언어 (12)

고양이 수집 게임 프로젝트 typedef struct { char* name; // 이름 int age; // 나이 char* character; // 성격 int level; // 키우기 난이도 (1~5 5가 어려움)} CAT;int collection[5] = { 0,0,0,0,0 };CAT cats[5];void initCats();void printCat(int selected);int main(void){ srand(time(NULL)); initCats(); while (1) { printf("두근두근~! 어느 고양이의 집사가 될까요?\n아무 키나 눌러서 확인하세요!"); getchar(); int selected = rand() % 5; // 0~4 사이의 숫자 반환 printCat(..

C 2024.11.23

C언어(11)

구조체 구조체란 여러 자료형을 가진 변수들을 하나로 묶어 자료형으로 사용할 수 있도록 정의하는 것을 말합니다. 선언하는 방법struct Gamelnfo { char* name; int year; int price; char* company;}; 사용법 struct Gamelnfo gamelnfo1;gamelnfo1.name = "나도게임";gamelnfo1.year = 2017;gamelnfo1.price = 50;gamelnfo1.company = "나도회사";printf("-- 게임 출시 정보 --\n");printf(" 게임명 : %s\n", gamelnfo1.name);printf(" 발매년도 : %d\n", gamelnfo1.year);printf(" 가격 : %d\n", gam..

C 2024.11.21

C언어(10)

다차원 배열   다차원 배열이란 2차원 이상의 배열을 의미하며, 배열 요소로 또 다른 배열을 가지는 배열을 의미합니다.  이런식으로 int arr2[2] [5]를 해준다는 것은5개짜리 배열이 2개 있다는 소리입니다. 3차원 배열도 있습니다. 선언하는 방법은int arr2[2][5] = { { 1, 2, 3, 4, 5 }, { 1, 2, 3, 4, 5 }}; // 2차원 배열int arr4[3][3][3] = {{ {1,2,3}, {1,2,3}, {1,2,3}},{ {1,2,3}, {1,2,3}, {1,2,3}},{ {1,2,3}, {1,2,3}, {1,2,3} }}; // 3차원 배열 2차원 배열을 사용하는 방법입니다. int arr3[4][2] = { {1,2}, {3,4}, {5,6}, {7,8}};..

C 2024.11.20

C언어(9)

프로젝트 물고기 키우기 게임을 c언어로 작성해보겠습니다.시간이 지날수록 어항에 물이 점점 줄어들고 계속해서 클릭을 해서 물을 채워넣어야함.레벨이 올라갈수록 물이 줄어드는 속도가 빨라지고, 레벨 5가 되면 클리어, 만약 모든 물고기가 죽으면 게임오버.  #include #include int level;int arrayFish[6];int* cursor;void initData();void printfFishes();void decreaseWater(long elapsedTime);int main(void){ long startTime = 0; // 게임 시작 시간 long totalElapsedTime = 0; // 총 경과 시간 long prevelapsedTime = 0; // 직전 경과 시간 in..

C 2024.11.19

C언어(8) 기초8

목차23. 포인터  23. 포인터 C언어에서 모든 변수는 메모리상 주소를 가지고 있습니다. 메모리는 데이터를 저장하는 공간으로, 그 위치를 식별할 수 있어야 합니다. 변수의 메모리 주소를 구하기 위해서는 변수 앞에 &(주소 연산자)를 붙입니다. 메모리 주소는 각 컴퓨터마다 다르고, 실행할때마다도 달라집니다.int 철수 = 1;int 영희 = 2;int 민수 = 3;printf("철수네 주소 : %d, 암호 : %d\n", &철수, 철수);printf("영희네 주소 : %d, 암호 : %d\n", &영희, 영희);printf("민수네 주소 : %d, 암호 : %d\n", &민수, 민수); int 철수 = 1;int 영희 = 2;int 민수 = 3;printf("철수네 주소 : %d, 암호 : %d\n", ..

C 2024.11.18

C언어(7) 기초7

목차21.문자열22.프로젝트  21.문자열  문자열을 배열로 만들어보겠습니다. char str[6] = "coding"; // [c] [o] [d] [i] [n] [g]printf("%s\n", str); 이상한 값이 출력됩니다. 왜 그럴까요? 바로 문자열 끝에는 끝을 의미하는  NULL문자 (\0)을 써줘야 하기 때문입니다.그런데 coding 은 6글자 라서 6칸이 필요한데 어떻게 하면될까요? 그냥 간단하게 배열을 1칸 더 추가해주시면 됩니다.char str[7] = "coding"; // [c] [o] [d] [i] [n] [g] 끝에 자동으로 [\0] 값이 들어감printf("%s\n", str);return 0; 그럼 이제 한글과 영어의 문자열 차이점을 알아보겠습니다. char str[] = "나..

C 2024.11.16

C언어(6) 기초6

목차19.프로젝트20.배열  19.프로젝트  프로젝트를 하기전에 항상 적는 int main (void)에 대해서 다시한번 복습해보겠습니다.int > int 형으로 정수형 자료를 반환 그래서 return 0을 해주는 겁니다.void(전달값이 없는)main이라는 함수 이름 이제 프로젝트를 만들겠습니다. 조건은 다음과 같습니다.문이 5개가 있고, 각 문마다 점점 어려운 수식 퀴즈가 출제 (랜덤)맞히면 통과, 틀리면 실패 #include #include int getRandomNumber(int level);void showQuestion(int level, int num1, int num2);void success();void fall();int main(void){ srand(time(NULL)); int ..

C 2024.11.13

C언어(5) 기초5

목차18. 함수   18. 함수  함수를 선언 할때는 먼저main 함수 위쪽에서 선언을 해주고, 예) void a(int num);main 함수 아래쪽에서 똑같은 함수 선언문을 중괄호로 감싸줍니다.예) void a(int num) {   } void p(int num); // 선언int main(void){ int num = 2; p(num); num = num + 3; p(num); num -= 1; p(num); num *= 3; p(num); num /= 6; p(num); return 0;}// 정의void p(int num){ printf("num은 %d 입니다.\n", num);} 함수의 생김새는 반환형 함수이름 (전달값){ }으로 구성되어있습니다. 반환형에 int,float,char,등 여러..

C 2024.11.12

C언어(4) 기초4

목차12. if else13. break countinue14. and or15. 랜덤16. switch case17. 프로젝트  12. if else우선 버스를 탄다고 가정하고 나이별로 학생 또는 일반인으로 구분하는코드를 작성해 봅시다.int age = 25;// if (조건) { ... } else { ... }if (age >= 20){ printf("일반인 입니다.\n");} else{ printf("학생입니다.\n");}그런데 만약초등학생 / 중학생 / 고등학생으로 나눌려면 어떻게 해야할까요? 이럴때 else if 를 사용합니다.// 초등학생(8-13) / 중학생 (14-16) / 고등학생(17-19)으로 나누면?int age = 20;if (age >= 8 && age = 14 && age =..

C 2024.11.11

C언어(3) 기초3

목차10. 이중 반복문 (구구단)11. 프로젝트   10. 이중 반복문 (구구단) for문 안에 for문을 써봅시다.for (int i = 1; i 첫 번째 반복문이 시작될때 2번째 반복문이 다 끝나고 나서 첫 번째 반복문이 다시 실행되면서 끝날때 까지 반복합니다. 이제 이 이중 반복문을 사용해서 구구단을 만들어봅시다.for (int i = 2; i 그 다음으로***************이런식으로 *이 하나씩 증가하는 메세지를 출력하는 프로그램을 만들어 봅시다.for (int i = 0; i 다음은 거꾸로 *을 출력해보겠습니다.예)          *       **     ***   **** ***** 이런식으로요for (int i = 0; i 11. 프로젝트 *문자로 피라미드를 쌓는 프로젝트 입니다...

C 2024.11.08