C++スコーラ内検索 / 「コメント・問い合わせ」で検索した結果

検索 :
  • コメント・問い合わせ
    スコーラに関する事項 スコーラ受講生または情報大生は直接会うかメールでお願いします。 連絡先は本館1階の掲示板に貼り出してあります。 Wikiに関する事項 質問や問い合わせは以下からお願いします。 尚メールはほぼ確認していないので、公開できる内容であればコメントフォームからお願いします。 管理者へのメールフォーム 名前 メールアドレス 内容 コメントフォーム test -- Test (2012-10-04 04 14 56) 名前 コメント
  • メニュー
    ...r その他 リンク コメント・問い合わせ 講師用ページ Test_Page 更新履歴 取得中です。
  • コメントアウト
    コメントアウト コメントアウトというものについて説明します。 まずはコメントアウトの入ったプログラムを見てください。 #include stdio.h int main(){ printf("HelloWorld!!"); //HelloWorld!!と表示 /*コメントアウトはこのように プログラムの中にメモを残せます。*/ return 0; } プログラムの中で機能が説明されてしまいました。(笑) コメントアウトは2種類あります。 半角で // とスラッシュを2つ書くことで、そこから後ろをコメントアウトします。 これは // の書いてある行だけです。 もう一つが /* のようにスラッシュとアスタリスクで書くものです。 これは */  が出てくるまで何行でもコメントアウトします。 コメントアウトされた部分はプログラムが実行...
  • 数値の表示
    数値の表示 みなさんこんにちは、前回のページでは画面に文字を表示させました。 今回はコンピュータに計算をさせたいと思います。 本来コンピュータは超高性能な計算機なので、ここからが本領発揮です。 しかし、コンピュータの内部でどんなにすごい計算が行われていても、 それを人間が確認できなくては意味がありません。 なので今回は数値の計算と表示について説明します。 数値の表示 前回のページでも説明した printf(""); ですが、文字以外に数字を表示できます。 数字を表示するには二通りの方法があります。 プログラムで確認してみましょう。   では前回同様VisualStudioを起動してプログラムを書ける状態にしてください。 必ず書く”おまじない”を書いてください。 ※今回からプログラムの例では”おまじない”部分は省略します。 おまじないが書けたら次...
  • 構造体のポインタ
    前回に引き続きポインタです。 今回の構造体ポインタは非常に重要です。 反復して覚えてください。 構造体のポインター 構造体のポインターを引数として関数に渡すと、構造体の中身を関数の中で変えることができます。 #include stdio.h // 立方体の構造体 struct tBox { double height; // 縦 double width; // 横 double lengh; // 奥行き }; // 立方体の初期化用関数 void InitCube(tBox* cube, double side) { cube- height = side; cube- lengh = side; cube- width = side; } // 立方体の内容表示 void OutputBox(tBox cube) { printf("縦%.2fcm...
  • C++とは
    C++とは オブジェクト指向プログラミングを実現したC言語 保守性が高い(カプセル化) Cとの互換性を重視して作られたプログラムC言語での関数やキーワードがそのまま使用可能 大規模システム開発向き メリット 保守性が高い クラスからオブジェクトを実装する事により複製が容易になる 他言語に比べて処理速度が早い デメリット Cに比べてファイルサイズは大きくなる メモリの管理をプログラマがきちんと行う必要がある(delete) オブジェクト指向 オブジェクト指向なので クラスによるオブジェクトの複製などが可能です。 JAVAとの違い  JAVA:インタプリタ言語→中間コードに一度変換し、その後各環境に合わせて実行可能な形式に変換する言語  C++:コンパイラ型→機械語に直接変換するため、実行速度が早い testcounter 合計 - 今日 - 昨日 -
  • C言語スコーラ
    C言語スコーラ このページはC言語スコーラ前期のC言語の取りまとめページです。 C++のページはこちら カリキュラム 序章 スコーラの進め方 第一回 プログラムの作り方 文字出力 コメントアウト 第二回 数値の表示 変数 変数の種類 入力を求める インデント 第三回 if文 switch文 第四回 while文 for文 第五回 ここまでのおさらい 練習問題とTIPS 第六回 配列 多次元配列 文字の配列 第七回 関数 値を返さない関数 標準ライブラリ関数 第八回 構造体 列挙型 復習問題 第九回 ファイル分け ヘッダの使い方 extern変数 第十回 ポインタ ポインタ応用編 構造体のポインタ 第十一回 bool型 おまけ ゲーム制作 管理人メモ
  • 値を返さない関数
    値を返さない関数 関数を作っているとなにも値を返さない(return のいらない)関数を作ることがあります。 この場合関数の型は void になります。 void とは「空っぽの」とか「何もない」という意味です。 さらに引数が必要ない場合は引数も void になります。 // 整数値を2つ入力して表示する関数 void InOutSum(void) { printf("整数値を二つ入力してください。\n"); int a = 0; int b = 0; scanf_s("%d%d", a, b); printf("合計値は%dです。\n",a + b); } int main(){ InOutSum(); return 0; } 普段 main() の戻り値として return 0; と書いています。 ...
  • 列挙型
    列挙型(enum) 列挙型(enum)は構造体と同じように自分で作って宣言しないと使えません。  次の例を実行してみてください。  enum eWeek{SUN, MON, TUE, WED, THU, FRI, SAT}; //列挙型 eWeek の型宣言 int main(){ eWeek today; //eWeek型の変数todayを宣言 today = SUN; printf("%d\n",today); return 0; } eWeek の部分が 列挙型名、{ } の中の SUN や MON が識別子と呼ばれます。 実行すると画面に 0 が表示されました。 today の中には 0 が入っています。 today = SUN; の部分を today = MON; と書き換えて実行してください。 数値は1になっています。 続けて T...
  • ポインタ
    結構長いですが、C言語の中核をなす大事な部分です。 何度も繰り返し学習して、自分のものにしましょう。 第1項 ポインタ 今回はポインタについて説明します。ポインタとは「メモリ」上の「アドレス」を格納できる変数です。 「メモリ」とはPCの記憶領域です。 「アドレス」は「場所を示す」ものです。住所や郵便番号のようなものです。 「メールアドレス」といえばメールの行きつく「場所を示す」ものですね。 前回までのプログラムで変数を使ってきました。 変数を宣言するとその変数の型の大きさのに合わせた領域が「メモリ」上に確保されます。 「メモリ」上のどの場所が確保されるのかはわかりません。 使える場所をコンピュータが適当に選んで割り当てます。 「メモリ」上のどの場所に割り当てられたのか、それを示すのがアドレスです。 アドレスを見る 次のプログラムを書いて、実行する前に今まで...
  • 配列
    配列 今回は「配列」というものについて説明します。 配列とは変数を一度に量産できる機能です。 変数が箱だとすると、配列はその箱がいくつも並んでいるようなものです。 配列を使えば一度にいくつものデータを処理する場合にとても便利です。 使い方は難しくないので使って覚えましょう。 宣言 配列は宣言しないと使うことができません。 int Array[5]; 宣言するときは変数と同じように 「型」 と 「名前」 を書き、 その後ろに [ ] を書いてその中に 「要素数」 を書きます。 名前は自由につけることができますが、C言語で既に使われている命令などは使えません。 [ ] の部分ですがここが配列の数になります。 今回は 5 なので int型 変数を5つ用意したことになります。 ここに入れられるのは定数だけです。※変数を入れることはできません。 これを配列の持っ...
  • 静的メンバ
    memo static の役割と使い方 静的メンバ(クラスメンバ) 静的変数(クラス変数) 静的関数 ユーティリティークラスの説明
  • for文
    for文 for文 は while文 と同じようにループを作ります。 for文の形は次のようになります for( 変数の宣言と初期化; ループ条件; ループカウント) while と for の使い分けは、「ループの回数がわかっているときは for文」  「ループの回数がわからないときは while文」 です。 使いながら覚えましょう。 for(int i = 0; i 10; i++){ printf("%d\n",i); // iがいくつなのか表示 } while文 に比べてとてもコンパクトにまとまっています。 for と書いた次の ( ) の中にいろいろと入っています。 まず int i = 0; の部分ですが、ここはループに使う変数の初期化です。 i 10; の部分がループの条件です。 今回は i が10より...
  • インデント
    プログラムを見やすくしよう 今回の内容はとても簡単です。 インデントとは簡単に言うとプログラムの書き方です。 C言語ではTabや改行、スペースなどを単語間に入れることができます。 つまり自分の好きなところで改行できます。 printf ( "これでは見ずらいです。\n" ) ; これでもコンピュータは読み込みますが、人間が見たとき非常に見ずらいですね。 なのである程度「インデント」を整えて書くようにしましょう。 行頭カッコ派と行末カッコ派 カッコ { } の位置に違いがあります。 行頭カッコ派の書き方 #include stdio.h int main() { printf("HelloWorld!!"); return 0; } 行末カッコ派の書き方 #include stdio.h int ma...
  • 静的メンバと定数
    静的メンバ static static指定子を付けて宣言したメンバ変数です。 クラス間変数とも呼びます。 静的メンバ変数はクラスのインスタンスを何個生成しても、必ず一つしか存在しない変数です。 以下のプログラムを書いて試してみましょう。 Sample.h #include iostream class Sample{ public   static int s_num;   int num;   Sample();   void dispNum();   void addNum(); }; Sample.cpp #include Sample.h using namespace std; int Sample s_num=0; Sample Sample(){   num=0; } void Sample dispNum(){ ...
  • while文
    みなさんこんにちは、今回はループというものについて説明します。 ループとは同じことを繰り返すことです。 しかし、プログラム上でループを作った場合は、何回か繰り返したところで終わるようにします。 そうしないと「無限ループ」に陥ってしまいエラーとなります。 while文 C言語でループを作る命令は2つあります。 for文 と while文 です。先に while から説明します。 まずは使ってみましょう。 int i = 0; // ループ数 while(i 10){ // iが10よりも小さい間はループ printf("%d\n",i); // iがいくつなのか表示 i++; // iに1ずつ足していく } while と書いた次の ( ) にループの続く条件を書きます。 上の例では (i 10) と書いてあります。 ループの回...
  • ファイル入出力
    今回はファイル入出力です。  今までコンソール画面(黒い背景に白文字の画面)に文字を出したり、 画面上に入力されたもの(数値など)から情報を受け取ったりしていました。 同じことをメモ帳などで見ることのできるテキストファイルで行います。 画面に書かれた文字は画面が消えてしまえば(プログラムが終了してしまえば)、 そのまま消えてしまいますがファイルに書かれたことはファイルが削除されない限り残っています。 文字の書きこみ ファイル入出力を行うには最低限必要な工程が3つあります。 1.ファイルを開く…すでにあるファイルを開くか、新しいファイルを作って開きます。 2.ファイルの内容を読み書き…今まで画面で行っていた処理をファイルで行います。 3.ファイルを閉じる…開いたファイルは操作が終わったら閉じなくてはいけません。 さらにどのファイルを操作するのか指定するために、FILE...
  • クラス
    オブジェクト指向 C++はオブジェクト指向型プログラミング言語です。 従来の手続き型言語に比べ、プログラムの柔軟性やプログラミングの効率、データの安全性が高くなっています。 オブジェクトとは物や概念を表し。 性質(状態)と動作(操作)を持ちます。 例) 車の性質: 馬力 重量 乗車人数 車の動作: 加速する 減速する エンジンをかける エンジンを止める クラス クラスは構造体の機能を拡張したものです。 クラスの中に定義された変数をメンバ変数と言います。 #include iostream #include string // キャラクタークラス class Character{ public // アクセス修飾子 //【メンバ変数】 std string name;// 名前 int HP;// 体力 int STR;// 攻撃力 //...
  • 継承
    クラスの継承 クラスは継承という概念を使い拡張することが可能です。 継承はあるクラスから性質を受け継いで新しいクラスを作ることで 新しいメンバ関数、メンバ変数の追加 メソッドの上書き 等が出来ます。 拡張される側のクラスの事を 「基底クラス」 といい 拡張された側のクラスを 「派生クラス」 といいます。 クラスの継承は以下のようなルールがあります。 派生クラスは基底クラスのメンバ変数と関数を受け継ぐ。 基底クラスは1つしか指定できない。 派生クラスは複数作成可能。 このコードでは、「Student」クラスが「Person」クラスを継承しています。 /*--------------Person.hの中身----------------*/ #pragma once #include string class Person{ public ...
  • アクセス制御
    アクセス制御 アクセス修飾子 オブジェクトのメンバはアクセス制限をする事ができます。 public どこからでもアクセス可能 private そのクラス内からのみアクセス可能 protected そのクラスとその派生クラスからアクセス可能(後の章で説明) メンバ変数をprivateにすると外部からの直接的な参照と変更ができなくなります。 これにより変更されたくない変数を隠したり、値を安全に処理させることが可能です。 値の代入に関数を使い、不正な値が代入されないようにチェックする。 値の変更に伴い、関連する処理を実行させる。 メンバ変数を隠し、クラスの内部処理専用変数として使う。 アクセス制限の例 /*--------------Character.hの中身----------------*/ #pragma once #include iostre...
  • Protected
    継承によるメンバへのアクセス クラスの章でアクセス制御について触れましたが 継承を学んだところでもう一度おさらいしておきましょう。 public public修飾子がつけられたメンバは そのクラス 派生クラス そのクラスを使う側 のどこからでもアクセスできます。 class Person{ public string name; } private private修飾子がつけられたメンバはそのクラスからのみアクセスできます。 つまり、継承した派生クラスからはアクセスできないのです。 もちろんそのクラスを使う側からも見えません。 class Person{ private string name; } protected まだ触れていない protected というキーワードがあります。 このアクセス範囲は そのクラスと...
  • 分岐
    クラスとオブジェクト オブジェクトの生成 クラスは型であり、それだけでは実態はありません。 実態を宣言するには以下のように記述します。 クラス名 変数名; この実態の事をオブジェクト、またはインスタンスと呼びます。 1つのクラスに対し複数のオブジェクトを作ることが出来ます。 Person tanaka, saito, suzuki; オブジェクトへのアクセス オブジェクトのアクセスにはドット(.)を使います。 オブジェクト.メンバ tanaka.age = 20; tanaka.selfIntroduction(); ポインタを使う場合 (今は読み飛ばし読み飛ばして、後で戻って見直すことをお勧めします。) 上記の方法だと、オブジェクトはスコープ { } 内でしか生存できません。 スコープが終了するとint型など普通の変数同様そこで破棄されます。 ...
  • トップページ
    C++スコーラ このサイトはコンピュータスコーラ C言語コース 後期C++講座の教材です。 前期の C言語 のページはこちら Wikiの編集は現状講師のみが可能となっています。 カリキュラム 第一回 C++とは 標準入出力 文字列 名前空間 第二回 クラス オブジェクト 第三回 アクセス制御 第四回 オーバーロード 第五回 継承 Protected オーバーライド 第六回 ポリモーフィズム 仮想関数 第七回 静的メンバと定数 第八回 vector testcounter 合計 - 今日 - 昨日 - 2022-06-10 16 17 30 (Fri)
  • オーバーロード
    オーバーロード オーバーロード 同じ名前の関数を複数定義し、 引数のとり方により、振る舞いを変えることをオーバーロードといいます。 同じ名前の関数でも、引数の 型 個数 を変えて複数実装を書くことができます。 /*--------------Character.hの中身----------------*/ #pragma once #include iostream #include string // キャラクタークラス class Character{ private //【メンバ変数】 std string name;// 名前 int HP;// 体力 int STR;// 攻撃力 public //【メンバ関数】 Character(std string name, int HP, int STR);// コンストラクタ ~Character()...
  • 構造体
    構造体 今回は構造体について説明します。構造体とは、変数をまとめて新しい変数型を自分で作る機能です。 変数は箱のようなもの説明しましが、構造体は「変数の箱」をまとめて入れることのできる「大きな箱」と思ってください。 第1項 型枠宣言と宣言 構造体は作らないと(型枠の大きさを決めないと)使えません。 構造体を作るときは次のようにします。 struct 構造体型名 {メンバ}; ※メンバとは構造体の中で宣言される変数です。  構造体は作った場所より下で宣言することで使うことができます。  関数の中で作った場合はその関数の中でしか使えないので注意しましょう。 #include stdio.h //プレイヤーの構造体 struct tPlayer{ char name[64];// 名前 int HP;// 体力 int MP;// 魔力 }; int main...
  • オブジェクト
    クラスの実体 実体の生成 クラスは型であり、それだけでは実体はありません。 実体を宣言するには以下のように記述します。 クラス名* 変数名; この実体の事をオブジェクト、またはインスタンスと呼びます。 1つのクラスに対し複数のオブジェクトを作ることが出来ます。 Character* hero;// Characterクラスの実体「hero」を定義 Character* slime;// Characterクラスの実体「slime」を定義 ポインタを使う理由 (難しいので今は読み飛ばし読み飛ばして、後で戻って見直すことをお勧めします。) 上記の方法だと、オブジェクトはスコープ { } 内でしか生存できません。 スコープが終了するとint型など普通の変数同様そこで破棄されます。 しかしそれでは都合が悪い場合が多く存在します。 そこでオブジェクトのポインタとnew...
  • 復習問題
    今回は練習問題だけです。 次のような関数、構造体、列挙型とそれを利用したプログラムを作ってください。 第1問  double型の変数5つを受け取り、その合計を返す sum 関数を作る。 第2問  double型の変数を5つ受け取り、平均を求める関数を作る。  ユーザーに実数を5回入力してもらい、その平均を表示する。 第3問 手順1  名前と攻撃力と守備力を持つモンスター構造体を作る。 手順2   識別子 Fire、Ice、Thunder を格納する属性の列挙型 Alignment を型宣言する。 手順3  手順1で作った構造体に、Alignment型の「属性」メンバを追加する。  名前はユーザー入力、属性は乱数で決め、  攻撃力と守備力は2つの値を足して100になるように乱数で初期化する関数を作る。  最後にこれらを表示する。
  • source_test
    #include "Phase.h" #include "RK.h" #include "FPS.h"   namespace Sequence{   Phase Phase(void){ //入力クラスのインスタンスを生成 for(int i=0; i CONTROL_NUM; i++){ control[i] = new Input(); } printf("\nCreate Phase"); } Phase ~Phase(void){ //入力クラスのインスタンスを削除 for(int i=0; i CONTROL_NU...
  • ここまでのおさらい
    for文 while文 練習問題 今回は練習問題だけです。 第1問  10から1まで降順で表示する。 ヒント  i-- というものが使える。 第2問  商品の値段を表示してユーザーにいくら払うのか入力してもらい、足りない場合はもう一度入力してもらう。 第3問  ユーザーに何回か整数を入力してもらい0が入力されたら終了し、「入力回数」と「数値の合計」と「平均値」を表示する。  ※平均値は小数点以降も表示させること。 第4問  次のようにを表示する。「printf("*");」を一回だけ使って解いてね。 ***** ***** ***** ***** ***** 第5問  次のようにを表示する。 * ** *** **** ***** ****** ******* ******** ********* *******...
  • オブジェクトポインタ,newとdelete
    オブジェクトポインタとは ※こちらも参照 オブジェクト 通常のポインタと同様、クラスに対してもポインタで扱うことができる。 クラス型のポインタpはobjを指すようになる。 Person obj; Person *p = obj; ポインタの場合、各変数や関数にアクセスする時は 下の例のように- (アロー演算子)を使用する。 p- age; p- selfIntroduction(); メモリの動的確保と解放(malloc free、 new delete) new 演算子 C、C++の配列は動的な配列の確保ができない。 new演算子を使うとメモリの動的確保が可能になる。 new,deleteはC++ の演算子なのでincludeの必要はない。 cの stdlib.h にあるmalloc と freeでも使用可能 ただし、演算子オーバー...
  • 練習問題とTIPS
    {}の省略 今回も前回と同様で練習問題だけですが、その前に if文 などの省略した書き方を説明します。 実は if文 for文 while文 は { } の中の命令が一つだけのときは { } を省略できます。 if(num == 0){ printf("numは0です。\n"); } 上の文を省略すると、下のようになります。 if(num == 0) printf("numは0です。\n"); for文 while文 も同じように省略できます。 for(int i = 0; i 10; i++) printf("%d\n",i); int num = 0; printf("1を入力するまで終わりません\n"); while(num != 1) scanf("%d&q...
  • @wiki全体から「コメント・問い合わせ」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

目安箱バナー