ok i got my loop to work but i need to make it where the user has to enter a grade between 0 and 100, I tried by using

int grade(0<100);

but it doesnt work. what do i need to do? also how do i get the program to print out the highest to lowest scores after they have all been entered?

//The program has a two argument constructor to the definition of the Person structure.
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>
using namespace std; 
const int MAX = 3;
struct Person
{
 string Firstname, Lastname;
 int grade;
 Person()
 {
  Firstname="No name assigned";
  Lastname="No name assigned";
  grade = -1;
 }
 Person (string l, string f, int g)
 {
 Firstname = f;
 Lastname =l;
 grade = g;
 }
};
int main()
{
 int x = 10; 
 while (x++ < 20)
  {
   int grade(0<100);
   string strFirstname, strLastname;
   cout<<"Enter person's first name: ";
   getline(cin, strFirstname);
   cout<<"Enter person's last name: ";
   getline(cin, strLastname);
   cout  <<"Enter the grade: ";
   cin>>grade;
   cin.ignore();
   Person p1(strLastname, strFirstname, grade);
   cout <<"The person's name is: "
   <<p1.Lastname<<", "<<p1.Firstname<<endl;
   cout <<"The grade is: "
   <<p1.grade<<endl;
  }
 return 0;
}

Recommended Answers

All 4 Replies

line 30 is illegal syntax. just initialize the int to 0

int grade = 0;

now after the user enters the grade at line 37 you need to validate it. If not valid then make him enter the grade again. You probably need to do all that in a do loop or a while loop, either one will work ok. Something like this sudo code.

while grade is not ok
    get grade from keyboard
    is grade between 0 and 100
    if it is then exit the loop
    otherwise if not display an error message
end of while loop

You can use an enum

enum myenum {
myenumStart=0,
...
myenumEnd=100
};

Use a for loop rather than while. you can control more the flow of your program if it is in for loop

Use a for loop rather than while. you can control more the flow of your program if it is in for loop

A for loop is not appropriate here -- there is nothing to be incremented and need to loop an infinite number of times until specified condition is met.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.