Cプログラミング演習
第2回
Microsoft Visual Studio C++
を使ってみよ
1
説明
2
例題1.プログラム実行の体験
コンピュータを役に立つ道具とし
て実感する
次ページのプログラムを使って,
Microsoft Visual Studio C++での
C++ソースファイル編集,ビルド,
テスト実行の一連の過程体験す
3
例題1のプログラムの機能
計算の繰り返
キーボードからのデータ読み込み
ファイルへの書き出し
4
#include "stdafx.h"
#include <math.h>
#pragma warning(disable:4996)
int _tmain()
{
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 "stdafx.h"
#include <math.h>
#pragma warning(disable:4996)
int _tmain()
{
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;
}
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)
6
Microsoft Visual Studio C++での
プログラム実行までの手順
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1 step 2 step 3
7
Microsoft Visual Studio C++ の起動(1/2)
「スタート」
「プログラム」
Visual Studio 2015
8
Microsoft Visual Studio C++ の起動(2/2)
Microsoft Visual Studio 2015 の初回起動では,上のような画面が現れる
9
Microsoft Visual Studio C++ の起動(2/2)
各種の操作
メニュー 操作の1ボ
タン実行
10
Microsoft Visual Studio C++ の終了
「ファイル」
「終了」を選ぶ
11
プロジェクトの新規作成
好きな「プロジェクト名」を入れる
好きな「場所」を入れる
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1 step 2 step 3
12
13
プロジェクトの新規作成(1/8)
「ファイル」
「新規作成」
「プロジェクト」
を選ぶ
プロジェクトの新規作(2/8)
プロジェクト新規作成のた
めのウインドウが現れる 14
プロジェクトの新規作(3/8)
Visual C++」の中の
Win32コンソールア
プリケーション」を選ぶ
15
いろいろな種類があるが,「Win32
ンソールプロジェクト」を選ぶ
(それ以外は使用しない)
プロジェクトの新規作(4/8)
16
好きな「プロジェクト名」を入れる
ことができる(自分で命名できる)
プロジェクトの新規作(5/8)
「場所」の設定も
できる
USBメモリ,ネットワーク
ドライブなどを使いたい
ときは,場所の設定が必要
17
プロジェクトの新規作(6/8)
18
OK」をクリック
プロジェクトの新規作(7/8)
「完了」をクリック
19
プロジェクトの新規作
プロジェクトが新規作成
れるので,確認する 20
プロジェクトの新規作成
「新規作成」「プロジェクト」を選ぶ
新規作成のためのインドが現れる
プロジェクトの選択
Win32 コンソールプロジェクト」を選ぶ
プロジェクト名の入力
好きな「プロジェクト名」を入れることができる
場所の入力
好きな「場所」を入れるできる
Win32アプリケーションイザード
「完了」を選ぶ
先ほど入力した「プロジェクト名」が現れるので,確
認する 21
C++ソースファイルの編
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1 step 2 step 3
22
Microsoft Visual Studio C++ の画面構成
ファイルなど
が表示される
C++ソースファイル
の編集はここで行う
ビルド結果が現れる
23
C++ ソースファイルの編集
編集中の
ファイル名
編集画面
24
Microsoft Visual Studio C++での
プログラム実行までの手順
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1 step 2 step 3
25
ビルドと実行(1/6)
「ビルド」
「ソリューションのビルド」
を選ぶ
26
ビルドと実行(2/6)
27
ビルド結果が現れる.「1 正常
終了,0 失敗・・・」ならばビルド
に成功
ビルドと実行(2/6)
ビルドが正常終了するまで,プログラム編集を続ける
・文法ミスの場所,種類は,コンピュータが探し指摘してくれる
28
ビルド結果が現れる.「1 正常
終了,0 失敗・・・」ならばビルド
に成功
ビルドと実行(3/6)
「デバッグ」
「デバッグ無しで開
始」を選ぶ 当然だが,ビルドに成功して
いないと,この操作は意味が
無い 29
ビルドと実行(4/6)
実行画面が現れる
30
31
ビルドと実行について
この資料のページ5のプログラムを使ってい
るときは,実行画面のメッセージが少し違う.
(次ページに続く)
ビルドと実行について
数値を入れる
(プログラムに数値データを与える)
start_x = 0
step_x = 0.1 32
ビルドと実行について
2つの数値を入れると
計算結果の結果が得られる. 33
プログラム実行結果
キーボードから,データ
「0」,「0.1」を読み込ん
でいる
計算を20回繰り返して,
計算結果を表示している
34
ビルドと実行
「ビルド」「ソリューションのビル
ド」を選ぶ
ビルド結果が現れる
「デバッグ」「デバッグ無しで開始
を選ぶ
実行画面が出る
35
例題2.他のソフトとの連
例題1のプログラムによって書き出さ
れたファイルを使い, Microsoft Excel
を使って折れ線グラフを作成する
ファイル名: d:\data.csv
36
Microsoft Excel でグラフ作成
(1/8)
z ドライブのdata.csv
をダブルクリックする
37
Microsoft Excel でグラフ作成
(2/8)
Microsoft Excel
が現れる 38
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
プログラム作成の流れ
ビルド,実行の結果,間違い
が見つかるたびに,繰り返す
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1 step 2 step 3
46
別のプログラムを作成する
1つのプロジェクトには、メインの関数が1つしか許さ
れないので、新しくプロジェクトを作成する。
最初からやる
ある課題のプログラム作成が終了し、次の課題をやる場合。
C++のソースファイルを変えるだけでは、エラーとなる。
次の課題に移るときは、一旦、 Visual Studio を終了させる
ビルドと
実行
プロジェクト
の新規作成
C++ソース
ファイルの
編集
step 1 step 2 step 3
47
ここに全角文字「;」が入っている
(人間の目では良く分からない)
48
ビルドを実行すると「文字'0x81'は認識
できません」というエラーメッセージが出る
エラーの種類と場所が分かる
49
課題
50
課題1.Microsoft Visual Studio C++ での
プログラム作成と実行
次のプログラム(例題1のプログラム)について,例題1と
例題2の手順を自分で行いなさい
#include "stdafx.h"
#include <math.h>
int _tmain()
{
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;
}51
データファイル名
d:\\data.csv
は適切に設定すること
補足説明資料
52
例題のプログラムの機能
キーボードからのデータ読み込み
型のキャスト
整数の範囲で四則演算
結果の画面表
53
例題プログラム
#include "stdafx.h"
void _tmain()
{
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);
}54
ビルドと実行(1/2)
実行画面が現れる 55
ビルドと実行(2/2)
数値を入れる
(プログラムに数値データを与える)
ここでは,「3 7 Enter
3 7 は半角.間に半角のスペース. 56
プログラム実行結果
整数の範囲での演算
整数として計算した
後で実数に変換する
ので、0.000になる。
浮動小数として計算
するので、3/7の値が
小数で表示される。
57
Microsoft Visual Studio C++
でのブレークポイント設定
ここをクリックして,ブレークポイントの設定
「●」はブレークポイント設定済みの印
ブレークポイントでプログラム実行が中断するので,
実行結果の画面が消えずに残る 58