I am writing a program that will read information from a file and then output the screen. The problem is when is reads the name in the sile. It is only outputing the 1st 2 characters of the last name. The grade calculations are not correct as well. When I take out the name, the grade calculations are correct and output correctly as well. Do I need to use char strings for the name?. Any suggestions would be appreciated.

Thanks.

Kyle

/************************************************** ***************
This program will load a input file which consists of the students
last name, first name, 5 quiz scores, midterm score, final score,
and 16 program scores. The scores will then be averaged, where
needed as well as weigthed with 30 percent for the quizes,
30 percent for the programs, 20 percent for the mid-term, and
20 percent for the final. The program will then output the student
name as well as the calculated final grade.
************************************************** ****************/

#include <fstream>
#include<iostream>
using std::ifstream;
using std:fstream;
using std::endl;
using std::cout;

int main()
{

ifstream inStream;
ofstream outStream;

inStream.open("A:\\gradefile.txt");
outStream.open("A:\\outfile.txt");

if(inStream.fail())
{
cout<<"Input file opening failed.\n";
exit(1);
}

char lastName, firstName;
char gradeFinal;
int quiz, quiz1, quiz2, quiz3, quiz4, quiz5;
int midTerm, final, grade;
int prog, prog1, prog2, prog3, prog4, prog5, prog6, prog7, prog8, prog9, prog10;
int prog11, prog12, prog13, prog14, prog15, prog16;

inStream>>lastName>>firstName;
inStream>>quiz1>>quiz2>>quiz3>>quiz4>>quiz5;
inStream>>midTerm>>final;
inStream>>prog1>>prog2>>prog3>>prog4>>prog5>>prog6 >>prog7>>prog8>>prog9>>prog10>>prog11>>prog12>>pro g13>>prog14>>prog15>>prog16;


prog=(prog1+prog2+prog3+prog4+prog5+prog6+prog7+pr og8+prog9+prog10+prog11+prog12+prog13+prog14+prog1 5+prog16)/16;
quiz=(quiz1+quiz2+quiz3+quiz4+quiz5)/5;
grade=(prog*.30)+(quiz*.30)+(midTerm*.20)+(final*. 20);

if(grade>=90)
gradeFinal='A';
else if(grade>=80 && grade<90)
gradeFinal='B';
else if(grade>=70 && grade <80)
gradeFinal='C';
else if(grade>=60 && grade<70)
gradeFinal='D';
else if(grade<60)
gradeFinal='F';

cout<<lastName<<firstName<<" "<<gradeFinal<<endl;

inStream.close();
outStream.close();

return 0;

}

The .txt file looks like:
Doe John
91 90 100 95 90
84 95
90 91 92 94 95 96 97 98 99 100 99 98 97 96 95 94