ce-2. Microsoft Visual Studio
C++
を使ってみよう
1
金子邦彦
(C プログラミング応用)(全14回)
URL: https://www.kkaneko.jp/pro/c/index.html
Microsoft Visual Studio Cを用いたC/Cプログラムの作成・
ビルド・実行の一連の手順の習得。
【学習内容の構成】
1. プロジェクトの新規作成:Win32コンソールアプリケー
ションとしてプロジェクトを作成し、保存場所を設定
2. C++ソースファイルの編集:編集画面でプログラムコー
ドを記述
3. ビルドと実行:ソリューションのビルドによるコンパイ
ルと、デバッグなしで開始による実行
4. 他のソフトとの連携:プログラムが出力したCSVファイ
ルをMicrosoft Excelで読み込みグラフ作成
• 前提:基本的なPC操作
• 意義:プログラムによる計算の自動化とデータ活用の体験
2
例題1.プログラム実行の体験
• コンピュータを役に立つ道具として実感する
• 次ページのプログラムを使って, Microsoft Visual
Studio C++でのC++ソースファイル編集,ビルド,
テスト実行の一連の過程を体験する
•3
例題1のプログラムの機能
• 計算の繰り返し
• キーボードからのデータ読み込み
• ファイルへの書き出し
•4
#include "stdio.h"
#include <math.h>
#pragma warning(disable:4996)
int main()
{
double x;
double y;
char buf[256];
int i;
double start_x;
double step_x;
FILE* fp;
printf( "start_x =" );
fgets( buf, 256, stdin );
sscanf_s( buf, "%lf¥n", &start_x );
printf( "step_x =" );
fgets( buf, 256, stdin );
sscanf_s( buf, "%lf¥n", &step_x );
fp = fopen( "d:¥¥data.csv", "w" );
for( i = 0; i < 20; i++ ) {
x = start_x + ( i * step_x );
y = sin( x );
printf( "x= %f, y= %f¥n", x, y );
fprintf( fp, "x=, %f, y=, %f¥n", x, y );
}
fprintf( stderr, "file d:¥¥data.csv created¥n" );
fclose( fp );
return 0;
}
•5
計算を行っている部分
キーボードからの
データ読み込みを
行っている部分
ファイルへの書き出し
を行っている部分
データファイル名
d:¥¥data.csv
は適切に設定すること
#include "stdio.h"
#include <math.h>
#pragma warning(disable:4996)
int main()
{
double x;
double y;
char buf[256];
int i;
double start_x;
double step_x;
FILE* fp;
printf( "start_x =" );
fgets( buf, 256, stdin );
sscanf_s( buf, "%lf¥n", &start_x );
printf( "step_x =" );
fgets( buf, 256, stdin );
sscanf_s( buf, "%lf¥n", &step_x );
fp = fopen( "d:¥¥data.csv", "w" );
for( i = 0; i < 20; i++ ) {
x = start_x + ( i * step_x );
y = sin( x );
printf( "x= %f, y= %f¥n", x, y );
fprintf( fp, "x=, %f, y=, %f¥n", x, y );
}
fprintf( stderr, "file d:¥¥data.csv created¥n" );
fclose( fp );
return 0;
}
•6
x の値から sin(x) を求め,
y に書き込む
Cプログラムはメインの関数から
実行開始
変数 x, y, buf, i, start_x,
step_x, fp をメモリエリア中に確保
「start_x=」というメッセージを表示し,
キーボードから数値を読み込む
(読み込んだ値は変数 start_x に格納)
「step_x=」というメッセージを表示し,
キーボードから数値を読み込む
(読み込んだ値は step_x に格納)
20回の繰り返し (i = 0, 1, ... 19)
Microsoft Visual Studio C++での
プログラム実行までの手順
•7
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1
step 2 step 3
Microsoft Visual Studio C++ の起動(1/2)
• 「スタート」
→「プログラム」
→「Visual Studio 2015」
•8
Microsoft Visual Studio C++ の起動(2/2)
•9
Microsoft Visual Studio 2015 の初回起動では,上のような画面が現れる
Microsoft Visual Studio C++ の起動(2/2)
•10
各種の操作
メニュー
操作の1ボ
タン実行
Microsoft Visual Studio C++ の終了
•11
「ファイル」
→「終了」を選
ぶ
プロジェクトの新規作成
•12
•好きな「プロジェクト名」を入れる
•好きな「場所」を入れる
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1
step 2 step 3
•13
プロジェクトの新規作成(1/8)
「ファイル」
→「新規作成」
→「プロジェク
ト」を選ぶ
プロジェクトの新規作成(2/8)
•14
プロジェクト新規作成の
ためのウインドウが現れ
る
プロジェクトの新規作成(3/8)
•15
「Visual C++」の中
の「Win32コンソー
ルアプリケーショ
ン」を選ぶ
いろいろな種類があるが,
「Win32コンソールプロジェク
ト」を選ぶ
(それ以外は使用しない)
プロジェクトの新規作成(4/8)
•16
好きな「プロジェクト名」を入れる
ことができる(自分で命名できる)
プロジェクトの新規作成(5/8)
•17
「場所」の設定も
できる
USBメモリ,ネットワーク
ドライブなどを使いたい
ときは,場所の設定が必要
プロジェクトの新規作成(6/8)
•18
「OK」をクリック
プロジェクトの新規作成(7/8)
•19
「完了」をク
リック
プロジェクトの新規作成
•20
プロジェクトが新規作
成されるので,確認す
る
プロジェクトの新規作成
① 「新規作成」→「プロジェクト」を選ぶ
② 新規作成のためのウインドウが現れる
③ プロジェクトの選択
「Win32 コンソールプロジェクト」を選ぶ
④ プロジェクト名の入力
好きな「プロジェクト名」を入れることができる
⑤ 場所の入力
好きな「場所」を入れるできる
⑥ Win32アプリケーションウイザード
「完了」を選ぶ
⑦ 先ほど入力した「プロジェクト名」が現れるので,確認
する
•21
C++ソースファイルの編集
•22
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1
step 2 step 3
Microsoft Visual Studio C++ の画面構成
•23
ファイルなど
が表示される
C++ソースファイ
ルの編集はここで行
う
ビルド結果が現れ
る
C++ ソースファイルの編集
•24
編集中の
ファイル名
編集画面
Microsoft Visual Studio C++での
プログラム実行までの手順
•25
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1
step 2 step 3
ビルドと実行(1/6)
•26
「ビルド」
→「ソリューションのビ
ルド」を選ぶ
ビルドと実行(2/6)
•27
ビルド結果が現れる.「1
正常終了,0 失敗・・・」
ならばビルドに成功
ビルドと実行(2/6)
•28
ビルドが正常終了するまで,プログラム編集を続ける
・文法ミスの場所,種類は,コンピュータが探し指摘してくれる
ビルド結果が現れる.「1
正常終了,0 失敗・・・」
ならばビルドに成功
ビルドと実行(3/6)
•29
「デバッグ」
→「デバッグ無しで
開始」を選ぶ
当然だが,ビルドに成功し
ていないと,この操作は意
味が無い
ビルドと実行(4/6)
•30
実行画面が現れる
•31
ビルドと実行について
この資料のページ5のプログラムを使っ
ているときは,実行画面のメッセージが
少し違う.
(次ページに続く)
ビルドと実行について
•32
数値を入れる
(プログラムに数値データを与える)
start_x = 0
step_x = 0.1
ビルドと実行について
•33
2つの数値を入れると,
計算結果の結果が得られる.
プログラム実行結果
•34
キーボードから,デー
タ「0」,「0.1」
を読み込んでいる
計算を20回繰り返し
て,計算結果を表示し
ている
ビルドと実行
① 「ビルド」→「ソリューションのビルド」を選ぶ
ビルド結果が現れる
② 「デバッグ」→「デバッグ無しで開始」を選ぶ
③ 実行画面が出る
•35
例題2.他のソフトとの連携
• 例題1のプログラムによって書き出されたファイ
ルを使い, Microsoft Excel を使って折れ線グラフ
を作成する
ファイル名: d:¥data.csv
•36
Microsoft Excel でグラフ作成 (1/8)
•37
z ドライブの
data.csv をダブルク
リックする
Microsoft Excel でグラフ作成 (2/8)
•38
Microsoft Excel
が現れる
Microsoft Excel でグラフ作成 (3/8)
•39
①グラフを書きたい
範囲を選ぶ
②グラフウイザード
の
アイコンをクリック
Microsoft Excel でグラフ作成 (4/8)
•40
グラフの種類
を
選べる
ここでは「散布
図」
を選ぶ
Microsoft Excel でグラフ作成 (5/8)
•41
グラフ化すべ
き
範囲の確認
①グラフの形を確
認
②「次へ」を押
す
Microsoft Excel でグラフ作成 (6/8)
•42
凡例などを選べ
る
「次へ」を押す
Microsoft Excel でグラフ作成 (7/8)
•43
グラフの作成場所
を選べる
「完了」を押す
Microsoft Excel でグラフ作成 (8/8)
•44
グラフが現れ
る
プログラムの機能
• 計算等の実行手順を記述したもの
• 多量の計算の繰り返し
• 計算は自動で繰り返し
• キーボードからの読み込み
• 自動で読み込み
• ファイルへの書き出し
• ファイルを介して,他のソフトと連携
• など
•45
プログラム作成の流れ
•46
ビルド,実行の結果,間違い
が見つかるたびに,繰り返す
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1
step 2 step 3
別のプログラムを作成する場合
•47
1つのプロジェクトには、メインの関数が1つし
か許されないので、新しくプロジェクトを作成
する。
最初からやる
ある課題のプログラム作成が終了し、次の課題をやる場合。
C++のソースファイルを変えるだけでは、エラーとなる。
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1
step 2 step 3
ここに全角文字「;」が入っている
(人間の目では良く分からない)
•48
ビルドを実行すると「文字'0x81'は認識
できません」というエラーメッセージが出る
→ エラーの種類と場所が分かる
•49
課題
•50
課題1.Microsoft Visual Studio C++ での
プログラム作成と実行
次のプログラム(例題1のプログラム)について,例題1と例題2の手
順を自分で行いなさい
•51
#include "stdio.h"
#include <math.h>
int main()
{
double x;
double y;
char buf[256];
int i;
double start_x;
double step_x;
FILE* fp;
printf( "start_x =" );
fgets( buf, 256, stdin );
sscanf_s( buf, "%lf¥n", &start_x );
printf( "step_x =" );
fgets( buf, 256, stdin );
sscanf_s( buf, "%lf¥n", &step_x );
fp = fopen( "d:¥¥data.csv", "w" );
for( i = 0; i < 20; i++ ) {
x = start_x + ( i * step_x );
y = sin( x );
printf( "x= %f, y= %f¥n", x, y );
fprintf( fp, "x=, %f, y=, %f¥n", x, y );
}
fprintf( stderr, "file d:¥¥data.csv created¥n" );
fclose( fp );
return 0;
}
データファイル名
d:¥¥data.csv
は適切に設定すること
補足説明資料
•52
例題のプログラムの機能
• キーボードからのデータ読み込み
• 型のキャスト
• 整数の範囲で四則演算
• 結果の画面表示
•53
例題プログラム
•54
#include "stdio.h"
void main()
{
int i,j,k; /* 変数宣言 */
float f0,f1;
printf("整数を2つ入力してください: ");
scanf_s("%d %d", &i, &j); /*キーボードから読み込み*/
k = i + j; /* 算術演算 */
f0 = (float)(i/j); /* キャスト */
f1 = (float)i / (float) j;
printf("%5d + %5d = %5d¥n", i,j,k);
printf("%5d - %5d = %5d¥n", i,j,i-j);
printf("%5d x %5d = %5d¥n", i,j,i*j);
printf("%5d / %5d = %5d¥n", i,j,i/j);
printf("(float)(%d / %d) = %5.3f¥n", i,j,f0);
printf("(float)%d / (float)%d = %5.3f¥n", i,j,f1);
}
ビルドと実行(1/2)
•55
実行画面が現れる
ビルドと実行(2/2)
•56
数値を入れる
(プログラムに数値データを与える)
ここでは,「3 7 Enter」
3 と 7 は半角.間に半角のスペース.
プログラム実行結果
•57
整数の範囲での演算
整数として計算した
後で実数に変換する
ので、0.000になる。
浮動小数として計算
するので、3/7の値
が小数で表示される。
Microsoft Visual Studio C++
でのブレークポイント設定
•58
ここをクリックして,ブレークポイントの設定
「●」はブレークポイント設定済みの印
ブレークポイントでプログラム実行が中断するので,
実行結果の画面が消えずに残る