課題
課題
急いでいます。
C言語で以下の課題(2つ)のプログラムのソースがわからないもで教えてください。
(terapadとcygwinをしようします。)
(1)1文字を入力して、下のデータのうちaのときAmerica以下japanまで、bのときBritain以下japanまで、cのときCanada以下japanまで、dのときDenmark以下japanまで、それ以外のときjapanと表示するプログラムをつくれ。ただし、switch~case文を用い、break文は使わないこと。
(2)以下のような連立方程式がある
ax+by=c
dx+ey=f
a,b,c,d,e,fの値を入力したら、x、yを求めるプログラムを作成せよ。
C言語で以下の課題(2つ)のプログラムのソースがわからないもで教えてください。
(terapadとcygwinをしようします。)
(1)1文字を入力して、下のデータのうちaのときAmerica以下japanまで、bのときBritain以下japanまで、cのときCanada以下japanまで、dのときDenmark以下japanまで、それ以外のときjapanと表示するプログラムをつくれ。ただし、switch~case文を用い、break文は使わないこと。
(2)以下のような連立方程式がある
ax+by=c
dx+ey=f
a,b,c,d,e,fの値を入力したら、x、yを求めるプログラムを作成せよ。
プロの方に質問です(プロじゃなくてもいいですが)
APIっていろいろありますよね?
API及びその関数ってすごくたくさんあると思うのですが
みなさん全部頭の中に入ってるのでしょうか?
それとも主流なのだけ覚えて他のは使うときに調べてるのですか?
様々なAPIを覚えたいのですが実用的なAPIをすべて教えてください。
API及びその関数ってすごくたくさんあると思うのですが
みなさん全部頭の中に入ってるのでしょうか?
それとも主流なのだけ覚えて他のは使うときに調べてるのですか?
様々なAPIを覚えたいのですが実用的なAPIをすべて教えてください。
Re:プロの方に質問です(プロじゃなくてもいいですが)
>API及びその関数ってすごくたくさんあると思うのですが
>みなさん全部頭の中に入ってるのでしょうか?
プロですが、入っていません。
>それとも主流なのだけ覚えて他のは使うときに調べてるのですか?
そうですね。最低限だけ覚えて、あとは用途別にメモってあります。
>様々なAPIを覚えたいのですが実用的なAPIをすべて教えてください。
その考え方が間違いかも知れません。
用途により必要なAPIは違うので、実用的なAPIは用途によって変わります。
WindowsAPIの話であれば、こちらに主要なものは紹介されていますので参考にしてください。
「Win32 API入門」
http://wisdom.sakura.ne.jp/system/winapi/index.html
ちなみに念を押しますが全部覚えなくて良いですよ。
【追記】
あと一度使って便利なものはライブラリ化してあるので、中で使っているAPIを忘れていても機能は使えます。うまく使い回すことが考えるのがプロです。
>みなさん全部頭の中に入ってるのでしょうか?
プロですが、入っていません。
>それとも主流なのだけ覚えて他のは使うときに調べてるのですか?
そうですね。最低限だけ覚えて、あとは用途別にメモってあります。
>様々なAPIを覚えたいのですが実用的なAPIをすべて教えてください。
その考え方が間違いかも知れません。
用途により必要なAPIは違うので、実用的なAPIは用途によって変わります。
WindowsAPIの話であれば、こちらに主要なものは紹介されていますので参考にしてください。
「Win32 API入門」
http://wisdom.sakura.ne.jp/system/winapi/index.html
ちなみに念を押しますが全部覚えなくて良いですよ。
【追記】
あと一度使って便利なものはライブラリ化してあるので、中で使っているAPIを忘れていても機能は使えます。うまく使い回すことが考えるのがプロです。

Re:プロの方に質問です(プロじゃなくてもいいですが)
> APIっていろいろありますよね?
はい。
OSのシステムコールもあれば、ライブラリやフレームワークやウェブサービスインターフェースもあります。
> みなさん全部頭の中に入ってるのでしょうか?
そもそもどんな種類のAPIが世の中に存在するのかを把握している人さえいないでしょう。
Win32 APIとTcl APIとTwitter APIと楽天APIを全部把握している人はかなりレアだと思います。

はい。
OSのシステムコールもあれば、ライブラリやフレームワークやウェブサービスインターフェースもあります。
> みなさん全部頭の中に入ってるのでしょうか?
そもそもどんな種類のAPIが世の中に存在するのかを把握している人さえいないでしょう。
Win32 APIとTcl APIとTwitter APIと楽天APIを全部把握している人はかなりレアだと思います。

Re:プロの方に質問です(プロじゃなくてもいいですが)
> それとも主流なのだけ覚えて他のは使うときに調べてるのですか?
わたしも使うときに調べるだけで意識して覚えることはしません。
アプリが起動するまでの初期化あたりの処理なんかはフレームワーク化しているので中身は覚えていないです。
ライブラリ化していなくても自分が過去に書いたソースコードはサンプルとして残してありますし苦労して実装したことは思い出しやすいです。
あと覚えなくて済むように速く情報を見付けられる環境を作ってます。
わたしも使うときに調べるだけで意識して覚えることはしません。
アプリが起動するまでの初期化あたりの処理なんかはフレームワーク化しているので中身は覚えていないです。
ライブラリ化していなくても自分が過去に書いたソースコードはサンプルとして残してありますし苦労して実装したことは思い出しやすいです。
あと覚えなくて済むように速く情報を見付けられる環境を作ってます。
Re:プロの方に質問です(プロじゃなくてもいいですが)
みなさん丁寧な回答ありがとうございました。
やはりみなさん必要なときに調べるのですね。
加えて質問なのですが用途ごとに調べるときは本か何かで調べるのですか?
それともネットで調べますか?
やはりみなさん必要なときに調べるのですね。
加えて質問なのですが用途ごとに調べるときは本か何かで調べるのですか?
それともネットで調べますか?
Re:プロの方に質問です(プロじゃなくてもいいですが)
softyaさんはWin32 APIの話をされていますし、ISLeさんは何か分からないけれど特定のAPIを想定されて回答しているようです。
私は一般論で回答しています。
まずは、何のAPIなのか、想定しているものがあるのならそれを明確にしてください。
私は一般論で回答しています。
まずは、何のAPIなのか、想定しているものがあるのならそれを明確にしてください。
Re:プロの方に質問です(プロじゃなくてもいいですが)
>加えて質問なのですが用途ごとに調べるときは本か何かで調べるのですか?
>それともネットで調べますか?
配布元のドキュメント。ヘルプだったりWEBサイトだったり。
↓
利用サンプルを探してみる。WEBサイトだったりAPIに付属していたり。
↓
ヘッダファイルを調べる。
↓
ソースコードが配布されていたら、ソースコードを見る。
>それともネットで調べますか?
配布元のドキュメント。ヘルプだったりWEBサイトだったり。
↓
利用サンプルを探してみる。WEBサイトだったりAPIに付属していたり。
↓
ヘッダファイルを調べる。
↓
ソースコードが配布されていたら、ソースコードを見る。
Re:プロの方に質問です(プロじゃなくてもいいですが)
>まずは、何のAPIなのか、想定しているものがあるのならそれを明確にしてください。
いまのところは何も想定していません。
この先なにか作ってくにあたって必要になってくるAPIがあると思います。
そんなときにどこで調べればいいのかと思っただけです。
たとえば先日FTPサーバーにファイルをアップロードするツールを作成したのですが
自分は馬鹿正直にWinsockを使用していましたが先日この掲示板で質問されていた方がWinAPIにFTPにファイルをアップする関数を使っていました。
自分はWinAPIにそんな関数があるとは思っていませんでしたので、もっと早く知りたかったです。
だから今後なにかを作る際に役に立てるようにAPIを覚えておこうと思ったのです。
いまのところは何も想定していません。
この先なにか作ってくにあたって必要になってくるAPIがあると思います。
そんなときにどこで調べればいいのかと思っただけです。
たとえば先日FTPサーバーにファイルをアップロードするツールを作成したのですが
自分は馬鹿正直にWinsockを使用していましたが先日この掲示板で質問されていた方がWinAPIにFTPにファイルをアップする関数を使っていました。
自分はWinAPIにそんな関数があるとは思っていませんでしたので、もっと早く知りたかったです。
だから今後なにかを作る際に役に立てるようにAPIを覚えておこうと思ったのです。
Re:プロの方に質問です(プロじゃなくてもいいですが)
>いまのところは何も想定していません。
>この先なにか作ってくにあたって必要になってくるAPIがあると思います。
>そんなときにどこで調べればいいのかと思っただけです。
大半はここと
http://msdn.microsoft.com/ja-jp/library ... 85%29.aspx
ここ
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
あたりにあると思いますが階層が深くて調べるのが大変だったりします。
英語と日本語が混じっているのも問題だったり。
>たとえば先日FTPサーバーにファイルをアップロードするツールを作成したのですが
>自分は馬鹿正直にWinsockを使用していましたが先日この掲示板で質問されていた方がWinAPIにFTPにファイルをアップする関数を使っていました。
>自分はWinAPIにそんな関数があるとは思っていませんでしたので、もっと早く知りたかったです。
思わぬAPIは結構あるので、全部把握できていません。
OSのバージョンで機能が違ったり、使えないバージョンがあったりとかなりややこしいです。
>だから今後なにかを作る際に役に立てるようにAPIを覚えておこうと思ったのです。
下記のような物もありますが、追加はマメにされていないと思います。
「API別 Win32 サンプル集」
http://nienie.com/~masapico/api_index.html
「Win32 API関数リスト」
http://yokohama.cool.ne.jp/chokuto/urawaza/api/
>この先なにか作ってくにあたって必要になってくるAPIがあると思います。
>そんなときにどこで調べればいいのかと思っただけです。
大半はここと
http://msdn.microsoft.com/ja-jp/library ... 85%29.aspx
ここ
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
あたりにあると思いますが階層が深くて調べるのが大変だったりします。
英語と日本語が混じっているのも問題だったり。
>たとえば先日FTPサーバーにファイルをアップロードするツールを作成したのですが
>自分は馬鹿正直にWinsockを使用していましたが先日この掲示板で質問されていた方がWinAPIにFTPにファイルをアップする関数を使っていました。
>自分はWinAPIにそんな関数があるとは思っていませんでしたので、もっと早く知りたかったです。
思わぬAPIは結構あるので、全部把握できていません。
OSのバージョンで機能が違ったり、使えないバージョンがあったりとかなりややこしいです。
>だから今後なにかを作る際に役に立てるようにAPIを覚えておこうと思ったのです。
下記のような物もありますが、追加はマメにされていないと思います。
「API別 Win32 サンプル集」
http://nienie.com/~masapico/api_index.html
「Win32 API関数リスト」
http://yokohama.cool.ne.jp/chokuto/urawaza/api/
Re:プロの方に質問です(プロじゃなくてもいいですが)
> >まずは、何のAPIなのか、想定しているものがあるのならそれを明確にしてください。
> いまのところは何も想定していません。
対象とするプラットフォームも想定していないのでしょうか?
> たとえば先日FTPサーバーにファイルをアップロードするツールを作成したのですが
プラットフォームを想定しないのであれば、Winsockを調べてもWindowsにしか対応できません。
例えば、↓のようなAPIについて調べる方が得策ではないでしょうか?
http://curl.haxx.se/libcurl/c/
> いまのところは何も想定していません。
対象とするプラットフォームも想定していないのでしょうか?
> たとえば先日FTPサーバーにファイルをアップロードするツールを作成したのですが
プラットフォームを想定しないのであれば、Winsockを調べてもWindowsにしか対応できません。
例えば、↓のようなAPIについて調べる方が得策ではないでしょうか?
http://curl.haxx.se/libcurl/c/
Re:プロの方に質問です(プロじゃなくてもいいですが)
> 自分はWinAPIにそんな関数があるとは思っていませんでしたので、もっと早く知りたかったです。
自分は怠け者なのでないはずがないと思いますね。
そもそも自分で作らずにFTP.EXEで済ませてしまう気がします。
WinInet拡張機能はInternet Explorer 3以降に付属するようになったDLLだそうです。
ウインドウズでは何かアプリが追加されたりアップデートしたりするだけでもAPIが増えていくので、使う前から覚えておくのは無駄が多いと思います。
自分は怠け者なのでないはずがないと思いますね。
そもそも自分で作らずにFTP.EXEで済ませてしまう気がします。
WinInet拡張機能はInternet Explorer 3以降に付属するようになったDLLだそうです。
ウインドウズでは何かアプリが追加されたりアップデートしたりするだけでもAPIが増えていくので、使う前から覚えておくのは無駄が多いと思います。