Can anyone explain why this will run using the DevC++ compiler, but not
the Visual 2005 express?
// Name : John D. Moncrief
// Date : 8/25/06
// Description : Assignment 4 - Problem 2: Pointer Arithmetic
// Assignment/Problem : A4P2
// File Name : jmoncriefA4P2
// Course : Intro to C++ CS2244
// Instructor : Raymond Welch
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using std::cout;
using std::endl;
using std::cin;
int main ()
{
int max;
int index;
int result;
int sum;
int numbers[index];
int avg;
cout<<"How many grades will you be entering? ";
cin>>max;
for (index = 0; index < max; index++)
{
cout << "\nPlease Enter Grades: ";
// store value into numbers array
cin >>numbers[index];
cout<<index+1<<". "<<numbers[index]<<endl;
sum =sum +numbers[index];
}
cout<<"\nStudent's Grade Total: "<<sum;
avg = sum/max;
cout<<"\nStudent's Grade Average: "<<avg<<endl;
return 0;
}
jdcrief wrote:
> Thanks David...you are right, i'm not a "REAL" C++ programmer. Again,
> thanks for you help.
> David Harmon wrote:
> > On 30 Aug 2006 18:30:42 -0700 in comp.lang.c++, "jdcrief"
> > <> wrote,
> > >I have all of this program working except for the pointer arithmetic
> > >part, I think. This program should average the student's grades
> > >together using pointer arithmetic and then display the student's and
> > >their average grade.
> >
> > Is the "pointer arithmetic" mandated by a school assignment?
> > Because otherwise, as you have probably noticed, you have no need of
> > such a thing just to compute the average. And indeed, you have none
> > if it in the code sample you posted.
> >
> > >I do know that I will need to delete the array to
> > >avoid a memory leak,
> >
> > You should delete everything you new, but you didn't do that either
> > yet.
> >
> > A real C++ programmer would certainly choose std::vector over
> > pointer arithmetic and new and delete if at all possible.
> >
> > > cout<<"How many grades will you be entering? ";
> > > cin>>max;
> >
> > This makes things tedious for your user; preferably something like
> >
> > while(cin >> grade) {
> > ++max; // count it
|