Difference between r1.2 and the current
@@ -1,6 +1,6 @@
= 소스 파일 =
== main.cpp ==
#include <windows.h>
#include "now_time.h"
== main.cpp ==
=== 말그대로 메인입니다.. ===
=== 말그대로 메인입니다..by.AllMemberz ===
{{{#include <windows.h>
#include "now_time.h"
@@ -21,3 +21,497 @@
}
}
}}}
}
}}}
== now_time.cpp ==
=== 시간을 표시합니다 by.[김상호], [김정욱] ===
{{{
/***********************************************************
* ////////현재시각표시//////////
*
* 아 진짜 고생 많이했다 ㅋㅋㅋㅋ
* 숫자 크기 정하느라 황금비율 찾아봤다능... ;;( 1 : 1.618 이니까 5:8 이라능...)
* 숫자 디자인 한참 고민했다능... ;;
* 숫자 띄우느라 애먹었다능... ;;
* 내 노력을 알아달라능...ㅡ,.ㅜ;;
* By 컴공의 자랑
***********************************************************/
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include "now_time.h"
using namespace std;
typedef enum { NOCURSOR, SOLIDCURSOR, NORMALCURSOR } CURSOR_TYPE;
extern int ah;
extern int am;
extern int as;
void gotoxy(int x, int y)
{
COORD Cur;
Cur.X=x;
Cur.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}
void setcursortype(CURSOR_TYPE c)
{
CONSOLE_CURSOR_INFO CurInfo;
switch (c) {
case NOCURSOR:
CurInfo.dwSize=1;
CurInfo.bVisible=FALSE;
break;
case SOLIDCURSOR:
CurInfo.dwSize=100;
CurInfo.bVisible=TRUE;
break;
case NORMALCURSOR:
CurInfo.dwSize=20;
CurInfo.bVisible=TRUE;
break;
}
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&CurInfo);
}
void now_time::print_now_time()
{
char arr[10][8][16]={ // digit 노가다
{{" ■■■ "},
{"■ ■"},
{"■ ■"},
{"■ ■"}, // 디자인 수정의 편의성을 위해 세로로 길게 씀.
{"■ ■"},
{"■ ■"},
{"■ ■"},
{" ■■■ "}},
{{" ■ "},
{" ■■ "},
{"■ ■ "},
{" ■ "},
{" ■ "},
{" ■ "},
{" ■ "},
{"■■■■■"}},
{{" ■■■ "},
{"■ ■"},
{"■ ■"},
{" ■"},
{" ■ "},
{" ■ "},
{" ■ "},
{"■■■■■"}},
{{" ■■■ "},
{"■ ■"},
{" ■"},
{" ■■ "},
{" ■"},
{" ■"},
{"■ ■"},
{" ■■■ "}},
{{" ■ "},
{" ■■ "},
{" ■ ■ "},
{"■ ■ "},
{"■■■■■"},
{" ■ "},
{" ■ "},
{" ■ "}},
{{"■■■■■"},
{"■ "},
{"■ "},
{" ■■■ "},
{" ■"},
{"■ ■"},
{"■ ■"},
{" ■■■ "}},
{{" ■■■ "},
{"■ "},
{"■ "},
{"■■■■ "},
{"■ ■"},
{"■ ■"},
{"■ ■"},
{" ■■■ "}},
{{"■■■■■"},
{"■ ■"},
{" ■"},
{" ■ "},
{" ■ "},
{" ■ "},
{" ■ "},
{" ■ "}},
{{" ■■■ "},
{"■ ■"},
{"■ ■"},
{" ■■■ "},
{"■ ■"},
{"■ ■"},
{"■ ■"},
{" ■■■ "}},
{{" ■■■ "},
{"■ ■"},
{"■ ■"},
{" ■■■■"},
{" ■"},
{" ■"},
{" ■"},
{" ■■■ "}
}
};
setcursortype(NOCURSOR); //커서를 숨긴다.
time_t a;
tm* b;
int h,m,s;
while(1){
char key;
if(kbhit())
{
key=getch();
if(key=='1')
break;
}
system("cls");
gotoxy(24,2); // 땡땡( : ) 입력
cout<<"□";
gotoxy(24,5);
cout<<"□";
gotoxy(52,2);
cout<<"□";
gotoxy(52,5);
cout<<"□";
time(&a); //시스템 시간 받아오기
b=localtime(&a);
h = b->tm_hour; //시
m = b->tm_min; //분
s = b->tm_sec; //초
if((ah == h)&&(am==m)&&(as==s))
{
printf("\a\a\a");
}
int h10 = h/10; //시,분,초 각각의 10, 1의 자리 구하기
int h1 = h%10;
int m10 = m/10;
int m1 = m%10;
int s10 = s/10;
int s1 = s%10;
for(int x=0;x<8;x++){ //위에서부터 한줄씩, 총 6줄 1초마다 출력
gotoxy(0,x);
cout<<arr[h10][x];
gotoxy(12,x);
cout<<arr[h1][x];
gotoxy(28,x);
cout<<arr[m10][x];
gotoxy(40,x);
cout<<arr[m1][x];
gotoxy(56,x);
cout<<arr[s10][x];
gotoxy(68,x);
cout<<arr[s1][x];
}
Sleep(1000); //요게 1초씩 대기함 ( 말그대로 sleep!!. 밀리세컨드 이기 때문에 1000이라 씀)
}
}
}}}
== cho.cpp ==
=== 초시계 의 몸통~ by.[박재홍], [박정근] ===
{{{
#include "cho.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <windows.h>
cho::cho()
{
chk=0;
clock2=0;
prog_exit=false;
}
cho::~cho()
{
}
void cho::setwatch()
{
std::cout<<"0 : 00 : 00";
char key=getch();
while(1)
{
if(prog_exit) break; //모드전환에 의한
if(chk==0) //0으로 멈춰 있는 상태
{
if(key=='1') // 모드 전환
{
prog_exit=true;
}
if(key=='3') //스탑워치 출발
{
chk=1;
Fulls=GetTickCount();
while(1)
{
clock=GetTickCount()-Fulls+clock2;
rs=clock/1000;
s=rs%60;
m=clock/60000;
rms=clock%1000;
ms=rms/10;
system("cls");
std::cout<<m<<" : "<<std::setw(2)<<std::setfill('0')<<s<<" : "<<std::setw(2)<<std::setfill('0')<<ms<<std::endl;
if(kbhit())
{
key=getch();
break;
}
}
}
}
if(chk==1) //스탑워치출발하고 있을때
{
if(key=='3') //일시정지
{
chk=2;
system("cls");
std::cout<<m<<" : "<<std::setw(2)<<std::setfill('0')<<s<<" : "<<std::setw(2)<<std::setfill('0')<<ms<<std::endl;
key=getch();
}
if(key=='1') // 모드 전환
{
prog_exit=true;
}
}
if(chk==2) //일시정지 상태일때
{
if(key=='2')
{
clock=0;
system("cls");
std::cout<<"0 : 00 : 00";
key=getch();
chk=0;
}
if(key=='1') // 모드 전환
{
prog_exit=true;
}
if(key=='3') // 일시정지 시점부터 다시시작
{
Fulls=GetTickCount();
while(1)
{
clock2=(GetTickCount()-Fulls)+clock;
rs=clock2/1000;
s=rs%60;
m=clock2/60000;
rms=clock2%1000;
ms=rms/10;
system("cls");
std::cout<<m<<" : "<<std::setw(2)<<std::setfill('0')<<s<<" : "<<std::setw(2)<<std::setfill('0')<<ms<<std::endl;
if(kbhit())
{
chk=1;
clock=clock2;
key=getch();
break;
}
}
}
if(key=='1') // 모드 전환
{
prog_exit=true;
}
}
}
}
}}}
== alarmsetting.cpp ==
=== 알람을 설정함 by.[김정혜], [윤종하] ===
{{{
//made by 김정혜
//알람설정화면 10.07.15
//ver.노가다
#include<iostream>
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include"alarmsetting.h"
using namespace std;
struct altm{
int altm_hour;
int altm_min;
int altm_sec;
}settm;
int ah,am,as;
void alarmsetting::alm_set()
{
char button; //버튼 임력할 변수 1,2,3중에....
struct altm settm;
settm.altm_hour=00;
settm.altm_min=00;
settm.altm_sec=00;
int* a; //설정 시간 위치 포인터
a=&settm.altm_hour;//첨엔 시간을 가리키고 있음
printf("■■ 알람 시간 설정 ■■\n");
printf("\n");
printf("%2d시%2d분%2d초\n",settm.altm_hour,settm.altm_min,settm.altm_sec);
printf("\n");
printf("1:종료, 2:시간↑, 3:칸옮기기→\n");
printf("\n");
//printf("1:mode ,2:reset ,3:start/stop\n");
for(;;)
{
button=getch();//이제 버튼 선택을 받음...
if(button=='1')break;//모드 전환 되게 루프 나가는 거임
if(button=='2'){//시간을 증가 시키는 경우. function으로 묶어 줘야 할듯...
system("cls");
*a += 1;
if(settm.altm_hour==25)settm.altm_hour=00;
if(settm.altm_min==60)settm.altm_min=00;
if(settm.altm_sec==60)settm.altm_sec=00;
printf("■■ 알람 시간 설정 ■■\n");
printf("\n");
printf("%2d시%2d분%2d초\n",settm.altm_hour,settm.altm_min,settm.altm_sec);
printf("\n");
printf("1:종료, 2:시간↑, 3:칸옮기기→\n");
printf("\n");
//printf("1:mode ,2:reset ,3:start/stop\n");
}
if(button=='3'){//설정 시간 위치를 바꾸는 경우. 역시 function으로 묶어줘야 할듯....
system("cls");
if(a==&settm.altm_hour) a = &settm.altm_min;
else if(a==&settm.altm_min) a = &settm.altm_sec;
else if(a==&settm.altm_sec) a = &settm.altm_hour;
printf("■■ 알람 시간 설정 ■■\n");
printf("\n");
printf("%2d시%2d분%2d초\n",settm.altm_hour,settm.altm_min,settm.altm_sec);
printf("\n");
printf("1:종료, 2:시간↑, 3:칸옮기기→\n");
printf("\n");
//printf("1:mode ,2:reset ,3:start/stop\n");
}
}
system("cls");
if((settm.altm_hour==00)&&(settm.altm_min==00)&&(settm.altm_sec==00)){
printf("■■ 알람 설정 안됨ㅜ_ㅜ !■■\n");
}
else {
printf("■■ 알람 설정 완료ㅋ_ㅋ !■■\n");
printf("\n");
printf("설정한 알람은 %d시 %d분 %d초 입니다!\n",settm.altm_hour,settm.altm_min,settm.altm_sec);
printf("\n");
ah = settm.altm_hour;
am = settm.altm_min;
as = settm.altm_sec;
}
//그 담에 원래 다음 화면으로 이동...
}
/*여기까진데, function 으로 묶어 주는 게 필요 할 것 같고
알람을 설정하는 위치가 어디인지도 좀 알려주는게 좋을 것 같다ㅎㅎ
깜빡이게 해서? */
}}}
= 헤더 파일 =
== now_time.h ==
{{{
#pragma once
class now_time {
public:
void print_now_time();
};
}}}
== cho.h ==
{{{
#pragma once
class cho {
private:
int chk;
int m,s,ms;
int rs,rms;
int clock;
int clock2;
int Fulls;
bool prog_exit;
public:
void setwatch();
cho();
~cho();
};
}}}
== alarmsetting.h ==
{{{
#pragma once
class alarmsetting
{
public:
void alm_set();
};
}}}
== alarm.h ==
=== alarmsetting에서 now_time으로 넘기기 위해 사용 ===
{{{
#pragma once
int alm_h;
int alm_m;
int alm_s;
}}}
소스 파일 ¶
main.cpp ¶
말그대로 메인입니다..by.AllMemberz ¶
#include <windows.h> #include "now_time.h" #include "alarmsetting.h" #include "cho.h" void main() { while(1) { now_time a; a.print_now_time(); system("cls"); cho b; b.setwatch(); system("cls"); alarmsetting c; c.alm_set(); } }
now_time.cpp ¶
시간을 표시합니다 by.김상호, 김정욱 ¶
/*********************************************************** * ////////현재시각표시////////// * * 아 진짜 고생 많이했다 ㅋㅋㅋㅋ * 숫자 크기 정하느라 황금비율 찾아봤다능... ;;( 1 : 1.618 이니까 5:8 이라능...) * 숫자 디자인 한참 고민했다능... ;; * 숫자 띄우느라 애먹었다능... ;; * 내 노력을 알아달라능...ㅡ,.ㅜ;; * By 컴공의 자랑 ***********************************************************/ #include <iostream> #include <time.h> #include <stdio.h> #include <conio.h> #include <windows.h> #include "now_time.h" using namespace std; typedef enum { NOCURSOR, SOLIDCURSOR, NORMALCURSOR } CURSOR_TYPE; extern int ah; extern int am; extern int as; void gotoxy(int x, int y) { COORD Cur; Cur.X=x; Cur.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur); } void setcursortype(CURSOR_TYPE c) { CONSOLE_CURSOR_INFO CurInfo; switch (c) { case NOCURSOR: CurInfo.dwSize=1; CurInfo.bVisible=FALSE; break; case SOLIDCURSOR: CurInfo.dwSize=100; CurInfo.bVisible=TRUE; break; case NORMALCURSOR: CurInfo.dwSize=20; CurInfo.bVisible=TRUE; break; } SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&CurInfo); } void now_time::print_now_time() { char arr[10][8][16]={ // digit 노가다 {{" ■■■ "}, {"■ ■"}, {"■ ■"}, {"■ ■"}, // 디자인 수정의 편의성을 위해 세로로 길게 씀. {"■ ■"}, {"■ ■"}, {"■ ■"}, {" ■■■ "}}, {{" ■ "}, {" ■■ "}, {"■ ■ "}, {" ■ "}, {" ■ "}, {" ■ "}, {" ■ "}, {"■■■■■"}}, {{" ■■■ "}, {"■ ■"}, {"■ ■"}, {" ■"}, {" ■ "}, {" ■ "}, {" ■ "}, {"■■■■■"}}, {{" ■■■ "}, {"■ ■"}, {" ■"}, {" ■■ "}, {" ■"}, {" ■"}, {"■ ■"}, {" ■■■ "}}, {{" ■ "}, {" ■■ "}, {" ■ ■ "}, {"■ ■ "}, {"■■■■■"}, {" ■ "}, {" ■ "}, {" ■ "}}, {{"■■■■■"}, {"■ "}, {"■ "}, {" ■■■ "}, {" ■"}, {"■ ■"}, {"■ ■"}, {" ■■■ "}}, {{" ■■■ "}, {"■ "}, {"■ "}, {"■■■■ "}, {"■ ■"}, {"■ ■"}, {"■ ■"}, {" ■■■ "}}, {{"■■■■■"}, {"■ ■"}, {" ■"}, {" ■ "}, {" ■ "}, {" ■ "}, {" ■ "}, {" ■ "}}, {{" ■■■ "}, {"■ ■"}, {"■ ■"}, {" ■■■ "}, {"■ ■"}, {"■ ■"}, {"■ ■"}, {" ■■■ "}}, {{" ■■■ "}, {"■ ■"}, {"■ ■"}, {" ■■■■"}, {" ■"}, {" ■"}, {" ■"}, {" ■■■ "} } }; setcursortype(NOCURSOR); //커서를 숨긴다. time_t a; tm* b; int h,m,s; while(1){ char key; if(kbhit()) { key=getch(); if(key=='1') break; } system("cls"); gotoxy(24,2); // 땡땡( : ) 입력 cout<<"□"; gotoxy(24,5); cout<<"□"; gotoxy(52,2); cout<<"□"; gotoxy(52,5); cout<<"□"; time(&a); //시스템 시간 받아오기 b=localtime(&a); h = b->tm_hour; //시 m = b->tm_min; //분 s = b->tm_sec; //초 if((ah == h)&&(am==m)&&(as==s)) { printf("\a\a\a"); } int h10 = h/10; //시,분,초 각각의 10, 1의 자리 구하기 int h1 = h%10; int m10 = m/10; int m1 = m%10; int s10 = s/10; int s1 = s%10; for(int x=0;x<8;x++){ //위에서부터 한줄씩, 총 6줄 1초마다 출력 gotoxy(0,x); cout<<arr[h10][x]; gotoxy(12,x); cout<<arr[h1][x]; gotoxy(28,x); cout<<arr[m10][x]; gotoxy(40,x); cout<<arr[m1][x]; gotoxy(56,x); cout<<arr[s10][x]; gotoxy(68,x); cout<<arr[s1][x]; } Sleep(1000); //요게 1초씩 대기함 ( 말그대로 sleep!!. 밀리세컨드 이기 때문에 1000이라 씀) } }
cho.cpp ¶
초시계 의 몸통~ by.박재홍, 박정근 ¶
#include "cho.h" #include <iostream> #include <iomanip> #include <conio.h> #include <windows.h> cho::cho() { chk=0; clock2=0; prog_exit=false; } cho::~cho() { } void cho::setwatch() { std::cout<<"0 : 00 : 00"; char key=getch(); while(1) { if(prog_exit) break; //모드전환에 의한 if(chk==0) //0으로 멈춰 있는 상태 { if(key=='1') // 모드 전환 { prog_exit=true; } if(key=='3') //스탑워치 출발 { chk=1; Fulls=GetTickCount(); while(1) { clock=GetTickCount()-Fulls+clock2; rs=clock/1000; s=rs%60; m=clock/60000; rms=clock%1000; ms=rms/10; system("cls"); std::cout<<m<<" : "<<std::setw(2)<<std::setfill('0')<<s<<" : "<<std::setw(2)<<std::setfill('0')<<ms<<std::endl; if(kbhit()) { key=getch(); break; } } } } if(chk==1) //스탑워치출발하고 있을때 { if(key=='3') //일시정지 { chk=2; system("cls"); std::cout<<m<<" : "<<std::setw(2)<<std::setfill('0')<<s<<" : "<<std::setw(2)<<std::setfill('0')<<ms<<std::endl; key=getch(); } if(key=='1') // 모드 전환 { prog_exit=true; } } if(chk==2) //일시정지 상태일때 { if(key=='2') { clock=0; system("cls"); std::cout<<"0 : 00 : 00"; key=getch(); chk=0; } if(key=='1') // 모드 전환 { prog_exit=true; } if(key=='3') // 일시정지 시점부터 다시시작 { Fulls=GetTickCount(); while(1) { clock2=(GetTickCount()-Fulls)+clock; rs=clock2/1000; s=rs%60; m=clock2/60000; rms=clock2%1000; ms=rms/10; system("cls"); std::cout<<m<<" : "<<std::setw(2)<<std::setfill('0')<<s<<" : "<<std::setw(2)<<std::setfill('0')<<ms<<std::endl; if(kbhit()) { chk=1; clock=clock2; key=getch(); break; } } } if(key=='1') // 모드 전환 { prog_exit=true; } } } }
alarmsetting.cpp ¶
알람을 설정함 by.김정혜, 윤종하 ¶
//made by 김정혜 //알람설정화면 10.07.15 //ver.노가다 #include<iostream> #include <stdio.h> #include <stdlib.h> #include<conio.h> #include"alarmsetting.h" using namespace std; struct altm{ int altm_hour; int altm_min; int altm_sec; }settm; int ah,am,as; void alarmsetting::alm_set() { char button; //버튼 임력할 변수 1,2,3중에.... struct altm settm; settm.altm_hour=00; settm.altm_min=00; settm.altm_sec=00; int* a; //설정 시간 위치 포인터 a=&settm.altm_hour;//첨엔 시간을 가리키고 있음 printf("■■ 알람 시간 설정 ■■\n"); printf("\n"); printf("%2d시%2d분%2d초\n",settm.altm_hour,settm.altm_min,settm.altm_sec); printf("\n"); printf("1:종료, 2:시간↑, 3:칸옮기기→\n"); printf("\n"); //printf("1:mode ,2:reset ,3:start/stop\n"); for(;;) { button=getch();//이제 버튼 선택을 받음... if(button=='1')break;//모드 전환 되게 루프 나가는 거임 if(button=='2'){//시간을 증가 시키는 경우. function으로 묶어 줘야 할듯... system("cls"); *a += 1; if(settm.altm_hour==25)settm.altm_hour=00; if(settm.altm_min==60)settm.altm_min=00; if(settm.altm_sec==60)settm.altm_sec=00; printf("■■ 알람 시간 설정 ■■\n"); printf("\n"); printf("%2d시%2d분%2d초\n",settm.altm_hour,settm.altm_min,settm.altm_sec); printf("\n"); printf("1:종료, 2:시간↑, 3:칸옮기기→\n"); printf("\n"); //printf("1:mode ,2:reset ,3:start/stop\n"); } if(button=='3'){//설정 시간 위치를 바꾸는 경우. 역시 function으로 묶어줘야 할듯.... system("cls"); if(a==&settm.altm_hour) a = &settm.altm_min; else if(a==&settm.altm_min) a = &settm.altm_sec; else if(a==&settm.altm_sec) a = &settm.altm_hour; printf("■■ 알람 시간 설정 ■■\n"); printf("\n"); printf("%2d시%2d분%2d초\n",settm.altm_hour,settm.altm_min,settm.altm_sec); printf("\n"); printf("1:종료, 2:시간↑, 3:칸옮기기→\n"); printf("\n"); //printf("1:mode ,2:reset ,3:start/stop\n"); } } system("cls"); if((settm.altm_hour==00)&&(settm.altm_min==00)&&(settm.altm_sec==00)){ printf("■■ 알람 설정 안됨ㅜ_ㅜ !■■\n"); } else { printf("■■ 알람 설정 완료ㅋ_ㅋ !■■\n"); printf("\n"); printf("설정한 알람은 %d시 %d분 %d초 입니다!\n",settm.altm_hour,settm.altm_min,settm.altm_sec); printf("\n"); ah = settm.altm_hour; am = settm.altm_min; as = settm.altm_sec; } //그 담에 원래 다음 화면으로 이동... } /*여기까진데, function 으로 묶어 주는 게 필요 할 것 같고 알람을 설정하는 위치가 어디인지도 좀 알려주는게 좋을 것 같다ㅎㅎ 깜빡이게 해서? */
헤더 파일 ¶
now_time.h ¶
#pragma once class now_time { public: void print_now_time(); };
cho.h ¶
#pragma once class cho { private: int chk; int m,s,ms; int rs,rms; int clock; int clock2; int Fulls; bool prog_exit; public: void setwatch(); cho(); ~cho(); };
alarmsetting.h ¶
#pragma once class alarmsetting { public: void alm_set(); };
alarm.h ¶
alarmsetting에서 now_time으로 넘기기 위해 사용 ¶
#pragma once int alm_h; int alm_m; int alm_s;