下のプログラムは入力した4つ数字を円グラフで表示するものでこのプログラムをもとに棒グラフで表示するように変換しなくてはならないのですがHgwBoxFill関数を使うらしいのですがいろいろ試行錯誤してみてもできないのでどなたか教えてくれませんか?
1: /* プログラム始め */
2: #include <stdio.h>
3: #include <math.h>
4: #include "handy.h"
5:
6: /* プロトタイプ宣言 */
7: void draw_graph(int w, double start, double val, char *str);
8:
9: int main(void)
10: {
11: int w; /* ウィンドウID */
12: int c; /* 文字入力用 */
13: double XBASE = 100.0; /* ウィンドウ設定 */
14: double YBASE = 100.0;
15: double WINSIZE = 500.0;
16: int in1, in2, in3, in4; /* グラフ表示する数値 */
17: int total; /* グラフ表示する数値の総和 */
18: double sum; /* グラフ表示する数値の累積 */
19: double d1, d2, d3, d4; /* グラフ表示する数値の割合 */
20:
21: /* グラフ表示する数値の読み込み */
22: printf("四つの正整数を入力してください >> ");
23: scanf("%d %d %d %d", &in1, &in2, &in3, &in4);
24:
25: /* 各項がグラフ内で占める割合の計算 */
26: total = in1 + in2 + in3 + in4; /* 総和の計算 */
27: d1 = (double)in1 / (double)total; /* 割合の計算 */
28: d2 = (double)in2 / (double)total;
29: d3 = (double)in3 / (double)total;
30: d4 = (double)in4 / (double)total;
31:
32: /* ウィンドウの生成 */
33: w = HgWOpen(XBASE, YBASE, WINSIZE, WINSIZE);
34:
35: /* 線の幅指定 */
36: HgWWidth(w, 3.0);
37:
38: /* グラフの表示 */
39: sum = 0.0; /* 1項目めの表示 */
40: HgWColor(w, HG_RED);
41: draw_graph(w, sum, d1, "A");
42:
43: sum += d1; /* 2項目めの表示 */
44: HgWColor(w, HG_BLUE);
45: draw_graph(w, sum, d2, "B");
46:
47: sum += d2; /* 3項目めの表示 */
48: HgWColor(w, HG_GREEN);
49: draw_graph(w, sum, d3, "C");
50:
51: sum += d3; /* 4項目めの表示 */
51: HgWColor(w, HG_ORANGE);
53: draw_graph(w, sum, d4, "D");
54:
55: /* 最後に円表示 */
56: HgWColor(w, HG_BLACK);
57: HgWCircle(w, 250.0, 250.0, 200.0); /* 外側の円 */
58:
59:
60: printf("Push Any Key ");
61: c = getchar( );
62: c = getchar( );
63:
64: printf("Goodby!\n");
65:
66: return 0;
67: }
68:
69: /* */
70: /* グラフ表示する関数 */
71: /* */
72: void draw_graph(int w, double start, double val, char *str)
73: {
74: double x, y; /* 座標 */
75: double rad; /* 角度 */
76:
77: /* グラフの表示 */
78: rad = 2.0 * M_PI * (start + val); /* 角度計算 */
79: x = sin(rad) * 200.0 + 250.0; /* 座標計算 */
80: y = cos(rad) * 200.0 + 250.0;
81: HgWLine(w, 250.0, 250.0, x, y); /* グラフ表示 */
82:
83: /* 項目名の表示 */
84: rad = 2.0 * M_PI * (start + val / 2.0); /* 角度計算 */
85: x = sin(rad) * 120.0 + 250.0; /* 座標計算 */
86: y = cos(rad) * 120.0 + 250.0;
87: HgWColor(w, HG_BLACK);
88: HgWText(w, x, y, str); /* 項目名表示 */
89:
90: return; /* void型関数なので返り値なし */
91: }
92: /* プログラム終わり */
gnome端末がデスクトップ環境です
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>gnome端末がデスクトップ環境です
もうちょっとまともに環境書きましょうや。
Linuxだっていうならディストリビューションはなんです?
少なくとも、CentOS6.xでは標準リポジトリにHandyGraphicsはないみたいですが……。
「HgWLine」で検索したら、
http://www.cse.kyoto-su.ac.jp/~oomoto/lecture/pr …
こんなページを見つけた。
「HgWText」で検索したら、
http://sml.me.es.osaka-u.ac.jp/jse/kadai/sample0 …
とか引っかかった。
大学関連でないとHandyGraphicsのライブラリとか入手できない…んじゃないですかね?
であれば、関係する大学生以外には回答もできないワケで……。
# だいたいHgwBoxFill関数の仕様すら不明なんですよ。
# ヘッダファイル掲示されれば、もしかしたら予想くらいは出来るかも知れませんが。(私はする気ありませんが)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語のマクローリン展開ローラン展開のコードについて 3 2022/12/15 14:45
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C 開放してるのにエラー(doubl...
-
C言語 関数プロトタイプ宣言の...
-
数値を指数部と仮数部に分離したい
-
学校の課題で2次方程式のプログ...
-
関数におけるif文とreturn文に...
-
C言語を実行すると-infが出てき...
-
float型とdouble型の変数の違い...
-
C言語で表記についの質問です
-
指数の表示
-
2分法で方程式の複数の解を自...
-
doubleは常に%lfとするべきなのか
-
物体が往復する動きを作りたい
-
C言語で内積、、、わかりません。
-
c言語のコンパイルエラー canno...
-
C言語のpow関数の不具合
-
処理時間計測
-
float?数字の後にLがつくもの
-
「割り算」 と 「分数の掛け算」
-
C++標準ライブラリィーのcomple...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
float型とdouble型の変数の違い...
-
doubleの変数にintとintの割り...
-
C言語を実行すると-infが出てき...
-
C 開放してるのにエラー(doubl...
-
至急です! マクロ定義で #defi...
-
c言語で、繰り返し文の中で、0....
-
関数におけるif文とreturn文に...
-
C言語 関数プロトタイプ宣言の...
-
C言語初心者 構造体 課題について
-
C言語の型による処理速度の違い
-
Cで3乗根を求める方法
-
C言語で-23乗を取り扱うには
-
2分法で方程式の複数の解を自...
-
doubleは常に%lfとするべきなのか
-
c言語のコンパイルエラー canno...
-
C言語で直角三角形の斜辺を求め...
-
C言語のプログラムで#include<m...
-
int とdoubleの比較
-
C++で外積
おすすめ情報