Thursday, December 1, 2011

Thursday 12/1 online class

We are going to review the Chapter 14 using the following class material:

1. Video Clip on the Recursion of Chapter 14: http://www.youtube.com/watch?v=qyaVrP8y0RM
You may view this video in full screen HD (720) 

2. Audio Clips (reside in Course Outline) on Chapter 14 by Prof. Burns.

Thursday, November 10, 2011

Chap12.3 sample code

#include <fstream>
#include <iomanip>
#include <iostream>
#include <string>
using namespace std;

struct Student
{
  string name;
  int id;
  float gpa;
};
 
void printStudents(Student* student, int nStudents)
{
  int i;
  for (i = 0; i < nStudents; i++)
  {
    cout << "Name = " << left << setw(30) << student[i].name;
    cout.fill('0'); 
    cout << " ID = " << right << setw(7)
      << student[i].id << ", gpa = "
      << student[i].gpa << endl;
    cout.fill(' '); 
  }
}

int main()
{
  // open a file for input
  ifstream fin;
  fin.open("students.txt");
  if (!fin.good()) throw "I/O error";
 
  // create an empty list
  const int MAX_STUDENTS = 100; // capacity
  int nStudents = 0; // initially empty
  Student student[MAX_STUDENTS];
 
  // read and save the records
  while (fin.good())
  {
    // create a record and read it from file
    Student aStudent;
    getline(fin, aStudent.name);

    fin >> aStudent.id;
    fin.ignore(1000, 10);
 
    fin >> aStudent.gpa;
    fin.ignore(1000, 10);
 
    fin.ignore(1000, 10); // skip the ---------- separator

    // add record to list, if it's not full
    if (nStudents < MAX_STUDENTS)
      student[nStudents++] = aStudent;
  }
  fin.close();
 
  // sort the students by name
  for (int i = 0; i < nStudents; i++)
  {
    for (int j = i + 1; j < nStudents; j++)
    {
      if (student[i].name > student[j].name)
      {
        Student temp = student[i];
        student[i] = student[j];
        student[j] = temp;
      }
    }
  }

  printStudents(student, nStudents);
 
  return 0;
} // main

Thursday, November 3, 2011

Pointer Example 1

#include <iostream>
#include <string>
using namespace std;

int main()
{

  int andy = 25;
  int fred = andy;
  int* ted = &andy;
  cout << andy << endl;
  cout << fred << endl;
  cout << *ted << endl;
  cout << ted << endl;

    // declare the variables:

    int nNumber;
    int *pPointer;

    // now, give a value to them:

    nNumber = 15;
    pPointer = &nNumber;

    cout << "nNumber is equal to :" << nNumber << endl;
    *pPointer = 25;

    cout << "nNumber is equal to :" << nNumber << endl;
  return 0;
}

Array of Struct Initialization

#include <iostream>
#include <string>
using namespace std;


// A struct Definition
struct Student
{
  string name;
  int id;
  float gpa;
}; // Student

int main()
{
  Student a[2]={{"Tom",123455, 3.66},
                {"Tom",123455, 3.66}};
  a[0].name = "George Washington";
  a[0].gpa = 3.14;
  a[0].id = 123456;

  cout << "Name=" << a[0].name
       << ", ID=" << a[0].id
       << ", GPA=" << a[0].gpa << endl;

  cout << "Name=" << a[1].name
       << ", ID=" << a[1].id
       << ", GPA=" << a[1].gpa << endl;

  return 0;
}

Passing Struct to Function

#include <iostream>
#include <string>
using namespace std;

struct Student
{
  string name;
  int id;
  float gpa;
}; // Student

Student getGeorge()
{
  Student george;
  george.name = "George";
  george.id = 123456;
  george.gpa = 3.4;
  return george;
} // getGeorge

void printRecord(Student&amp; x)
{
  cout &lt;&lt; "Name=" &lt;&lt; x.name;
  cout &lt;&lt; ", ID=" &lt;&lt; x.id;
  cout &lt;&lt; ", GPA=" &lt;&lt; x.gpa;
} // printRecord

int main()
{
  Student s = getGeorge();
  printRecord(s);
  return 0;
} // main

Passing Array to Function

#include
#include
using namespace std;

double getAverage(int* score, int n)
{
  int sum = 0;
  int i = 0;
  for (i = 0; i &lt; n; i++)
    sum += score[i];
  double average = double(sum) / n;
  return average;
} // getAverage

int main()
{
  int daysPerMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  cout &lt;&lt; "Average = " &lt;&lt; getAverage(daysPerMonth, 12) &lt;&lt; endl;
  return 0;
} // main