Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > pointer arithmetic

Reply
Thread Tools

pointer arithmetic

 
 
jdcrief
Guest
Posts: n/a
 
      08-31-2006
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. I do know that I will need to delete the array to
avoid a memory leak, but I am stuck on this part of the program. I am
open to any suggestions.

#include "stdafx.h"
#include <iostream>
#include <stdio.h>

using std::cin;
using std::cout;
using std::endl;

int main ()
{
int max;
int index;
int result;
int sum;
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;
}

 
Reply With Quote
 
 
 
 
Victor Bazarov
Guest
Posts: n/a
 
      08-31-2006
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. I do know that I will need to delete the array
> to avoid a memory leak, but I am stuck on this part of the program.
> I am open to any suggestions.
>
> #include "stdafx.h"
> #include <iostream>
> #include <stdio.h>
>
> using std::cin;
> using std::cout;
> using std::endl;
>
> int main ()
> {
> int max;
> int index;
> int result;
> int sum;
> 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];


I am looking and I am looking... And I can't find "numbers" anywhere
before this line. Did you forget to define it?

>
> 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;
> }


V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


 
Reply With Quote
 
 
 
 
David Harmon
Guest
Posts: n/a
 
      08-31-2006
On 30 Aug 2006 18:30:42 -0700 in comp.lang.c++, "jdcrief"
<(E-Mail Removed)> 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

 
Reply With Quote
 
jdcrief
Guest
Posts: n/a
 
      08-31-2006
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"
> <(E-Mail Removed)> 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


 
Reply With Quote
 
jdcrief
Guest
Posts: n/a
 
      09-01-2006
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"
> > <(E-Mail Removed)> 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


 
Reply With Quote
 
Thomas Tutone
Guest
Posts: n/a
 
      09-01-2006
jdcrief wrote:
> 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"


Delete the above line. You don't need it.

> #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];


The above line is not legal C++, but it is part of a gcc extension.
DevC++ is an IDE that uses gcc. What exactly is the above line
supposed to do? And exactly what value is index right here?

To avoid this problem in the future, always compile in gcc using -Wall
-Wextra -pedantic, which turns off the extensions and gives you most of
the useful warnings.

Best regards,

Tom

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pointer to pointer or reference to pointer A C++ 7 07-05-2011 07:49 PM
Pointer to pointer Vs References to Pointer bansalvikrant@gmail.com C++ 4 07-02-2009 10:20 AM
passing the address of a pointer to a func that doesnt recieve a pointer-to-a-pointer jimjim C Programming 16 03-27-2006 11:03 PM
Usual Arithmetic Conversions-arithmetic expressions joshc C Programming 5 03-31-2005 02:23 AM
Pointer-to-pointer-to-pointer question masood.iqbal@lycos.com C Programming 10 02-04-2005 02:57 AM



Advertisments