Visual StudioでHello Worldするのにn年かかりました
はじめに
はじめまして。パンダちゃんです。
これは FUN Advent Calendar 2019の6日目の記事です。
昨日は、iPadを買っておけ間違いないから!!!でした。
3年前、競技プログラミングをはじめました。
これは、今までeclipseでしかプログラミングをやったことがないパンダちゃんが、Visual StudioでHello Worldするお話です。c++でやることを前提として書いてます。
以前使ってた自分のパソコンにeclipseをインストールしたのは弟です。大学では自分でプログラミングをやりたいと思い、自分で調べ、自分でVisual Studioをインストールしました。ちなみに、Visual StudioでHello Worldできたのは3か月前です。
ざっくりとした流れ
競技プログラミングはじめる
↓
eclipse以外の環境で競プロをやっている人がいることを知る
↓
自分には難しいと思いeclipseを使い続ける
↓
大学では使えるようになりたいと思う
↓
大学に入る
↓
↓
自分もやってみる
↓
できない、うえーん
↓
c++の絵本に出会う
↓
書いてある通りにやってみる
↓
できた!!!!
環境
Windows 10 Home
Visual Studio 2017 コミュニティ
eclipseとは
統合開発環境です。c/c++、java、PHP、Pythonなどの言語が使えます。これ以上知りたい人は自分でググってね。
https://mergedoc.osdn.jp/(←eclipseダウンロードできる)
統合開発環境(通称IDE)です。コードエディタ、コンパイラ、デバッガ、テストツール、バージョン管理ソフトなどで構造されています。c++、java、c#、Python、HTML/JavaScriptなどの言語が使えます。Windows対応です。mac版やLinax版もあるみたいです。ググれば出てきます。
Visual Studioのインストール
URLから飛べるようにしたかったけどうまくできなかったので、ググってください。インストール方法は割愛します。(割愛という言葉を使ってみたかっただけ)
自分はVisual Studio2017をインストールしました。(理由は覚えていません)
プロジェクトの作成
- Visual Studioを起動します。
- 左上のメニューから「ファイル」→「新規作成」→「プロジェクト」の順にクリックすると、以下の画面が出てきます。
- Visual C++と一番上のWindows コンソールアプリケーションを選び、プロジェクトを作成します。名前はとりあえず「Panda」にしました。保存場所に自分の名字が入ってしまったので消してます。
- OKボタンをクリックします。
- プロジェクトを起動します。
- Hello Worldが出力できるようなプログラムが書かれていますが少し書き直しました。
赤く囲ったところをクリックすると実行できます。 - 実行できました!!!(画像見づらいかもしれないけど、目いっぱい開いて)
- 早速、競プロをやりたいのでAtcoderのA問題をやってみた結果、CE(コンパイルエラー)となりました。
- え??と思いコードをよく見ると、今まで見たことのないコードがありました。一行目に「#include "pch.h"」と書いてありました。こいつを消してもう一度同じ問題をやってみたところ、AC(正解)しました。
- じゃあ、一行目を消していればいいのかと思ったが、簡単にはいきません。(人生、簡単にいくと思ったら大間違い)。そもそも実行ができませんでした。ググったら、こいつは#include<stdio.h>などを毎回書かなくてもpch.cppというソースファイルに書いておけば何回も書く必要ないよというものでした。
- 競プロをやるのにこんなものはいらないので、競プロer向けのプロジェクトの作成方法をググりました。
プロジェクトの作成(再)
- 今度は「空のプロジェクト」にしました。
- 新しく作ったプロジェクトを起動し、表示の「ソリューションエクスプローラー」をクリックして開きます。
- 左にある「ソースファイル」を右クリックし、「追加」→「新しい項目」をクリックします。
- Visual C++とC++ファイルを選択していることを確認し、追加ボタンを押します。
- 入出力をやりやすくするために、3をもう二度やります。名前を「input.txt」、「output.txt」とします。すると、ソリューションエクスプローラーはこうなります。
- 上の画像の赤く囲ったところを右クリックし、プロパティを開きます。左の「デバック」をクリックしコマンド引数を編集します。赤く囲ったところのように「<input.txt>output.txt」と書きます。
- コードを書いて実行します。
- できました!!!output.txtに出力結果が書かれています!!
少し解説
input.txtとoutput.txtをつくった理由
- 競技プログラミングはコードを書いて実行しては書き直して、書き直しては実行を繰り返し、何度も同じ入力をします。一回一回入力するのは時間がかかり面倒なので、input.txtをつくりました。
- 出力結果をoutput.txtに表示するようにすると、すぐに出力結果が見れます。
コンソールアプリケーションとは
- 最初に「Windows コンソールアプリケーション」でプロジェクトを作成しました。これは、テキストコンソール類との入出力のみでグラフィカルユーザインタフェース(GUI)を必要としないアプリケーションソフトウェアです。(←ググったら出てきた)。とりあえず、入出力をする競技プログラミングができるということです。
- ついでに、下に「Windows デスクトップアプリケーション」とあるが、そのまま。デスクトップのアプリをつくるプロジェクトです。
cout 出力
endl 改行
最後に
以上!!!パンダちゃんがVisual StudioでHello Worldするお話でした!!!
もしかしたら、間違ったことを書いてるかもしれないですが、そのときはこっそりやさしく教えてください。
明日はこたくんです。