오미쿠지 프로그램을 만들어 보았습니다.

오미쿠지를 당기자.



안녕하세요!
조속하지만, 여러분은 첫 참배에 가서 오미쿠지를 뽑아 왔습니까?
이번은, 설날에 첫 참배에 갈 수 없었던 분에게 오미쿠지 프로그램을 만들어 보았습니다.
오미쿠지 프로그램으로 올해의 운세를 차지해 보세요!


오미쿠지 프로그램



#include <stdio.h>
#include <stdlib.h>
#include <time.h>

typedef char String[1024];

int main(void){
   printf("おみくじプログラムでおみくじをしますか?\n");
   printf("YESは1を、NOの場合は他の数字を入力して下さい\n");

   String answer;

   scanf("%s",answer);

   int i = atoi(answer);

   if(i==1){

       printf("%dが入力されたためおみくじを始めます!\n",i);

       srand((unsigned)time(0UL));

       int num = rand() % 7 + 1 ;

       switch(num){
           case 1 :
           printf("大吉\n");
           break;

           case 2 :
           printf("中吉\n");
           break;

           case 3 :
           printf("小吉\n");
           break;

           case 4 :
           printf("吉\n");
           break;

           case 5 :
           printf("末吉\n");
           break;

           case 6 :
           printf("凶\n");
           break;

           case 7 :
           printf("大凶\n");
           break;
       }
   }
   else{
       printf("%dが入力されたためおみくじをやめます\n",i);
   }
   return 0;
}

그러면 왜 이런 일이 일어나는지 해설해 갑니다.

#include



#include <stdio.h>
#include <stdlib.h>
#include <time.h>

먼저 프로그램의 시작 부분에 #include와 헤더 파일을 입력하십시오.
이것들은 앞으로 나오는 함수 등을 사용할 때 필요한 것입니다.
자세한 것은 또 다른 기사에서 가르칩니다.

printf



int main(void){
   printf("おみくじプログラムでおみくじをしますか?\n");
   printf("YESは1を、NOの場合は他の数字を入力して下さい\n");

먼저 printf 명령으로 삼키기를 할지 표시하고, 숫자를 입력시켜 어느 쪽으로 할지 촉구합니다.
덧붙여서,\n를 문장에 입력하면 다음의 문자로부터 개행할 수가 있습니다.

String형·scanf·atoi



그런 다음 숫자를 입력합니다.
   String answer;

   scanf("%s",answer);

   int i = atoi(answer);

여기서는 먼저 String 유형으로 answer이라는 변수를 만듭니다.
String형이란, 문자열형이라고 하는 것입니다.
이를 사용하려면 다음 줄을 프로그램에 입력하십시오.

typedef char String[1024];

이 행을 추가하면 약 1000자의 문자열 유형을 사용할 수 있습니다.

그런 다음 scanf 명령으로 문자 입력을 수락합니다.
문자열의 경우 %s을 사용합니다.

그런 다음 atoi라는 함수를 사용하여 문자열 형식의 answer 데이터를 int 형식으로 정수로 변환합니다.

조건 분기, srand, rand



그런 다음 if 문을 사용하여 조건 분기를 만듭니다.

if(i==1){

       printf("%dが入力されたためおみくじを始めます!\n",i);

       srand((unsigned)time(0UL));

       int num = rand() % 7 + 1 ;

       switch(num){
           case 1 :
           printf("大吉\n");
           break;

           case 2 :
           printf("中吉\n");
           break;

           case 3 :
           printf("小吉\n");
           break;

           case 4 :
           printf("吉\n");
           break;

           case 5 :
           printf("末吉\n");
           break;

           case 6 :
           printf("凶\n");
           break;

           case 7 :
           printf("大凶\n");
           break;
       }
   }
   else{
       printf("%dが入力されたためおみくじをやめます\n",i);
   }
   return 0;
}

if 문을 사용하여 1을 입력하면 견본을 시작합니다.
그런 다음 srand 함수로 난수를 가져오고 rand 함수로 가져옵니다.
       srand((unsigned)time(0UL));

       int num = rand() % 7 + 1 ;

그리고 int형으로 num이라는 변수를 만들고, rand() % 7 + 1;로 1~7까지의 난수를 가져옵니다.

switch 문



다음으로 switch 문을 소개합니다.

 switch(num){
           case 1 :
           printf("大吉\n");
           break;

           case 2 :
           printf("中吉\n");
           break;

이 문에서 num 안의 데이터에 대해 결과를 나눕니다.
예,
case 1: num의 데이터가 1이면 대길을 표시한다.
case 2: num의 데이터가 2이면 나카요시를 표시한다.

그건 그렇고, break 문을 포함하지 않으면 ...

오미쿠지 프로그램으로 오미쿠지를 하시겠습니까?
YES는 1을, NO의 경우는 다른 숫자를 입력해 주세요
1이 입력 되었기 때문에 삼키기를 시작하십시오!
스에요시

대흉

이와 같이 억제가 쓸모 없게 되어 다른 운세도 표시해 버립니다.
그러므로 제대로 break 문장을 짜넣어 올바르게 표시하도록 합시다!

else 문



else if 문도 있습니다만, 이번은 다른 숫자를 입력하면 오미쿠지를 그만두는 프로그램으로 하기 위해 else 문을 사용하게 했습니다.

 else{
       printf("%dが入力されたためおみくじをやめます\n",i);
   }
   return 0;
}

else 문 아래에 return 0;은 덤같은 것이므로 거기까지 신경 쓰지 않아도 괜찮습니다.

요약



이번에는 【깨끗이 알 수 있는 C언어 입문】이라는 책을 참고로 이 프로그램을 만들었습니다.
첫 투고이므로, 기사가 보기 어려운 등 코드의 설명이 잘못되어 있는 곳이 있을지도 모릅니다.
뭔가 있으면 꼭 의견을 기다리고 있습니다.
C언어를 공부하기 시작해 아직 경험은 얕은 것입니다만, 노력해 마스터할 수 있도록 정진합니다!

좋은 웹페이지 즐겨찾기