너의 타자소리가 들려 - by 화영
1. 작품 개요
-개발동기
평소 영어 타자 실력이 좋지 못해서 컴퓨터에 기본적으로 깔려있는 한컴 타자연습에 들어가서 연습을 하려고 했더니 프로그램이 오류가 나면서 작동이 중지 됐었다. C언어 프로젝트의 주제를 고민하다가 이 기회를 이용하여 직접 타자연습 프로그램을 만들게 되었다.
-개발환경
visual studio 2017
-제작과정
키보드 연습, 긴글 연습을 먼저 만들고 시작하면을 디자인 했다.
17~19일에 키보드 연습을 만들었고 ,
19~22일을 긴글 연습을 만드는데 사용했다.
나머지는 오류를 수정하고 기능추가와 보고서와 ppt를 만들었다.
2. 작품 소개
-사용 헤더 및 라이브러리
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
#define _CRT_SECURE_NO_WARNINGS
#define COLOR_YELLOW SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14)
#define COLOR_WHITE SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7)
1) 시간 측정을 위해 time.h 라이브러리 사용
2) 글자 색 변환을 위해 windows.h 라이브러리 사용
3) SetConsoleTextAttribute(GetStdHandle
(STD_OUTPUT_HANDLE), 14) 글자를 노란색으로 변환
4) #define COLOR_WHITE SetConsoleTextAttribute(GetStdHandle
(STD_OUTPUT_HANDLE), 7) 글자를 흰색으로 변환
-사용자 지정 함수
void start(); ->시작 화면 출력
void level_one(); //키보드
void print_keyboard(char key); ->키보드 랜덤 출력
char random_key(); ->랜덤숫자 지정
int input_key(char key, int *arr); ->입력받는 함수
void keyboard_turn(int *arr); ->키보드를 출력하고 출력횟수 제한
void level_two(); //긴글
char *ReadAllFile(char *fileName); ->파일을 읽고 버퍼에 저장
void Input_filename(char *Inbuf, int len); ->파일 이름 입력 확인
void print_contents(GameInfo Game); ->지정 길이 만큼 내용 출력
void input_contents(GameInfo *Game); ->출력된 내용 입력받기
void print_score(GameInfo Game); ->타수와 정확도 측정.출력
-구조체
typedef struct _Engfile {
char file_Letitgo[30];
char file_Partof[30];
char file_Awolenew[30];
char file_Healthe[30];
char file_Sugar[30];
}Engfile;
->긴글 연습에 필요한 파일 이름을 저장시켜놓은 구조체
(입력받은 파일이름을 비교하기 위해)
-실행 화면
<시작화면>
<키보드 연습(1)>
<키보드 연습(2)>
<긴 글 연습(1)>
<긴 글 연습(2)>
3. 개발하면서 느낀점
내가 목표한 프로그램을 다 만들었다는 거에 큰 성취감을 느꼈고 지금까지 배워왔던 모든 C언어 지식들을 총 동원하여 만들어서 다시한번 명령어들의 쓰임새와 알고있던 것들이 정리되는 느낌이었다.
'@C언어 : Layer7' 카테고리의 다른 글
HackerSchool FTZ 풀이 (0) | 2018.06.15 |
---|---|
Git 사용 보고서 (1) | 2018.06.08 |
구조체 예제 (0) | 2018.05.15 |
구조체 (0) | 2018.05.13 |
메모리 구조 (0) | 2018.05.12 |