授業日一覧

クリスマスプレゼント

10月25日

サンプルプログラム1(教科書(p.209参照)リスト4・6)

// list04_06.cpp
// 配列の要素を合計する

#include  <iostream.h>

main()
{
  const   int ArraySize = 12 ;
  
  int a[ArraySize] = { 1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45 } ;
  int total = 0 ;

  for( int i = 0 ; i < ArraySize ; i++ ){
    total += a[i] ;
  }

  cout << "配列要素の合計は " << total << endl ;

  return 0 ;
 }

サンプルプログラム2

  • 注意:***の部分は、プリントを確認して正しいものを入れること。3か所あり。
//
//  成績処理プログラム: プログラミングIIの成績表の出力
//
//      file name : seiseki.cpp
//
//             written by N. Takeda (2000.4.26)
//             modified by Y. Matsunaga (2005.11.10)
//

#include  <iostream.h>
#include  <iomanip.h>

main()
{
  const  int Member_Max = 20 ;  // 受講生の人数
  
  int    prog2[Member_Max] ;    // 各受講生の成績

          // 成績処理プログラムの説明
  cout << endl ;     // 空行
  cout << "------ 成績処理プログラム --------" << endl ;
  cout << "プログラミングIIの成績を入力し、一覧表を出力します" << endl ;

          // 成績の入力
  for( int i = 0 ; i < *** ; i++ ){
    cout << setw( 3 ) << i + 1 ;
    cout << " 人目の成績を入力して下さい >> " ;
    cin >> prog2[ *** ] ;
  }

          // 成績表の出力
  cout << endl ;
  cout << " No. |  II" << endl ;      // 見出し行の表示
  cout << "-------------" << endl ; 
  for(  int i = 0 ; i < *** ; i++ ){     // 受講生の成績表示
    cout << " " << setw( 3 ) << i + 1 << " |" ;        // 1列目の表示
    cout << "   " << setw( 3 ) << *** << endl ; // 2列目の表示
  }
  cout << "-------------" << endl ;

  return 0 ;
}

11月01日

1次元配列を使った成績処理プログラムの概要

【成績処理プログラムの概要】

//
//  成績処理プログラム:プログラミング3教科の成績の出力
//
//      file name : seiseki2.cpp
//
//             written by N. Takeda (2000.5.9)
//             modified by Y. Matsunaga (2005.11.24)
//

#include  <iostream.h>
#include  <iomanip.h>

main()
{
   const  int Member_Max = 90 ;    // 受講生の人数
   const  int Kyouka_Max = 3 ;     // 科目数

   int    prog1[Member_Max] ;      // プログラミングIの成績
   int    prog2[Member_Max] ;      // プログラミングIIの成績
   int    prog3[Member_Max] ;      // プログラミングIIIの成績

   int    total[Member_Max] ;      // 各人の合計点
   double ave[Member_Max] ;        // 各人の平均点

   // 成績処理プログラムの説明
       (略)

   // 成績の入力
   cout << "\n 成績を入力して下さい \n\n" ;
   for( int i = 0 ; i < Member_Max ; i++ ){

      (略) //学生個人の3教科素点の入力

   }

   // 各個人の合計点と平均点を求める
   for( int i = 0 ; i < Member_Max ; i++ ){

          (略) // 個人毎の合計点・平均点の計算

   }

   // 成績表の表示
   cout << "\n\n No. |  ProgI  | ProgII  | ProgIII |  合計  |  平均点  " << endl ;
   cout << "-----------------------------------------------------\n" ; 
   for( int i = 0 ; i < Member_Max ; i++ ){

         (略) // 個人毎の合計点・平均点の表示

   }
   cout << "-----------------------------------------------------\n" ;

   return 0 ;
}

11月08日

例題プログラム(プリントp5)

//
//        入力した文字列の文字数を数える
//
//         File name : str_count.c 
//                written by Naohiko TAKEDA  (2000.6.21)
//                modified by Yutaka MATSUNAGA (2005.12.24)

#include  <iostream.h>

main()
{
       const  int  Max_Length = 80 ;   // 入力文字列の最大値 (終端を含む)

       char   sentence[Max_Length] ;   // 入力文字列
       int    count ;                 // 文字数カウンタ

       // 文字列の入力
       cout <<  "\n文字列を入力して下さい (英数字のみ) >> " ;
       cin.getline( sentence, Max_Length ) ;

       // 文字数を数える 
       count = 0 ; 
       while( sentence[count] != '\0' ){   // NULL までの間、カウントする
           count++ ;
       }

       // 文字列の再表示と結果の表示 
       cout << "\n文字列 = " << sentence << endl ;
       cout << "\n文字数は " << count << " です。" << endl ;
}

11月15日

関数の使い方の例(プリントp2)

  • 注意:***の部分は、プリントを確認して正しいものを入れること。4か所あり。
//
//     add.cp 関数の使い方の例
//                足し算する関数を作る
//
//        written by Naohiko Takeda (2000.5.23)

#include	<iostream.h>

***     // 足し算関数のプロトタイプ宣言

main()
{
   int x, y, result ;

   while( 1 ){
            cout << endl << "2つの整数を入力(ともに0で終了) >> " ;
            cin >> x >> y ;
       if( x == 0 && y == 0 ){
           cout << endl << "プログラムを終了します。" ;
	    break ;
	}
	***    // xとyの和を求める
                                            // 結果の表示
	cout << endl << x << " + " << y << " = " << result  ;
	cout << endl ;
   }
        return 0;
}

//	ad 整数の和を求める関数
//
//       int a, int b  和を求める2つの整数
//       int 2数の和
//

***   //関数宣言
{
   int  wa ;

   wa = a + b ;   // 和を求める
   ***   // 結果(2数の和)を返す
}

11月22日

例題のプログラム(1p)

  //  2つの整数値を与え、その商と余りを求める関数(値呼び出し版)のテスト
  //    註:  関数内では正しい結果が出るが、mainでは正しい結果が得られない
  //      composed by Naohiko Takeda (2000.5.31)
  //      modified by Takeyuki Takahashi(2007.11.14)
 
  #include  <iostream.h>
 
  void  warizan( int, int, int, int ) ;      // 割り算関数のプロトタイプ宣言
 
  main()
  {
    int  x, y ;
    int  n = 0, d = 0 ;
          
      cout << "\n\n2つの整数の商と余りを求める関数のテストプログラム\n\n" ;
 
     for( ; ; ){				// 無限ループ
         cout << "2つの数を入力して下さい(ともに0で終了します) >> " ;
         cin >> x >> y ;
         if( x == 0 && y == 0 ) {              // x と y がともに0で終了
             break ;
          }
          warizan( x, y, n, d ) ;              // 商・余りを計算する関数
 
          // 以下は、関数内で変更した引数の値が、main では変更されて
          // いないことを確認するために値の出力を行っている
          cout << "\nmainでの計算結果:\n" ;
          cout << x << " ÷ " << y << " = " ;
          cout << n << " … " <<  d <<  endl << endl ;
      }
      cout << "\nプログラムを終了します\n";
      return 0;
  }
  
  //  2つの整数値を与え、その商と余りを求める関数
  //       割られる数  (整数  入力)
  //       割る数      (整数  入力)
  //    shou   商      (整数値:  )
  //    amar   余り    (整数値:  )
  
  void  warizan ( int a, int b, int shou, int amari )
  {
      // 商と余りを求める
      shou  = a / b ;
      amari = a % b ;
      cout << "\nwarizan内での計算結果:\n" ;
      cout << a << " ÷ " << b << " = " ;
      cout << shou << " … " <<  amari <<  endl << endl ;
  }

局所変数の例(3p)

  #include <iostream.h>
 
  void   func( void ) ;
 
  main()
    {
       int   a = 20 ;
       cout << "main での a の値=" << a << endl ;
       func() ;
       cout << "main での a の値=" << a << endl ;
    }
  
  void   func( void )
    {
         int   a ;
  
          a = 10000 ;
          cout << "func での a の値=" << a << endl ;
    }

12月6日

1次元配列と関数の例(p1)

//  複数の整数値を入力する関数(1次元配列を用いる)
//
//      composed by Takeyuki Takahashi
//          ver. 1.00.  2007.12.1.
//

#include  <iostream.h>

void   in_data( int[] ) ;     //配列を引数とする関数の宣言

main()
{
   int prog[5];
      
   cout << "\n\n複数の整数値を入力する関数のテストプログラム\n\n" ;

   in_data( prog );

   cout << "\n\n入力された値を表示します\n\n" ;
   
   for(int i = 0; i < 5; i++ ){
       cout << i+1 << " 番目の入力値 : " << prog[i] << endl;
   }
}

//  複数の整数値を入力する関数
//    tensu : 入力される数値  (整数の配列:出力)

void in_data ( int tensu[] )
{
  // 値を個数分入力する
   for(int i = 0; i < 5; i++ ){
     cout << i+1 << " 番目の整数を入力してください : ";
     cin  >> tensu[i];
   }
}

文字列と関数のプログラム例(p3)

//  文字列を複写する関数
//      composed by Takeyuki Takahashi
//          ver. 1.00.  2007.12.1.
//

#include  <iostream.h>

void   string_copy( char[], char[] ) ;

main()
{
   const  int  Max_Length = 80 ;   // 入力文字列の最大値  
   char in_char[Max_Length];          // 複写元文字列
   char out_char[Max_Length] = "" ;   // 複写先文字列

   cout << "\n\n文字列を複写する関数のテストプログラム\n\n" ;

   // 文字列の入力
   cout <<  "\n文字列を入力して下さい (英数字のみ) >> " ;
   cin.getline( in_char, Max_Length ) ;

   // 複写前の状態
   cout << "\n複写元文字列:" << in_char << ":\n";
   cout << "\n複写先文字列:" << out_char << ":\n";

   string_copy( in_char, out_char );

   cout << "\n\n複写後の状態を表示します\n\n" ;
   // 複写後の状態
   cout << "\n複写元文字列:" << in_char << ":\n";
   cout << "\n複写先文字列:" << out_char << ":\n";
}

//  文字列を複写する関数
//    in_c  : 複写元の文字列  (文字列:入力)
//    out_c : 複写先の文字列  (文字列:出力)

void string_copy ( char in_c[], char out_c[] )
{
   int i = 0;              // 文字列のカウンタ
   
   while(in_c[i] != '\0')  // 複写元文字列のNULL 文字まで,複写先文字列に複写する
   {
     out_c[i] = in_c[i];
     i++;
   }
}

12月13日

成績処理プログラムのモジュール分割

//
//  成績処理プログラム:プログラミング3教科の成績の出力
//
//      file name : seiseki4.cpp (2次元配列・文字列配列版)
//                         written by N. Takeda (2000.7.18)
//                         modified by T. Takahashi (2007.12.12)
//

#include  <iostream.h>
#include  <iomanip.h>

const  int Member_Max = 90 ;    // 受講生の人数
const  int Kyouka_Max = 3 ;     // 科目数
const  int Name_Len =  20 ;     // 名前の長さ

void   input_data( char [][Name_Len], int [][Kyouka_Max] ) ;  // 素点入力関数
void   calc_data( const int [][Kyouka_Max], int [], double [] ) ;   // 成績処理関数
void   disp_data( const char [][Name_Len], const int [][Kyouka_Max], const int [], const double [] ) ;                                         // 成績表表示関数

main()
{
    int    seiseki[Member_Max][Kyouka_Max] ;  // 3教科の成績
    char   name[Member_Max][Name_Len] ;       // 学生の氏名

    int      total[Member_Max] ;      // 各人の合計点
    double   ave[Member_Max] ;        // 各人の平均点

    // 成績処理プログラムの説明
    cout << "\n------ 成績処理プログラム --------\n\n" ;
    cout << "プログラミングの成績を入力し、一覧表を出力します\n" ;

    // 学生の氏名と成績の入力
    input_data( name, seiseki ) ;

    // 各個人の合計点と平均点を求める
    calc_data( seiseki, total, ave ) ;

    // 成績表の出力
    disp_data( name, seiseki, total, ave ) ;

    return 0 ;
}

// 素点入力関数
void input_data( char shimei[][Name_Len], int ten[][Kyouka_Max] )
{

}


// 成績処理関数
void  calc_data( const int ten[][Kyouka_Max], int gr[], double av[])
{

}

// 成績表表示関数
void  disp_data( const char shimei[][Name_Len], const int ten[][Kyouka_Max], const int gr[], const double av[])
{

}

添付ファイル: filepro2_slides.pdf 1185件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-12-20 (月) 10:25:49 (2524d)