컴퓨터/Projects
효율적인 C언어 공부를 하기 위해서 시작하는 첫 프로젝트 아닌 프로젝트.
목표는 어찌 되든 배포 파일까지 만들어 결과를 만들어 보기.
필요한 공부 내용들을 정리하며 프로젝트 일지를 위해서 작성하는 포스트입니다.
C언어를 베이스로 해서 스톱워치 / 타이머 기능을 하는 프로그램을 만들려고 합니다.
앞으로 이 프로젝트의 기록을 할 수 있도록 레포 생성을 했습니다.
적나라하게 나의 소스코드 이력을 확인할 수 있도록 도와줄 것입니다.
처음 프로젝트 시작이니... 구조 준비와 간단한 예외처리를 하기 위한 소스코드 작성을 했습니다.
#include<stdio.h>
#include<time.h>
#include<Windows.h>
int main() {
while (1) {
//메뉴 입력
system("cls");
printf("\t=== Test Program ==\n\n");
int input;
printf("1.스톱워치\t2.타이머\t3.종료\n\n");
printf("원하는 메뉴를 입력 하세요 : ");
scanf_s("%d", &input);
//메뉴에 따른 제어
if (input > 0 && input < 4) {
if (input == 3) {
printf("프로그램을 종료 합니다.");
break;
}
switch (input)
{
case 1:
/*
* 아래 기능을 포함하여 구현 예정
* 시작 | 기록 | 정지 | 초기화
*/
printf("1번\n");
system("pause");
break;
case 2:
/*
* 시간 / 분 / 초를 이용한 타이머 카운팅 시작하게 구현 예정
* 최대 100시간 ?
* 입력을 통해 카운팅 시간 설정
* 시작 | 정지 | 초기화
*/
printf("2번\n");
system("pause");
break;
}
}
//예외 처리
else {
while (getchar() != '\n') {}
printf("잘못된 입력입니다.");
system("pause");
}
}
return 0;
}
case 1:
/*
* 아래 기능을 포함하여 구현 예정
* 시작 | 기록 | 정지 | 초기화
*/
printf("아무키나 누르면 시작 합니다.");
system("pause");
//clock함수를 이용
while (1) {
clock_t time = clock();
//형식 변환
double time_double = (double)time / 1000;
printf("%.3lf\n", time_double);
system("cls");
if (time_double > 10) break;
}
printf("1번\n");
system("pause");
break;
우선 해당 포스트에 진입하여 아무 키나 입력받을 시 스톱워치를 시작하고 10초까지 화면에 표시한 후 스톱워치가 종료하게까지 만들었다.
즉, 10초 카운팅만 하는 카운터의 기능만을 구현하였다. (프로그램이 시작된 시점부터)
time.h을 이용하였습니다.
clock_t time = 1
// time = 1을 초로 환산한다면 0.001초
결국 지금 만든 소스코드는 프로그램이 시작된 순간부터 소비된 시간을 1000분의 1초 단위로 출력해주고 있습니다.
다음 포스트를 작성할 때는 이 것을 잘 활용해서 원하는 시점에서의 시간을 카운팅 할 수 있도록 해보겠습니다.
C언어로 스톱워치/타이머 만들기5 - 구조 다듬기(함수화) (0) | 2021.12.31 |
---|---|
C언어로 스톱워치/타이머 만들기5 - 기본 구현하기4(타이머기능 개선) (0) | 2021.12.15 |
C언어로 스톱워치/타이머 만들기4 - 기본 구현하기3(타이머기능 구현) (0) | 2021.12.14 |
C언어로 스톱워치/타이머 만들기3 - 기본구현하기2(일시정지/재시작 초기화/디자인) (0) | 2021.12.11 |
C언어로 스톱워치/타이머 만들기2 - 기본 구현하기 (0) | 2021.12.06 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet