【質問】C++でソフト開発したい!【初心者】
■ このスレッドは過去ログ倉庫に格納されています
C++を使って役立つツールやアプリケーションとその他(ゲームとか)をどうしても作りたい!
ちなみに今まではほとんど黒い画面に出力しかしてないぜ。
いい加減窓出してなんか作りたいのだよ( ´Д`;)
とりあえず最初の目標として[電卓](+-*/ だけの機能)を作ってみたい。
今後はそれから画像編集(加工)ツールとかエフェクトかけたりだとか
管理ツールみたいなとかまぁいろいろあるんだ。
何からすればいいんだ?おしえてくだちい。 >>1
>あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
まずはスレを立てる前に、板のルールぐらい確認出来る程度の、
ごく当たり前の知能を身につけろ。
お前はプログラムが云々以前に、あらゆる分野に向いていない。 wxWidgetsというソフトは一般的によく使われているものですか? まぁでも気持ちは分かる。
C++でウインドウを表示する敷居は結構高いもんね。
メッセージループ、イベントドリブンの知識も必要になるし。
ライブラリ使うより、この際Windows APIで1から作るのを
勉強してみた方が為になるよ。
この辺からスタートしてみたら?
http://www.kumei.ne.jp/c_lang/index_sdk.html
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。 アイは天才とはいえ所詮チンパンジーなので
注意書きを書き込むのが遅くなっても生暖かく見守っていてください。
ちなみに研究員の方はわたしたちチンパンジーの出世頭ボノボです。 ググればウインドウスケルトンプログラムなんていくらでも出てきそうな気がするが
ググるべき言葉がわからないか >>1がググって出てくるネット情報で理解できるとは思えない。
ステップ毎に解説してる初心者用参考書が沢山あるんだから
そういうの使った方がいいと思う。
>>1
>とりあえず最初の目標として[電卓](+-*/ だけの機能)を作ってみたい。
君にはその目標は最初の目標としては難しすぎるだろ、C++をなめるなよ
だから時計(窓に時刻表示するだけで毎秒更新したりしないやつ)にしときな それを続けて一年もすればポトペタの素晴らしさが骨身にしみて分かるのさ
カーンは天才だ!
大抵そこまで行くまでにプログラミング自体に飽きるんだけど 超初心者が作る窓アプリケーションの順番
1:静的時計(時刻手動更新型)
2:カレンダー
3:動的時計(時刻自動更新型)
4:電卓
5:画像表示ソフト
この順番で勉強しながらやれば挫折しなそうでいいんじゃない
C++でいきなり電卓なんて挫折率高そう、頭いい人ならすんなり出来るだろうけど >>17
カレンダーの表示はGDI?
ちょっと敷居高くない?
GDIなんざ使わんでも作れるぞ。初心者だったら、ラベルでも貼れば充分だ。 サンプル書き倒した後に作ろうと思ったのがレトロRPGゲームの戦闘プログラムだったな俺
CUIだけで作ったけどあれは面白かった もう10年ぐらい前か >>19
TextOutとか>>20さんの言うとおりラベル貼るとかして
文字並べるだけのやつでしょ カレンダーコントロール貼り付けてできあがりとかじゃ意味ないね。 >>23
景気づけにまずそれで感覚をつかんで、次にtextoutで作ってみて、
最後にラベル使って作るってのはどうかな。
GDI使って作るのはだいぶ先になりそうだね。 >>19
窓で表示する単純なカレンダーの事です、印刷は考慮してません
× 2:カレンダー
○ 2:カレンダー (印刷機能なし)
誤解を招いてすいません 俺はVB使ってきたけど、このスレ読んでC++使ってみたくなって
ぐぐりながら静的時計作ったよ(結構面白かった)
(クライアント領域の中央に時刻を表示して、クリックすると最新の時刻に更新するだけのやつ)
コンパイラに何度も怒られて大変だった・・・
結局10数時間かかったよ、VBの簡単さを改めて認識した
これで終わらせず暇見つけてバージョンアップしてみるよ >>26
お前C言語はじめてじゃないだろ
どの開発言語使って作ったんだ?
.NET使ったのか?
Win32API使ったのか? >>27-29
OS:ビスタSP1、言語:VC++2008 EE、Win32API使用
Win32プロジェクトのテンプレ選んで、Win32アプリウィザードが
吐き出したプログラムを変更したり追加したりして作成したよ
時刻表示にはTextOutじゃなくてDrawText使った
最近スペースキーをキーダウンしても時刻が更新されるようにバージョンアップした
それとBASIC系以外の言語使ったのは今回のC++が初めてです
C言語系は雑誌とか本屋での専門書の立ち読みで多少の知識はあった(脳内プログラムやってました)
けど、実際にプログラムしてみると基本的なことも分ってなくてエラー出しまくりました
まあ今回の経験でWin32APIプログラミングの楽しさがわかったよ
(静的時計という超簡単な課題だから楽しかったのかも・・・) いきなり超敷居がたけーしね
vs2008eeってリソースエディタねぇし
俺がvs2008eeダウンロードして第一声
→パネェw
んで後で調べたらすべての入門サイトが死んでるとか非常に愉快な状態になっててフイタw
ていうかここにいる奴等ってVC6の感覚で>>1のこと言ってねぇか?
マジでハンパねぇぞvs2008eeはvc6、.netの頃のスタンダード版が13000円で手に入った時代とは違うんだぜ
vs2008eeがタダで手に入る・・・それはフェイクw
実際にはアップグレード版のvs2008を購入してvs2008eeの上に詰んではじめて入門サイトと同じことができる
マジで初見殺し
>>1お前は頑張ったと思う
初めてにしたら頑張りすぎだ ちなみに>>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冊すべてを終わらせてもなんだか自動生成されるコードの意味がさっぱりよくわからない
超難問コースにいつの間にかなってしまっているわけだ
もうちょっとみんな暖かく迎えてやってくれと俺は思った >>30
ちなみに言っておくとはじめに進むべき道は多分
このツール的には.netの方が正解だと思う
道は>>27-28のいうように
@.net
Awin32API
BMFC
とあるがリソースエディタが無いので@Aは過酷を極める
つまりvs2008eeを起動したら
ファイル→新規作成→プロジェクト→VisualC++→Windowsフォームアプリケーション
を選ぶと幸せになれる
ただ、入門サイトが俺にはみあたらねぇ
あっても数が少なくて「それ、本当にいいのか?」って思ってしまうぐらい少ない
サイトじゃなくて入門書を買ったほうがいいかもしれない
っていうか買うべきだろ多分
って状況 ぎゃー間違った
Xとあるがリソースエディタが無いので@Aは過酷を極める
○とあるがリソースエディタが無いのでABは過酷を極める >>30
Win32API使ったのかよ…
しかもVC++2008EEでかよ…
APIがりがりやって本当に楽しかったのか?
だったらお前プログラマに向いてるな 仮によくある入門書と同じことしたい
つまりmfcやwin32で進めてみたいならvs2008のスタンダード版にアップしたほうがいいかもしんないけど
いまから始める場合.netとどっちがいいかは俺にはわからないや
ちなみに.netでも入門書はあると思うので両方とも読んでみて好きなほう選んだらいいと思う 下手に、MFCやATL/WTLからWindowsプログラムに入るより
Win32APIからやった方が簡単だろ
>>33
俺はクイックベーシック→VB→VB.NETというふうに経験してきたので
>>1のようにプログラミング経験少ないわけではないので.NETだと
>>17の課題は全部簡単に出来てしまうので、あえて昔リファレンス見ただけで
挫折したWIN32APIを選びました
(一応VB.NET、C#、C++.NETでも静的時計作ってみたけど簡単すぎ)
みんなリソースエディタがないと過酷とか言うけど何でですか?
俺は素人なので分りません・・・
静的時計作るときにリソースファイルのウィンドウタイトルの項目を直接”時計”に
変更したけど・・・、やっぱり本格的なソフト作るときはないと大変なんですかね
>>35
本当に楽しかったです、仕事でプログラミングした事ないので向いてるか分りませんが
楽しいのでまたバージョンアップしました
(ウィンドウ最小化した時にウィンドウタイトルを時刻に変更されるようにしたよ) リソースエディタの便利さの半分以上がマウスでウィンドウデザインができる
(VBには到底及ばないけど)というところ。
たしかに時計くらいだったらなくてもなんとかなる。 超初心者が作る窓アプリケーションの順番
1:静的デジタル時計(時刻手動更新型)
2:カレンダー(印刷機能なし)
3:動的デジタル時計(時刻自動更新型)
4:電卓
5:画像表示ソフト
>>39
じゃあそろそろ課題2(カレンダー(印刷機能なし))に挑戦しましょう ごめん、下げ忘れたorz
>>39
最近このスレ上がりすぎてると思うので君もしばらくsageにしないかい? そういえば>>1はどうなったんだろか…
最初の目標の電卓は無事作れたのかね
おーい>>1、どーなったか聞かせてくれよ
返事がない場合は挫折したとみなすぞい とりあえずリソースエディタ作ったら、
皆さん幸せになれるのか… いや、フリーでも存在するし。
VC++ Expressの場合は、Std以上と違ってIDEと一体になっていないというのが問題。
単に、それを前提とした解説が参考にならないよというだけのことだけど。 じゃあ日本語純正のリソースエディタ作ってくれ。
すべての部品が扱えて
rcファイルもバイナリも吐き出してくれるやつ。 >>46
わかってねぇな
これまで普通にある入門サイトどおりに実行できないってところが問題だろうがよ
初心者何をみればいいんだ(.netやればいいじゃないってことなんだろうけどw)
mfcのサンプルもコンパイルできないぞ(リソースのコンパイルもできない) >>31-32
>ていうかここにいる奴等ってVC6の感覚で>>1のこと言ってねぇか?
言ってるねえ、VC6でWin32APIゴリゴリやって・・・っていう流れだったね
CLRマネージで.NET使ってやるとしても確かに初心者には難しすぎるよな
黒画面に出力できる程度じゃ何がなんだかわからんだろうな >>45
Express、リソースエディタ付いて無いんだw
使えねーwww
>>38
おれは少しは楽になってると思うけどね、でもC#は結構ややこしい事が
たまにある、VB.NETでは簡単に出来るのにC#だと面倒な事が・・・
でもVB.NETのライブラリ使えばいいんだけどC#でVB.NETライブラリ使うのは
さすがにかなり抵抗感があるからなー >>47
へ?
リソースエディタが無いだけで、リソースのコンパイルは出来るぞ
>>40
それは便利ですね、VC++(CLRマネージとか言うやつ以外)での開発は
マウスでウィンドウデザインなんて出来ないと思ってました(スタンダードエディッションほしくなりました)
(時計開発ではCreateWindow関数の引数を変えてサイズを調整してました)
>>41
ちょっと待ってください、まだ静的時計のプログラムを合理的に整えてないので
それとダイアログ使ってフォントや前景色や背景色を変えられるようにもしてみたいし
一応カレンダーの日にち表示のアルゴリズム考えたりもしてみたので
(DrawText使ってポインタも使ってとかになりそう)
早くカレンダーも挑戦してみたいとは思ってるんだけどね >>52
駄目っぽい・・・と思ったら
リソースじゃなくて
afxwin.hがないからMFCがコンパイルできないってことだった
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1421072794
ということはMFCの道はハナからなかったんだ・・・嘘言ってました・・・スマンコ
MFCアプリをコンパイルするにはスタンダート版を購入する必要があるとのこと
なのでWin32+リソースはいけるのかな? ID 名前 性別
というフォーマットのファイルがあるとします。
これを、それぞれを文字列として、構造体に格納するとします。
構造体の例:
struct{
string a;
string b;
string c;
}_dataType;
各行には、上記の3つのレコードだけだとして、
区切り文字は、半角空白か、Tab('\t')
行末には空白文字は許容するけど、それは、構造体の「性別」を格納する変数には
含まない
てな条件で、データファイルを読み込む場合、
stringで、std::getline() を使う
char * で、fstream::getline()をつかう
char * で、fgets()を使う
その他
どれが一番楽なのか教えてほしいっす。できれば、切り分けするところのサンプルなんかも。。。 >>57
環境: gccでやりたいです。Win系ライブラリは使わない方向で。。。
ゆくゆくはLinuxでも使用する予定。 >>55
そんなに改良するんですか、じゃあカレンダーはまだまだ先の話だね >>57
どっちかと言うと、初心者スレ向きか。
stringと書いているのはstd::stringを想定しているのかな。
だとしたら、C++らしくstream系を使うのが常道かと。
固定長配列を使うのなら、fgets()+sscanf()でもいいと思うが。 まあ stream I/O はやめとけ。糞の塊だ。 >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を押せば起動するさ
初心者にはリソースエディタなんか無くても問題なっしんグゥ〜 WinampのPLAYLOGアップロードPluginを作りたいんですけれど、どなたか手伝ってくださる方いらっしゃいませんか?
C++まったくわからないもので… >>64 がC++を覚えたら
(まさかC++でソフト開発したくないわけじゃなかろう) だから分からないところを聞いてくれないと話が進まない 「まったくわからない」つってんだから、
「手伝って」=「ぜんぶやって」
なのは間違いの無いところ。 開発現場ではクラスはソースに置いていますか?
それともヘッダのような物に分離しておいていますか? >>75
あきらめたというより過疎すぎだしな
1月->4月じゃあいなくなるわ つーか、態々こんな終わったスレを選んで質問する奴の気が知れん。 まず「質問」「初心者」の文字で検索するからだろうなw VS2005EEから愛用してるが...VC++Toolkit2003よりも使いやすくて重宝してる
エディターが賢いし、NMAKEも付いてるし、VS2008EEにはSDKも付いてるし
リソースエディタが無いぐらいどうって事もないんだが http://www.microsoft.com/japan/msdn/vstudio/2008/product/express/install_vc.aspx
マイクロソフトのフリー開発環境インストール紹介ページで
「時計を作ってみよう」というタイトルで作成方法が紹介されています。
この時計の作り方を見て、VisualC++6.0でも時計を作れますか?
Visual C++ 2008でないと出来ませんか?
class A{ public: struct B{ int dummy; }; };
この場合の A::B を前方定義する方法はありますか? 放り込んだファイルをただ単に繋げっていって1つのファイルにするプログラムを作りたい! 調べたら[COPY]でいけるんだね
>>89
きっかけをありがとー
visual C++ ってどれをダウンロードしたらいいの?
初歩すぎてすまなんだ >>92
Web インストール (ダウンロード)
クリックしてもダウンロードできないんですよ・・・ 本屋で買った入門書の、最初に載ってるコマンドプロンプトに文字を出力するソースコード書いて、
デバックだかビルドまではできた(エラーとかはない)っぽいんだが、肝心のコマンドプロンプトの出し方がよくわからない
ステップオーバーっていうのをやると、コマンドプロンプトは出てくるけど何も表示しないし、
「Debug」ってフォルダの中にexeがあるけど、実行してもコマンドプロンプトのウィンドウは一瞬で消える
ググったりしてみてもマイクロソフトのサイトは何が書いてあるかわからないし、
普通の人のサイトはバージョン(俺のは2010 Express)が違うせいか、そのメニューとかアイコンがない
デバックだかビルドはできたっぽいって言ったけど、文法的にミスがないだけで意味のないものを作ってしまったのかも…
だとしたら心当たりはこれ http://www.ced.is.utsunomiya-u.ac.jp/lecture/2006/common/vs2005/devstudio.php
入門書にはまずテキストエディタにソースコードを書いて、拡張子cppで保存しろって書いてあったけど、
それで作ったファイルを開いても ビルドとかデバックできなかった(アイコンがクリックできない)から
、リンクのサイト見ながらプロジェクトだのソリューションだのを作った へたくそな説明で申し訳ない
書く→コンパイル(VCではビルドだっけ)→実行 が出来ないとプログラムの勉強が先に進まない… 誰か教えて さっきその一瞬で見えたんだが、ちゃんと文字は表示されてたわ…
表示してから、待つようになってなかったみたい…
でも、何で一瞬で消えちゃうの?
入門書に書いてあった通りやったのに どうやったら一瞬で消えないで待ってくれるの? >>97
まずはコマンドプロンプトの使い方を覚えるべき。
Visual Studioメニューでも
ファイル名をしていて実行→「cmd」Enter
でコマンドプロンプトを出して
「cd "Debugのパス"」
で移動してexe名を入力
次は「ファイル名を指定して実行」がないと言い出すと思うw
Vista以降、デフォルトで表示されてねーからなw ■ このスレッドは過去ログ倉庫に格納されています