C프로그래밍
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

본문내용

LACK,GREEN); //윈도우 지정..
cputs("*************************************\n\r");
cputs("** === Kebord Master=== Ver -0.1 **\n\r");
cputs("** ---Programed By ^^[PaRan] **\n\r");
cputs("*************************************");
}
void HelpMsg(int n) //진행중 도움말을 보여준다..
{ //도움말의 종류는 두가지..계속하기 위한것과 끝내기 위한것..
Window(18,18,50,0,YELLOW,DARKGRAY);
switch(n)
{
case 0: cputs(" input string!! ,quit:ESC");
break;
case 1: cputs(" Press Any Key..Countinue");
}
}
void SpeedMsg(int sp,int per)//속도와 정확도를 알려준다..
{
Window(5,17,11,1,MAGENTA,LIGHTGREEN);
cprintf("Speed: %3d \n\r",sp);//속도를 찍는다..
cprintf("Per : %3d ",per);//정확도를 찍는다..
}
void SpeedMsg2(int n)
{ //속도에 따른 평가의 말을 디스플레이해 준다..
Window(18,17,50,0,YELLOW,DARKGRAY);
n=n/100; //속도를 100으로 나우어서 평가..
if(n>5) n=5;
switch(n)
{
case 0: cputs(" Hi! Hi! Hard Work!!");
break;
case 1: cputs(" Hum!! Normal Speed!!");
break;
case 2: cputs(" Wha! Good!!");
break;
case 3: cputs(" Yi Hay! Very Good!!");
break;
case 4: cputs(" Good!! Great!!");
break;
case 5: cputs(" Wonderful!!..I love You!!!");
break; //예를 들어 500타 이상 나왔을 경우 메세지..
}
}
int typing(void)
{
int rval,length;//리턴값,문장길이..
int speed,per,miss;//속도,정확도,미스
unsigned diftime;//시간의 간격측정..
time_t first,second;//시작 시간과 끝낸시간..
Window(2,10,77,9,WHITE,LIGHTGRAY);
HelpMsg(0); //초기 도움말 출력..
rval=OutS(); //문장을 출력..
first=time(NULL); //시작 시간을 기억..
miss=InputS(Str[rval]); // 입력을 받는다..
if(miss<0) return -1; //miss가 -1..즉 ESC를 눌렀을 경우..종료
second=time(NULL); //끝낸 시간 기억..
diftime=difftime(second,first); //시간의 간격을 알아낸다.
if(diftime<1) diftime=1; //그냥 끝냈을 경우..아래에서 0으로
//나누어지는 것을 막기위한 에러처리..
length=strlen(Str[rval]); //문장의 길이를 구한다..
speed=TypeNum*60/diftime; //속도를 계산..
per=(length-miss)*100/length; //정확도 계산..
if(per<0) per=0; //정확도에 대한 에러처리..
SpeedMsg(speed,per); //속도와 정확도를 디스플레이..
SpeedMsg2(speed); //그에 대한 평가를 디스플레이..
return 0; 일반적으로 끝났을 경우..0리턴..
}
//-------------type.c화일 끝..
//-----------------------
// 화일이름.. tt.c
//-----------------------
#include "type.h"
void main()
{
int i=0;
textbackground(BLACK);
clrscr(); //검은 색으로 화면 전체를 지운다..
Logo(); //로고를 디스플레이..
for(;;) //ESC를 누르기 전까지 계속 한다..
{
if(typing()<0) //입력값이 ESC일 경우..루프를 빠져나간다..
break;
HelpMsg(1); //도움말을 디스플레이하고..
getch(); //한번의 키 입력을 기다린다..
}
while(!Str[i++]) //끝냈을 경우..메모리를 복귀시킨다..
free(Str[i]);
}
//------- tt.c화일 끝..
이제 여러분은 세개의 화일을 만들었다. 이것을 어떻게 컴파일시킬까? 볼랜드 C에서는 프로젝트 화일이라는 것이 있다. *.prj화일속에 우리가 작성한 화일을 집어 넣으면 된다.
방법은 간단하다. 메뉴에서 프로젝트를 선택하면 이름을 입력하라고 나올것이다. 그러면 여러분은 맘에 드는 화일이름을 넣어 주면 된다. 여기에 입력한 이름이 실제 실행화일의 이름이 된다. 확장자는 안 붙여주어도 .prj가 자동으로 붙는다. 이제 화면 밑에 하나의 윈도가 생긴걸 볼 수 있을 것이다. 인서트키를 눌러보자. 화일 선택박스가 떠 오를 것이다. 그곳에서 우리가 작성한 화일을 찾아 선택해 주면 된다.
우리가 집어 넣을 화일은 두개이다. type.c와 tt.c이다. type.h는 집어 넣지 말아라. 왜냐 하면 #include 선언으로 자동적으로 읽어 질 것이기 때문이다. 이것은 #include "type.c" 이렇게 선언했을 경우 실제 그 화일을 읽을 수 있다는 것이기도 하다.
이부분에서 화일을 나누어서 프로그램을 짜는 것의 장점을 하나 들 수 있다. 여러분은 F9을 눌러 컴파일하다가 에러가 났을 경우 그 에러를 고치고 다시 컴파일 하면 고친 화일만 다시 컴파일 하는 모습을 볼 수 있을 것이다. 사실 예제에서는 조그만 프로그램이기 때문에 별 효과를 못 느끼겠지만 수십개의 화일로 만들어진 프로그램을 컴파일 시키면 시간의 차이를 크게 느낄 것이다.
프로그램을 실행시키면 칼라풀한 모습으로 타이핑 연습 프로그램이 떠 오를 것이다.
  • 가격3,300
  • 페이지수25페이지
  • 등록일2002.10.14
  • 저작시기2002.10
  • 파일형식한글(hwp)
  • 자료번호#206444
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니