前提・実現したいこと
時間を表示するプログラムを作りました
わかりやすいように色々書いてます
全く変わってもいいので時間を表示するプログラムを作ってもらいたいです
該当のソースコード
#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <libgg.h>
#include <math.h>
void hari( pGC gw , int a , COLORREF c);//針呼び出し
void hari_short( pGC gw , int a , COLORREF c);//短針呼び出し
void memori( pGC gw , COLORREF c);//時計の目盛り呼び出し
struct GG_FONT{
int h ; //文字の高さ
int wi ;//文字の幅
int we;//文字の太さ(0~1000まで400が標準)
int bs ;//文字の傾き 1/10度単位
int fo ;//文字ベースの傾き1/10度単位
DWORD it ;//文字を傾けるならTRUE 傾けないならFALSE
DWORD ul ;//アンダーラインいるならTRUE いらないならFALSE
DWORD so ;//取り消し線いるならTRUE いらないならFALSE
COLORREF color;//色指定
LPCTSTR fontface;};//フォントの指定(フォント名を入れる)
#define clock_size 150 //時計のサイズ設定
#define clock_X 400 //時計の中心位置X座標
#define clock_Y 300 //時計の中心位置Y座標
#define mojiban_X 10 //デジタル時計の左上位置X
#define mojiban_Y 10 //デジタル時計の左上位置Y
#pragma comment( lib , "libgg.lib" )
int main( void )
{
pGC gw;
GG_FONT ff;
time_t mytime;
struct tm *ltime;
double mon , d , h , m , s , pai;//mon=月 d=日 h=時間 m=分 s=秒 pai=円周率
char *a;
GGSTART( gw , "時計" , 800 , 600 , 20 , 20 );//libgg起動 a = "0"; ff = gg_getFontEXT( 30, //文字の高さ 30,//文字の幅 500,//文字の太さ(0~1000まで400が標準) 0,//文字の傾き 1/10度単位 0,//文字ベースの傾き1/10度単位 FALSE ,//文字を傾けるならTRUE 傾けないならFALSE FALSE ,//アンダーラインいるならTRUE いらないならFALSE FALSE ,//取り消し線いるならTRUE いらないならFALSE RGB(0,0,0) ,//色指定 "UD デジタル 教科書体 N-B");// while(1){ gg_DrawStart( gw ); gg_drawCircle( gw , clock_X , clock_Y , clock_size , RGB(0,0,0) ); memori(gw,RGB(0,0,0)); time( &mytime ); ltime = localtime( &mytime ); s = ltime->tm_sec; m = ltime->tm_min; h = ltime->tm_hour *5 + m/12; d = ltime->tm_mday; mon = ltime->tm_mon + 1; hari(gw,s,RGB(255,0,0)); hari(gw,m,RGB(0,255,0)); hari_short(gw,h,RGB(0,255,255)); sprintf(a,"%d月%d日%d時%d分%d秒",(int)mon,(int)d,ltime->tm_hour ,(int)m,(int)s); gg_putstr( gw, mojiban_X , mojiban_Y , a , ff); gg_DrawEnd(gw); gg_clrScr( gw ); Sleep(30); } }
void hari(pGC gw, int a , COLORREF c)
{
double pai;
pai=3.14159265359;
gg_moveto(gw,clock_X,clock_Y);
gg_lineto(gw, clock_size*-cos(pai/2+apai/30)+clock_X , clock_size-sin(pai/2+a*pai/30)+clock_Y,c);
}
void hari_short(pGC gw, int a , COLORREF c)
{
double pai;
pai=3.14159265359;
gg_moveto(gw,clock_X,clock_Y);
gg_lineto(gw, clock_size2/3-cos(pai/2+apai/30)+clock_X , clock_size2/3*-sin(pai/2+a*pai/30)+clock_Y,c);
}
void memori( pGC gw , COLORREF c)
{
double pai;
int i,a;
pai=3.14159265359;
i=0;
while(i<12){
a=i5;
gg_moveto(gw,clock_size-cos(pai/2+apai/30)+clock_X , clock_size-sin(pai/2+apai/30)+clock_Y);
gg_lineto(gw, (clock_size-20)-cos(pai/2+apai/30)+clock_X , (clock_size-20)-sin(pai/2+a*pai/30)+clock_Y,c);
i++;
}
}