c언어 - 영문 소문자의 자판을 연습하는 프로그램

IT/c / c++|2014. 8. 12. 14:34

c언어 - 영문 소문자의 자판을 연습하는 프로그램


<소스파일>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <time.h>
#include <Windows.h>
void intro_game(void);
void keyboard_practice(void);
void display_keyboard(void);
void parctice_result(char output[], char input[], char check[], int total);
void gotoxy(int x, int y);

int main(void)
{
 intro_game();
 keyboard_practice();
 return 0;
}
void intro_game(void)
{
 printf("영문 소문자 연습\n\n");
 printf("화면에 영문 소문자가 나타나면\n");
 printf("바로 해당 문자의 자판을 눌러 줍니다.\n");
 printf("문자는 모두 15번 출력됩니다.\n\n");
 printf("준비되엇으면 아무키나 누르시오.");
 getch();
}
void practice_result(char output[], char input[], char check[], int total)
{
 int i;
 system("cls");
 printf("영문 소문자 자판연습결과 \n\n");
 printf("   출력문자   입력문자  OX\n");
 printf("--------------------------\n");
 for(i=0;i<15;i++)
 {
  printf("%2d: %c %c", i+1, output[i], input[i]);
  if(check[i]==0)
   printf(" X\n");
  else
   printf(" O\n");
 }
 printf("\n");
 printf("맞은 개수 :%d(총 15)\n", total);
}
void display_keyboard(void)
{
 printf("영문 소문자 자판 위치\n");
 printf("---------------------\n");
 printf("q w e r t y u i o p\n");
 printf(" a s d f g h j k l\n");
 printf("  z x c v b n m\n");
 printf("---------------------\n");
}
void keyboard_practice(void)
{
 int i, total=0;
 char output[15], check[15], input[15];
 srand(time(NULL));
 system("cls");
 display_keyboard();
 
 for(i=0;i<15;i++)
 {
  output[i]=rand()%26+97;
  gotoxy(4,9);
  printf("%2d번 문자 : %c", i+1, output[i]);
  input[i]=getch();
  
  if(output[i]==input[i])
  {
   total++;
   check[i];
  }
  else
   check[i]=0;
 }
 gotoxy(4,10);
 printf("자판연습이 끝났습니다. \n");
 gotoxy(4,11);
 printf("결과를 보려면 아무키나 누르시오. ");
 getch();
 practice_result(output, input, check, total);
}

void gotoxy(int x, int y)
{
 COORD Pos = {x - 1, y - 1};
 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}

 

<결과화면>

 

 

▲ 첫화면

 

 

 

 

▲ 영문 타자 세 번을 쳐봤습니다.

 

▲ 마지막 결과화면

 

영문 쿼티자판을 콘솔창에 띄어보는것을 연습해봤습니다. 순서대로 출력하는것을 가장 중요하다시피 하여 예전 수업시간에 배운 gotoxy 함수를 만들어 구현하였고 위치계산을 일일이 하면서 콘솔창의 위치에 대해 조금더 알게된거같네요

오랫만에  c언어 기초공부를 해보니 어릴때로 돌아간거같아서 좋기도하고 까먹고있던것을 다시 상기시키게 되는 좋은기회가 되는거같네요

영어공부만하다가 하는 c언어공부 ㅎㅎ

전공공부들 슬슬 계속 올려야겠어요

이러다가 여행포스팅보다 IT쪽 포스팅이 더많아지는건아닐찌 심히 걱정이되네요 ;ㅋㅋ


댓글()