5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【質問】C++でソフト開発したい!【初心者】

1 :デフォルトの名無しさん:2008/11/09(日) 20:20:27
C++を使って役立つツールやアプリケーションとその他(ゲームとか)をどうしても作りたい!
ちなみに今まではほとんど黒い画面に出力しかしてないぜ。
いい加減窓出してなんか作りたいのだよ( ´Д`;)

とりあえず最初の目標として[電卓](+-*/ だけの機能)を作ってみたい。
今後はそれから画像編集(加工)ツールとかエフェクトかけたりだとか
管理ツールみたいなとかまぁいろいろあるんだ。

何からすればいいんだ?おしえてくだちい。

2 :デフォルトの名無しさん:2008/11/09(日) 20:28:14
wxWidgetsの使い方を勉強しよう

3 :デフォルトの名無しさん:2008/11/09(日) 20:30:38
>>1
>あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
まずはスレを立てる前に、板のルールぐらい確認出来る程度の、
ごく当たり前の知能を身につけろ。
お前はプログラムが云々以前に、あらゆる分野に向いていない。

4 :デフォルトの名無しさん:2008/11/09(日) 20:30:53
wxWidgetsというソフトは一般的によく使われているものですか?

5 :1:2008/11/09(日) 20:51:10
事故解決しました

6 :デフォルトの名無しさん:2008/11/09(日) 22:07:29
>>1
推薦図書/必読書のためのスレッド 42
http://pc11.2ch.net/test/read.cgi/tech/1222694711/l50

7 :1:2008/11/10(月) 13:15:54
事故死しました。

8 :デフォルトの名無しさん:2008/11/10(月) 13:15:58
まぁでも気持ちは分かる。
C++でウインドウを表示する敷居は結構高いもんね。
メッセージループ、イベントドリブンの知識も必要になるし。

ライブラリ使うより、この際Windows APIで1から作るのを
勉強してみた方が為になるよ。

この辺からスタートしてみたら?
http://www.kumei.ne.jp/c_lang/index_sdk.html


9 :デフォルトの名無しさん:2008/11/10(月) 14:50:25
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

10 :デフォルトの名無しさん:2008/11/10(月) 15:08:38
>>9
おせーよ

11 :デフォルトの名無しさん:2008/11/10(月) 15:20:49
アイは天才とはいえ所詮チンパンジーなので
注意書きを書き込むのが遅くなっても生暖かく見守っていてください。
ちなみに研究員の方はわたしたちチンパンジーの出世頭ボノボです。

12 :デフォルトの名無しさん:2008/11/10(月) 16:27:09
>>1
C#で開発するというのはどう?

13 :デフォルトの名無しさん:2008/11/11(火) 07:01:39
ググればウインドウスケルトンプログラムなんていくらでも出てきそうな気がするが
ググるべき言葉がわからないか

14 :デフォルトの名無しさん:2008/11/11(火) 07:32:45
>>1がググって出てくるネット情報で理解できるとは思えない。
ステップ毎に解説してる初心者用参考書が沢山あるんだから
そういうの使った方がいいと思う。


15 :デフォルトの名無しさん:2008/11/13(木) 21:55:07
>>1
>とりあえず最初の目標として[電卓](+-*/ だけの機能)を作ってみたい。

君にはその目標は最初の目標としては難しすぎるだろ、C++をなめるなよ
だから時計(窓に時刻表示するだけで毎秒更新したりしないやつ)にしときな

16 :デフォルトの名無しさん:2008/11/13(木) 22:08:06
それを続けて一年もすればポトペタの素晴らしさが骨身にしみて分かるのさ
カーンは天才だ!

大抵そこまで行くまでにプログラミング自体に飽きるんだけど

17 :デフォルトの名無しさん:2008/11/13(木) 22:40:02
超初心者が作る窓アプリケーションの順番

1:静的時計(時刻手動更新型)
2:カレンダー
3:動的時計(時刻自動更新型)
4:電卓
5:画像表示ソフト

この順番で勉強しながらやれば挫折しなそうでいいんじゃない
C++でいきなり電卓なんて挫折率高そう、頭いい人ならすんなり出来るだろうけど

18 :デフォルトの名無しさん:2008/11/13(木) 22:50:41
最初は簡単なIMを作ってみるといいだろ。

19 :デフォルトの名無しさん:2008/11/14(金) 06:29:50
>>17
カレンダーの表示はGDI?
ちょっと敷居高くない?


20 :デフォルトの名無しさん:2008/11/14(金) 08:11:07
GDIなんざ使わんでも作れるぞ。初心者だったら、ラベルでも貼れば充分だ。

21 :デフォルトの名無しさん:2008/11/14(金) 15:04:53
サンプル書き倒した後に作ろうと思ったのがレトロRPGゲームの戦闘プログラムだったな俺
CUIだけで作ったけどあれは面白かった もう10年ぐらい前か

22 :デフォルトの名無しさん:2008/11/14(金) 19:16:40
>>19
TextOutとか>>20さんの言うとおりラベル貼るとかして
文字並べるだけのやつでしょ

23 :デフォルトの名無しさん:2008/11/14(金) 23:34:15
カレンダーコントロール貼り付けてできあがりとかじゃ意味ないね。

24 :デフォルトの名無しさん:2008/11/15(土) 00:07:40
>>23
景気づけにまずそれで感覚をつかんで、次にtextoutで作ってみて、
最後にラベル使って作るってのはどうかな。

GDI使って作るのはだいぶ先になりそうだね。

25 :デフォルトの名無しさん:2008/11/15(土) 00:54:48
>>19
窓で表示する単純なカレンダーの事です、印刷は考慮してません

× 2:カレンダー
○ 2:カレンダー (印刷機能なし)

誤解を招いてすいません

26 :デフォルトの名無しさん:2008/11/28(金) 00:48:22
俺はVB使ってきたけど、このスレ読んでC++使ってみたくなって
ぐぐりながら静的時計作ったよ(結構面白かった)
(クライアント領域の中央に時刻を表示して、クリックすると最新の時刻に更新するだけのやつ)
コンパイラに何度も怒られて大変だった・・・
結局10数時間かかったよ、VBの簡単さを改めて認識した
これで終わらせず暇見つけてバージョンアップしてみるよ

27 :デフォルトの名無しさん:2008/12/07(日) 03:30:17
>>26
お前C言語はじめてじゃないだろ
どの開発言語使って作ったんだ?
.NET使ったのか?
Win32API使ったのか?

28 :デフォルトの名無しさん:2008/12/07(日) 03:39:57
すまん、>>27に追加
MFC使ったのか?

29 :デフォルトの名無しさん:2008/12/07(日) 16:46:42
>>28
ATLとWFCも追加してね。(w

30 :デフォルトの名無しさん:2008/12/07(日) 23:39:40
>>27-29
OS:ビスタSP1、言語:VC++2008 EE、Win32API使用
Win32プロジェクトのテンプレ選んで、Win32アプリウィザードが
吐き出したプログラムを変更したり追加したりして作成したよ
時刻表示にはTextOutじゃなくてDrawText使った
最近スペースキーをキーダウンしても時刻が更新されるようにバージョンアップした

それとBASIC系以外の言語使ったのは今回のC++が初めてです
C言語系は雑誌とか本屋での専門書の立ち読みで多少の知識はあった(脳内プログラムやってました)
けど、実際にプログラムしてみると基本的なことも分ってなくてエラー出しまくりました

まあ今回の経験でWin32APIプログラミングの楽しさがわかったよ
(静的時計という超簡単な課題だから楽しかったのかも・・・)

31 :デフォルトの名無しさん:2008/12/08(月) 01:00:09
いきなり超敷居がたけーしね
vs2008eeってリソースエディタねぇし
俺がvs2008eeダウンロードして第一声

→パネェw

んで後で調べたらすべての入門サイトが死んでるとか非常に愉快な状態になっててフイタw

ていうかここにいる奴等ってVC6の感覚で>>1のこと言ってねぇか?
マジでハンパねぇぞvs2008eeはvc6、.netの頃のスタンダード版が13000円で手に入った時代とは違うんだぜ
vs2008eeがタダで手に入る・・・それはフェイクw
実際にはアップグレード版のvs2008を購入してvs2008eeの上に詰んではじめて入門サイトと同じことができる
マジで初見殺し

>>1お前は頑張ったと思う
初めてにしたら頑張りすぎだ

32 :デフォルトの名無しさん:2008/12/08(月) 01:17:29
ちなみに>>31はMFCを使う場合
vs2008eeではプロジェクト作成時にCLR→Windowsフォームアプリケーション
で.netFrameworkのアプリケーションが作成できるが
それのボタンクリックの吐き出すコード

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
};

初心者にどうしろとw
とにかくどうやらキチガイが作ったツールぽく
入門書を1冊すべてを終わらせてもなんだか自動生成されるコードの意味がさっぱりよくわからない
超難問コースにいつの間にかなってしまっているわけだ

もうちょっとみんな暖かく迎えてやってくれと俺は思った

33 :デフォルトの名無しさん:2008/12/08(月) 01:28:15
>>30
ちなみに言っておくとはじめに進むべき道は多分
このツール的には.netの方が正解だと思う
道は>>27-28のいうように
@.net
Awin32API
BMFC
とあるがリソースエディタが無いので@Aは過酷を極める

つまりvs2008eeを起動したら

ファイル→新規作成→プロジェクト→VisualC++→Windowsフォームアプリケーション

を選ぶと幸せになれる
ただ、入門サイトが俺にはみあたらねぇ
あっても数が少なくて「それ、本当にいいのか?」って思ってしまうぐらい少ない
サイトじゃなくて入門書を買ったほうがいいかもしれない
っていうか買うべきだろ多分

って状況

34 :デフォルトの名無しさん:2008/12/08(月) 01:29:00
ぎゃー間違った

Xとあるがリソースエディタが無いので@Aは過酷を極める
○とあるがリソースエディタが無いのでABは過酷を極める

35 :デフォルトの名無しさん:2008/12/08(月) 05:33:12
>>30
Win32API使ったのかよ…
しかもVC++2008EEでかよ…
APIがりがりやって本当に楽しかったのか?
だったらお前プログラマに向いてるな

36 :デフォルトの名無しさん:2008/12/08(月) 07:43:03
仮によくある入門書と同じことしたい
つまりmfcやwin32で進めてみたいならvs2008のスタンダード版にアップしたほうがいいかもしんないけど
いまから始める場合.netとどっちがいいかは俺にはわからないや
ちなみに.netでも入門書はあると思うので両方とも読んでみて好きなほう選んだらいいと思う

37 :デフォルトの名無しさん:2008/12/08(月) 14:51:10
下手に、MFCやATL/WTLからWindowsプログラムに入るより
Win32APIからやった方が簡単だろ


38 :デフォルトの名無しさん:2008/12/08(月) 19:20:10
>>37
.netって少しは楽になってないの?

39 :デフォルトの名無しさん:2008/12/09(火) 00:00:46
>>33
俺はクイックベーシック→VB→VB.NETというふうに経験してきたので
>>1のようにプログラミング経験少ないわけではないので.NETだと
>>17の課題は全部簡単に出来てしまうので、あえて昔リファレンス見ただけで
挫折したWIN32APIを選びました
(一応VB.NET、C#、C++.NETでも静的時計作ってみたけど簡単すぎ)

みんなリソースエディタがないと過酷とか言うけど何でですか?
俺は素人なので分りません・・・
静的時計作るときにリソースファイルのウィンドウタイトルの項目を直接”時計”に
変更したけど・・・、やっぱり本格的なソフト作るときはないと大変なんですかね

>>35
本当に楽しかったです、仕事でプログラミングした事ないので向いてるか分りませんが
楽しいのでまたバージョンアップしました
(ウィンドウ最小化した時にウィンドウタイトルを時刻に変更されるようにしたよ)

40 :デフォルトの名無しさん:2008/12/09(火) 00:12:59
リソースエディタの便利さの半分以上がマウスでウィンドウデザインができる
(VBには到底及ばないけど)というところ。

たしかに時計くらいだったらなくてもなんとかなる。

41 :デフォルトの名無しさん:2008/12/09(火) 00:23:42
超初心者が作る窓アプリケーションの順番

1:静的デジタル時計(時刻手動更新型)
2:カレンダー(印刷機能なし)
3:動的デジタル時計(時刻自動更新型)
4:電卓
5:画像表示ソフト

>>39
じゃあそろそろ課題2(カレンダー(印刷機能なし))に挑戦しましょう

42 :41:2008/12/09(火) 00:31:06
ごめん、下げ忘れたorz
>>39
最近このスレ上がりすぎてると思うので君もしばらくsageにしないかい?

43 :デフォルトの名無しさん:2008/12/09(火) 00:43:48
そういえば>>1はどうなったんだろか…
最初の目標の電卓は無事作れたのかね
おーい>>1、どーなったか聞かせてくれよ
返事がない場合は挫折したとみなすぞい

44 :デフォルトの名無しさん:2008/12/09(火) 01:13:59
とりあえずリソースエディタ作ったら、
皆さん幸せになれるのか…

45 :デフォルトの名無しさん:2008/12/09(火) 01:21:03
いや、フリーでも存在するし。
VC++ Expressの場合は、Std以上と違ってIDEと一体になっていないというのが問題。
単に、それを前提とした解説が参考にならないよというだけのことだけど。

46 :デフォルトの名無しさん:2008/12/09(火) 01:28:15
じゃあ日本語純正のリソースエディタ作ってくれ。
すべての部品が扱えて
rcファイルもバイナリも吐き出してくれるやつ。

47 :デフォルトの名無しさん:2008/12/09(火) 01:45:55
>>46
わかってねぇな
これまで普通にある入門サイトどおりに実行できないってところが問題だろうがよ
初心者何をみればいいんだ(.netやればいいじゃないってことなんだろうけどw)
mfcのサンプルもコンパイルできないぞ(リソースのコンパイルもできない)

48 :デフォルトの名無しさん:2008/12/09(火) 01:52:41
MFCはさすがに論外だろ。

49 :デフォルトの名無しさん:2008/12/09(火) 01:52:49
>>31-32
>ていうかここにいる奴等ってVC6の感覚で>>1のこと言ってねぇか?

言ってるねえ、VC6でWin32APIゴリゴリやって・・・っていう流れだったね

CLRマネージで.NET使ってやるとしても確かに初心者には難しすぎるよな
黒画面に出力できる程度じゃ何がなんだかわからんだろうな

50 :デフォルトの名無しさん:2008/12/09(火) 07:06:33
>>45
Express、リソースエディタ付いて無いんだw
使えねーwww


51 :デフォルトの名無しさん:2008/12/09(火) 07:26:10
>>38
おれは少しは楽になってると思うけどね、でもC#は結構ややこしい事が
たまにある、VB.NETでは簡単に出来るのにC#だと面倒な事が・・・
でもVB.NETのライブラリ使えばいいんだけどC#でVB.NETライブラリ使うのは
さすがにかなり抵抗感があるからなー

52 :デフォルトの名無しさん:2008/12/09(火) 10:26:49
>>47
へ?
リソースエディタが無いだけで、リソースのコンパイルは出来るぞ


53 :デフォルトの名無しさん:2008/12/09(火) 13:59:15
rc.exeはついてる

54 :デフォルトの名無しさん:2008/12/09(火) 14:04:18
eVC4とか他のリソースエディタを使えばいいのに

55 :デフォルトの名無しさん:2008/12/09(火) 22:13:56
>>40
それは便利ですね、VC++(CLRマネージとか言うやつ以外)での開発は
マウスでウィンドウデザインなんて出来ないと思ってました(スタンダードエディッションほしくなりました)
(時計開発ではCreateWindow関数の引数を変えてサイズを調整してました)

>>41
ちょっと待ってください、まだ静的時計のプログラムを合理的に整えてないので
それとダイアログ使ってフォントや前景色や背景色を変えられるようにもしてみたいし
一応カレンダーの日にち表示のアルゴリズム考えたりもしてみたので
(DrawText使ってポインタも使ってとかになりそう)
早くカレンダーも挑戦してみたいとは思ってるんだけどね

56 :デフォルトの名無しさん:2008/12/09(火) 22:18:48
>>52
駄目っぽい・・・と思ったら
リソースじゃなくて
afxwin.hがないからMFCがコンパイルできないってことだった

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1421072794

ということはMFCの道はハナからなかったんだ・・・嘘言ってました・・・スマンコ
MFCアプリをコンパイルするにはスタンダート版を購入する必要があるとのこと

なのでWin32+リソースはいけるのかな?

57 :なめ:2008/12/09(火) 22:30:18
ID 名前 性別

というフォーマットのファイルがあるとします。
これを、それぞれを文字列として、構造体に格納するとします。
構造体の例:
struct{
string a;
string b;
string c;
}_dataType;

各行には、上記の3つのレコードだけだとして、
区切り文字は、半角空白か、Tab('\t')
行末には空白文字は許容するけど、それは、構造体の「性別」を格納する変数には
含まない

てな条件で、データファイルを読み込む場合、
stringで、std::getline() を使う
char * で、fstream::getline()をつかう
char * で、fgets()を使う
その他
どれが一番楽なのか教えてほしいっす。できれば、切り分けするところのサンプルなんかも。。。

58 :なめ:2008/12/09(火) 22:40:34
>>57
環境: gccでやりたいです。Win系ライブラリは使わない方向で。。。
ゆくゆくはLinuxでも使用する予定。

59 :デフォルトの名無しさん:2008/12/09(火) 23:45:40
>>55
そんなに改良するんですか、じゃあカレンダーはまだまだ先の話だね

60 :デフォルトの名無しさん:2008/12/10(水) 00:13:36
>>57
どっちかと言うと、初心者スレ向きか。
stringと書いているのはstd::stringを想定しているのかな。
だとしたら、C++らしくstream系を使うのが常道かと。
固定長配列を使うのなら、fgets()+sscanf()でもいいと思うが。

61 :デフォルトの名無しさん:2008/12/10(水) 10:10:33
まあ stream I/O はやめとけ。糞の塊だ。

62 :デフォルトの名無しさん:2008/12/10(水) 12:43:26
>1
電卓よりもまずハロプロだ
VC++EE起動→新規で新しいプロジェクト→CLRでWindowsフォームアプリケーション

プロジェクト名には適当な名前をいれろ(今回はhalopro)
しばらくするとForm1が出てくるから、ツールボックスからボタンとラベルを貼る

ボタンをWクリックする
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
が出る
漏的には
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
}
改修してる、で{と}の間に行ないたいことを書く
今回はハロプロだ!つまりハロープロジェクトということは、だ、良くあるハローだ
言いたいことは分かるな
label1->Text = L"ハロー";
で後はF5を押せば起動するさ
初心者にはリソースエディタなんか無くても問題なっしんグゥ〜

63 :デフォルトの名無しさん:2008/12/10(水) 21:10:44
^ e)←これ見るとイラッとくる

64 :デフォルトの名無しさん:2008/12/18(木) 23:42:08
WinampのPLAYLOGアップロードPluginを作りたいんですけれど、どなたか手伝ってくださる方いらっしゃいませんか?
C++まったくわからないもので…

65 :デフォルトの名無しさん:2008/12/21(日) 13:42:35
>>64
いいよ。

66 :デフォルトの名無しさん:2009/01/04(日) 10:19:51
>>65
いつになったらできるの?

67 :デフォルトの名無しさん:2009/01/04(日) 13:41:14
>>64 がC++を覚えたら
(まさかC++でソフト開発したくないわけじゃなかろう)

68 :デフォルトの名無しさん:2009/01/06(火) 11:16:48
だから分からないところを聞いてくれないと話が進まない

69 :デフォルトの名無しさん:2009/01/06(火) 15:04:50
「まったくわからない」つってんだから、
「手伝って」=「ぜんぶやって」
なのは間違いの無いところ。

70 :デフォルトの名無しさん:2009/01/06(火) 21:17:18
正月早々おめでたい話だな。

21 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)