Visual Studio 2013 プログラミングコンテスト向け環境設定
目次
- はじめに
- 新規プロジェクトを作成
- 標準入力、標準出力の設定
- 複数問題への対処
- さいごに
はじめに
この資料では、Visual Studio 2013 を用いた、プログラミングコンテスト向けの環境設定の手順について説明します。
まだ Visual Studio 2013 をインストールしていない場合は、microsoftのサイトからダウンロード&インストールしてください。
(無料版で大丈夫です。また、学生は有料版のProfessionalを無料で手に入れられます。)
以下、Visual Studio 2013 のインストールが終わったものとして解説します。
新規プロジェクト作成
まずは、いつも通りプロジェクトを作成します。
途中で、Security Development Lifecycleのチェックを外すのを忘れないようにしましょう。
(忘れると、scanf等を使おうとした時に警告が出てしまいます。)
-
新しいプロジェクト > Visual C++ > Win32 コンソールアプリケーション > 名前の設定 > OK
-
次へをクリック!
-
空のプロジェクトをチェック > Security Development Lifecycle (SDL) チェックを外す > 完了
-
ソリューションエクスプローラー > ソースファイル(右クリック) > 追加 > 新しい項目
-
Visual C++ > C++ ファイル(.cpp) > 名前を設定(拡張子は.cpp) > 追加
-
(設定した名前).cpp を編集して実行可能。
今回は次のようなプログラムを書きました。(標準入力から2つの整数を読み込み、その合計を表示するプログラム)
#include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; cout << (a + b) << endl; return 0; }
標準入力、標準出力の設定
プログラミングコンテストでは、ほぼ100%標準出力、標準入力を使ったプログラムを書きます。
しかし、ソースファイルだけでなく、出力ファイルも提出しなければならない事があります。
これを解決するために、ファイル処理を使ったプログラムを書いても良いのですが、
ファイル処理は一般に面倒くさいことが多く、書くのに時間がかかったり、書き間違いが生じたりします。
ここでは、標準入力、標準出力を使ったプログラムを書きつつ、入力、出力はファイルを用いる方法について解説します。
この設定をすると、普通のscanfやstd::cinを使ったプログラムを書けば、自動的にファイル読み込み、書き込みを行うことができます。
-
ソリューションエクスプローラー > リソースファイル(右クリック) > 追加 > 新しい項目
-
名前にinput.txtと入力 > 追加
-
同様に、output.txtをリソースファイルに追加。
-
ソリューションエクスプローラー > (プロジェクト名)を右クリック > プロパティ
-
構成プロパティ > デバッグ > コマンド引数を「<input.txt >output.txt」と設定し、OK
-
(この設定は1回のみで結構です) ツール > オプション
-
環境 > ドキュメント > 「保存する場合、変更を自動的に読み込む」にチェック
-
以上で設定は完了です。input.txtに入力を入れて、プログラムを実行すると、output.txtに結果が書き込まれます。
-
ソリューションエクスプローラー > エクスプローラーでフォルダーを開く
-
このファイルを提出します。
複数問題への対処
プログラミングコンテストにおいて、1つのコンテストに1つしか問題がないということは稀です。
複数の問題があるのが普通ですが、それごとに新規ソリューション・新規プロジェクトを作ると、切り替えるのが大変です。
ここでは1つのソリューションに複数のプロジェクトを追加することによって、プロジェクトの切り替えを簡単にする方法について記述します。
-
ファイル > 追加 > 新しいプロジェクト
-
Visual C++ > Win32 コンソール アプリケーション > 名前を指定 > OK
-
1つめのプロジェクトを作った時と同じ設定を施します
-
ソリューションエクスプローラー > ソリューションを右クリック > スタートアッププロジェクトの設定
-
「現在の選択」を選択し、OKを押す。
これで、複数の問題を一つのソリューション内で扱うことができるようになりました。
さいごに
これで一応の設定は終わりです。
この他にも行番号の表示設定などしたほうが良いと思う設定はしておきましょう。
それでは良いプロコンライフを!
written by kakira.