質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

受付中

時間を表示するプログラムを作りましたが改良したいです。全く変わってもいいので時間を表示するプログラムをお願いします

aidesu4
aidesu4

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1回答

-6評価

0クリップ

372閲覧

投稿2021/12/28 13:46

前提・実現したいこと

時間を表示するプログラムを作りました
わかりやすいように色々書いてます
全く変わってもいいので時間を表示するプログラムを作ってもらいたいです

該当のソースコード

#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++;
}
}

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

episteme

2021/12/28 14:03

> 時間を表示するプログラムを作りました...時間を表示するプログラムを作ってもらいたいです わけがわからん。
luuguas

2021/12/28 16:27

コードは ```C++ (ここにコードを記述) ``` で囲んでください。
cx20

2021/12/28 21:57

以下の情報が無いと回答のしようが無いかと・・ ・表示したい時計の種類は?(アナログ時計 or デジタル時計) ・今、何が問題なのか?(エラーが出るのか描画がされないのか等) ・使用しているグラフィックスライブラリはどこで入手できるのか? こちらで使用されているライブラリと同じものでしょうか・・ https://teratail.com/questions/361723
dodox86

2021/12/29 03:27

> 全く変わってもいいので時間を表示するプログラムを作ってもらいたいです この丸投げ感はどうだ、と。
wagashi_157

2022/01/02 14:10

C++専門であり, C言語のことはあまり詳しくないため参考になるかは分かりませんが, 時計をどのように表示させたいのですか? また, 実装にあたっての条件は何ですか? どのコードにどのような工夫をしたのですか(あるいは試みたのですか)? それらを詳しく記述すると良いと思います。 ライブラリ関数がMarkdownで入力されているため, とても分かりづらいです。質問入力画面にMarkdownの正しい記法があるのでそれを参照してみてはいかがでしょうか。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。