[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/10 15:35 / Filesize : 145 KB / Number-of Response : 713
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 114



1 名前:デフォルトの名無しさん [2013/04/22(月) 04:47:19.70 ]
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 113
toro.2ch.net/test/read.cgi/tech/1362824689/
★過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 164代目
toro.2ch.net/test/read.cgi/tech/1364700745/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
codepad.org/
ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

9 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/04/22(月) 20:48:19.59 ]
>>5-6
ベジェ曲線、スプライト曲線など
透明な背景に不透明度(α値)付の描画で画像作成

10 名前:5 [2013/04/22(月) 20:52:26.45 ]
>>8
意味がちょっと分かりません

11 名前:5 [2013/04/22(月) 20:59:50.31 ]
>>9
ありがとうございます
スプライト曲線が使えそうですね

12 名前:5 [2013/04/22(月) 21:02:06.91 ]
手間掛けさせて申し訳ないんですが五角形でスプライン曲線で滑らかな
閉曲線作るプログラム書いてくれませんかね?Cは画像ライブラリもってないんで
Swingで...

13 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 21:11:16.18 ]
解説をするスレであって、かわりに書いてやるスレじゃないぞ。

14 名前:5 [2013/04/22(月) 21:11:55.04 ]
>>13
すいません
Cのグラフィックスライブラリ教えて下さい

15 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 21:21:08.08 ]
Win32でもAPIでベジエとかあったろ
Linuxは知らん

16 名前:デフォルトの名無しさん [2013/04/22(月) 21:24:26.98 ]
OpenGL 2.0

17 名前:5 [2013/04/22(月) 21:31:23.49 ]
ありがとうございます



18 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 21:46:01.82 ]
リヌクス

19 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 03:24:53.08 ]
子供はけん玉遊びでもしていなさい。

20 名前:デフォルトの名無しさん [2013/04/23(火) 11:41:37.66 ]
FILE *fp

sub(){
static char buf[38];
char CHR[7]
fgets(buf,36,fp);
  fscanf(fp,"%6s\n",CHR);
puts(CHR);
}
main(){
  fp = fopen("test.txt", "r");
sub();
}

こんなプログラムが書きたいんですが,putsで表示したCHRがフフフフフってなります.
おそらくfpがsub関数に渡せていないのが問題だと思うのですが,main関数からどうやって渡せばいいでしょうか?
グローバル関数は使いたくないのでそれ以外の方法でお願いします.

21 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 11:42:57.94 ]
俺が試してみると フフフノフフフ になった

22 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 11:46:13.88 ]
グローバル変数を消す
sub() { → sub(FILE *fp) {

main() {
FILE *fp = fopen("test.txt", "r");
sub(fp);
}

CHRがフフフフフ は別件だと思うがなー

23 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 11:49:02.26 ]
ちゃんとfopenの戻り値見ろよ

24 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 11:55:19.29 ]
ちなみにsubの方でfopen()する場合はポインタのポインタを渡してそれに代入しないと値が
戻らない

sub(FILE **fp) {
*fp = fopen("test.txt", "r");
}

main() {
FILE *fp;
char CHR[7], buf[100];
sub(&fp);
fgets(buf,36,fp);
fscanf(fp,"%6s\n",CHR);

...

return 0;
}

最初の頃はこれではまったわ
C++ならFILE*& fp) とポインタのリファレンスを使うと呼び出し元の&は省略出来る
それとこれはFILEだからいいけど、コンソールは基本的にgets()系とscanf()系は混合
すると改行文字が変な働きをして動作がおかしくなるので、FILEもどちらか一方に
統一してるわ

25 名前:20 [2013/04/23(火) 13:03:32.07 ]
すいません.
別関数にtxt行数数えるコードがあるうのを失念してまして,rewindし忘れてました.

うまくいきました

26 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:33:00.27 ]
何回リロードしても全然書き込みがないと思ったら、昨晩から大規模規制が行われてるのか

27 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 19:14:33.77 ]
&CHRじゃないの?



28 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 19:42:37.78 ]
何でそう思ったのかな

29 名前:デフォルトの名無しさん [2013/04/23(火) 20:23:07.10 ]
ここにいる奴らはオブジェクト指向なんだよな?

30 名前:デフォルトの名無しさん [2013/04/23(火) 20:58:51.76 ]
c言語内でGZの解凍するのってどうすればいいんでしょうか?
@visual stadio

31 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 21:11:25.64 ]
ライブラリの命令で

32 名前:デフォルトの名無しさん [2013/04/23(火) 21:27:01.19 ]
いまいちライブラリの使い方がわからないのですが、どこかからlibファイルをとってきてヘッダを指定すればできるんですかね?

33 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 21:47:32.58 ]
どなたか教えてください。
キーボードから入力された文字列の中に、特定の文字の列"abc"が含まれるなら"found!"を出力し、無ければ"Not found!"を出力するプログラムをつくれ。
入力は右の文を使います。char str[50];scanf("%s", str);
○文字列の探し方:
1.str[]の中から、まず先頭の文字'a'を探す。しかし、文字列の終端に達すると'\0'が現れるので、これが現れたら見つからなかったことになる。
2.'a'が見つかったら、次の要素が'b'かチェック。もし'b'ではないなら1に戻る。
3.'b'が見つかったら、さらに次の要素が'c'かチェック。もし'c'ではないなら1に戻る。

34 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/04/23(火) 22:14:09.10 ]
>>33
#include <stdio.h>
int main(void){
int i; char str[50];
printf("入力: ");
scanf("%s", str);
for(i=0;str[i]!='\0';i++)
if(str[i]=='a'&&str[i+1]=='b'&&str[i+2]=='c')
{printf("found!\n");return 0;}
printf("Not found!\n");
return 0;}

35 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:16:19.38 ]
GZのフォーマットを調べて自前で。

36 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:27:02.19 ]
>>35
まじすか
そんなに難しくない?

37 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:32:56.46 ]
また宿題を持ち込んでるのかwwwwww



38 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:35:31.58 ]
dllで良いのでは

39 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:46:12.56 ]
なんとかプログラムをつくってみましたが未だにエラーが出てしまいます。どなたかご指摘をお願いします。
問題は、x=10に対してe^xの値をテイラー展開の式を使って解け。ただし、項の大きさが10^(-8)以下になるまで和を取りexp(x)の値と比較せよ。
#include <math.h>

int main(void){
float x,t,s,a;
x=10.0;
t=1.0;
s=t;
exp(x)=1.0;
do{
t=t*x/a;
s=s+t;
exp(x)=exp(x)+1.0;
}while(fabs(t)>1.0e-8);

printf("%e\n",exp(x));
return 0;
}

40 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:48:21.34 ]
>>38
それがどーやってdllファイルを入手するのか、どーやって使うのかよくわからないんです。
もうまる2日ぐぐって格闘してるんですが…

41 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/04/23(火) 22:52:12.94 ]
>>39
exp(x)は値を返すだけの関数なので値を代入できない。値を代入できるのは変数。
#include <stdio.h>がない。

42 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 22:59:25.63 ]
片山渾身の自作自演

43 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 23:01:49.03 ]
>>41
回答ありがとうございます。
exp(x)との比較はどうすれば良いですか?
イマイチわかりません

44 名前:デフォルトの名無しさん [2013/04/23(火) 23:02:01.22 ]
>>40
gunzip DLL

45 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/04/23(火) 23:05:18.11 ]
>>43
差の絶対値

46 名前:片山博文MZパンク ◆0lBZNi.Q7evd mailto:sage [2013/04/23(火) 23:09:32.31 ]
gunzipはLinuxでメジャーな解凍プログラムだよね
MinGW版だとwindowsでも使えるけど

47 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 23:22:00.74 ]
>>45
何度もすみません。その差の絶対値の取り方がわからないんです。教えていただけないですか?



48 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 23:24:01.44 ]
なんでこんな馬鹿にかまってんの
先生に聞けよ

49 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 23:30:20.06 ]
友達いないんだろ
察しろよ

50 名前:片山博文MZパンク ◆0lBZNi.Q7evd mailto:sage [2013/04/23(火) 23:44:29.27 ]
近似値としてeという変数を使うなら近似値との差はe - exp(x)だから差の絶対値はfabs(e - exp(x))

51 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 23:54:59.37 ]
>>40
DLLの使い方ならともかく、DLLの入手方法なんて
圧縮解凍ソフトの「ユーザとしての」初心者レベルの話だぞ…?
ソフトウェア板にでも行きなされ

52 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:05:53.00 ]

おまえがどっかいけばすむ話かもしれないね

53 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:07:53.04 ]
効いてる効いてる

54 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:15:45.73 ]
ズタズタにされたいのか?調子こいてるとリアルで痛い目に会う事になるから注意すべき

55 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:18:53.49 ]
あ、産業廃棄物が何かしゃべってる!



効いてる効いてる

56 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:19:04.34 ]
たいがいにしろよカスが
マジで親のダイヤの結婚指輪のネックレスを指にはめてぶん殴るぞ
多分奥歯が揺れるくらいの威力はあるはずだしね

57 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:20:01.26 ]
ダイヤは叩くと割と簡単に割れるぞ



58 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:21:25.82 ]
>>57
なんだおまえ?ズタズタに引き裂いてやってもいいんだぞ
あまり調子こくとリアルで痛い目を見て病院で栄養食を食べる事になる

59 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:22:44.33 ]
あれれ?
びびって逃げちゃったのかな?

60 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:29:39.50 ]
あ、産業廃棄物が何かしゃべってる!



効いてる効いてる

61 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:36:42.30 ]
お前らは一級廃人のおれの足元にも及ばない貧弱一般人
その一般人どもが一級廃人のおれに対してナメタ言葉を使うことでおれの怒りが有頂天になった
この怒りはしばらくおさまる事を知らない

62 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 00:52:26.51 ]
タイヤは叩いても簡単には割れないぞ

63 名前:デフォルトの名無しさん [2013/04/24(水) 00:53:37.60 ]
おいィ?お前らは今の言葉聞こえたか?

64 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 05:13:13.22 ]
>>58
やってみれば?
>>56
>親のダイヤの結婚指輪のネックレス
なにそれ?あと
>親
(爆笑)自分のじゃないの?

65 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 07:18:06.76 ]
ブロントにマジレスしてる奴ってなんなの?

66 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 08:19:31.34 ]
>>65
へえ、こんなのがあったんだ昔から踊らされてしまったねえww

67 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 13:22:34.22 ]
発狂するな



68 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 18:29:41.80 ]
プログラミングって
ファイル入出力以外の事をシーケンス制御って言うんですか?
中学校でプログラミング必修化するっていう記事で基本的なプログラミング
(ファイル入出力・シーケンス制御)等をやるとか書いてました。

69 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 18:41:56.71 ]
Googleという便利なサイトがあります

70 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 18:44:33.45 ]
というか中学生もプログラミング必修か
こりゃプログラマーの立場がww

71 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 18:50:02.42 ]
とりあえずC言語やるのかな?一番簡単だし

72 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 19:00:03.47 ]
最初は
C以外あり得ねー
中2 春C 秋C++
中3 春GUI 秋ネットワーク
これくらいで無理なく幅広く勉強できるんじゃないか?

73 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 19:04:04.08 ]
BASIC(笑)

74 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 19:11:44.42 ]
Cが一番簡単とかバカか

75 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 19:14:50.11 ]
でけぇ釣り針だなあ

76 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 19:27:45.40 ]
>>74
だから基礎的な文法とかはって事
中学校の授業レベルの話だろう

77 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 21:16:11.12 ]
アセンブリ言語は簡単だがPerlは難しくて挫折したという話は聞いた。



78 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 21:19:34.88 ]
Cはプロ向けだろう
C++の方が初心者向きだが、基本からとなるとPASCALの方が良いかな

79 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 01:17:22.70 ]
西部労働レストラン

80 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 01:19:15.47 ]
10 'SHASEI
20 screen 3: cls 3
30 line(0,160)-(330,160)
40 line(0,240)-(330,240)
50 for S=-1 to 1 step 2
60 for T=int(-sqr(2000)) to 60
70 X1=T: Y1=sqr(3600-X1^2)
80 X=X1+330+int(sqr(2000)): Y=-Y1*S+200
90 pset (X,Y)
100 next: next
110 for R=1 to 10
120 for S=0 to 14
130 for T=7 to 0 step -7
140 for U=0 to 15
150 circle (460+S*25,200+2*S^2),U,T
160 next: next: next: next
170 line input "CLS 3 OK?";A$
180 cls 3
190 end

81 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 08:57:29.17 ]
CとC++を最初に薦めるやつを信用してはいけない

82 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 10:35:42.22 ]
大きな釣り針

83 名前:デフォルトの名無しさん [2013/04/25(木) 21:30:05.20 ]
>>1


84 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 22:41:02.83 ]
>>81
Cが基礎だって言うやつって、言語が低水準であることと基礎と区別がつかないのかね。
PCのアーキテクチャが分かるってなら、アセンブラでも進めりゃいいのに。

85 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 22:49:16.68 ]
極論出たよ

86 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 22:58:29.41 ]
C言語は低級言語でありながらコンパイラの支援が大きいのが便利
アセンブラは自分で注意しないといけない部分が多すぎる

87 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:01:26.35 ]
C言語はアーキテクチャをあまり意識しなくてもいいし組み込みでも何でも使える
機械制御とかにもすぐ使えて便利



88 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:18:16.13 ]
COMファイルのあったDOS時代ならともかく、
今の環境でアセンブラだけで実行ファイル作るのはかなり困難

89 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:22:10.69 ]
時代はインラインセンブルァ

90 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:22:45.05 ]
マイコンならまだアセンブラ。というかアセンブラがわからないと
話にならない

91 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:24:00.21 ]
ああマイコンならそうだろうね
でもプログラム初心者にマイコン勧めるかというと

92 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:26:05.72 ]
個人的にはアセンブラを教育に使うのはアリだと思うんだけど、
CPUによって独自なところが残念。覚えてもほとんど役に立たない。

現実、アセンブラに近いくらい簡単で、覚えて役に立つのはCだと思う。
もしJavaやるなら、Cをやったあとでいいと思う。

93 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:31:20.79 ]
インラインアセンブラがx64からVC++で使えなくなったのがね・・・(gccでは使えるけど)
組み込み関数で近い事はできるしレジスタ効率もコンパイラ任せにできるんだが、
ちと物足りない

94 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 23:34:20.19 ]
H300でいいよ

95 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 00:02:11.99 ]
繰り返し
順番
分岐

この3つが基本だろ?
オブジェクト指向はややこしいから普通にCでいいじゃん
中学生の頭なら3週間で連立方程式を解くプログラム作れるように
なるでしょ

96 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 00:12:56.15 ]
printf()
scanf()
for()
while()
goto()

こんなシンプルな文法の言語のどこが難しいんだwww

97 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 00:19:14.17 ]
goto()



98 名前:デフォルトの名無しさん [2013/04/26(金) 00:32:54.63 ]
別にプログラマーの育成のために学校でプログラミングやるわけじゃないだろう。
だからCでいいかと。javaとか難しすぎるわ。

99 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 00:59:50.50 ]
難しくはないが、Cと比べると覚える質の割に量が無駄に多い

100 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 05:55:00.08 ]
よく知らんが、VBAとかなんじゃね…?
なんだかんだでBASIC系の扱い易さは残してるし
プログラマに限らず扱う言語ではあるし

101 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 08:05:46.17 ]
VBAあらばなんでも作れるしな

102 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 11:10:33.30 ]
>>85
アスペきたよ。
低水準言語→基礎 って考えがバカらしいって例で極論だしてるのにそれに極論ってツッコミ入れてどうすうる。

103 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 11:15:06.03 ]
Cは言語仕様が小さいから簡単とか言ってる連中ってほんとうにコードを書いたことあるのかね。

コンパイラでも作るなら言語仕様が小さくてシンプルなほうが楽だけど、その言語で
なにか処理を書くなら、機能の少ない言語のほうがコードが複雑になるって、ふだんなにか
コードを書いてる人間なら分かるよな。

104 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 12:16:47.22 ]
int ary[256];
sizeof ary;
このときsizeofに渡されるのはaryの先頭アドレスでしょうか
それともary全体を渡すイメージでしょうか
教えてくださいよろしくお願いいたします

105 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 12:57:26.91 ]
その場合のsizeofが返すのは配列全体のサイズってことさえわかってたら、
どっちを渡すイメージかなんてどうでもいいだろ

106 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2013/04/26(金) 13:02:05.13 ]
>>104
ary の型は int[256] だよ。
なので sizeof は ary 全体のサイズ (int が 4 バイトなら 1024 ということになる) を返す。

ポインタ型になるのは条件が揃ったときにだけ暗黙の型変換が適用されるからで、
本来は配列型とポインタ型とは別物。

107 名前:デフォルトの名無しさん [2013/04/26(金) 13:17:21.06 ]
アスペとかいうけどプログラマならアスペを誇りに思うべきだろ
むしろアスペじゃないプログラマとかいるのかと



108 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 13:31:33.45 ]
floatがあるのにdoubleがあるのは何故?
指数表示じゃ分りにくいし

109 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 13:36:52.64 ]
アスペは褒め言葉だろ
サイコパスは軽蔑の言葉だが






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<145KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef