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
ここをクリックして,ブレークポイントの設定
「●」はブレークポイント設定済みの印
ブレークポイントでプログラム実行が中断するので,
実行結果の画面が消えずに残る