Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > program must handle only values between 0 and 100.

Reply
Thread Tools

program must handle only values between 0 and 100.

 
 
naushil mehta
Guest
Posts: n/a
 
      03-25-2012
-1 pt for readArray() handles the out of range data (input <-1) as well as(input >100) the same valid data!
when program encounters the out of range data ( input <-1 || input >100), program prompt user “wrong input, and enter
again”. Do not enter the out of range (invalid data) to the score[]array.

Code:
 
#include <iostream> 
using std::cin; 
using std::cout; 
using std::endl; 

int readArray(int, int[]);//implement step 2 of 5 

int avg(int , const int[]); //implement step 3 of 5 

int stat(int, const int[], int&, int&, int&); //implement step 4 of 5 

int histogram(int,const int[], int[]);//implement step 5 of 5 

int main() 
{ 
const int MAX_SCORES = 100; 
int score[MAX_SCORES]; 
//cout<< readArray(MAX_SCORES,score)<<​endl; 
int nScore = readArray(MAX_SCORES,score); 
cout<<"Average of the array: "<<avg(nScore, score) <<endl; 
//step 4 of 5 
int avgScore, minScore, maxScore; 
 
int grade[5]={0}; 

if (stat( nScore, score, avgScore, minScore, maxScore) == 0) 
{ 
cout<<"Average = "<< avgScore << endl 
<<"Max = "<<maxScore <<endl 
<<"Min = "<<minScore <<endl; 
//step 5 of 5 
histogram(​nScore,score,grade); 
 
cout <<"As: "<< grade[0]<<endl; 
cout <<"Bs: "<< grade[1]<<endl; 
cout <<"Cs: "<< grade[2]<<endl; 
cout <<"Ds: "<< grade[3]<<endl; 
cout <<"Fs: "<< grade[4]<<endl; 
} 
else 
{ 
cout << "no data"<<endl; 
} 
cin.get(); 
cin.get(); 
return 0; 
} 

int readArray(int max_score, int score[]) 
{ 
int nScores =0; 
for(int i =0; i< max_score; i++) 
{ 
cout<<"Enter element(-1 to end input): "; 
cin >> score[i]; 
cout<<endl; 

if (score[i] == -1) 
{ 
score[​i] = NULL; 
break; 
} 
else 
{ 
​nScores++; 
} 
if(nScores>=​max_score) 
break; 

cin.ignore(); 
} 
return nScores; 
} 
int avg(int n, const int score[]) 
{ 
int total = 0; 
if (n == 0) 
return 0; 

for(int i = 0; i < n; i++) 
{ 
total += score[i]; 
} 
return total/n; 
} 
int stat(int n, const int score[], int& avg, int& mn, int& mx) 
{ 
if (n == 0) 
return 1; 
int total = 0; 
for(int i = 0; i < n; i++) 
{ 
total =total + score[i]; 
if (( i == 0) || (mn > score[i])) 
mn = score[i]; 
if ((i == 0) || (mx < score[i]) ) 
mx = score[i]; 
} 
avg = total / n; 
return 0; 

} 
int histogram(int nScore,const int score[], int grade[]) 
{ 
if(sizeof(score)/​sizeof(int)==0) 
return 1; 
for(int i = 0; i < nScore; i++) 
{ 
if (score[i] >= 90) 
{ 
grade[​0]++; 
} 
else if(score[i] >= 80) 
{ 
grade[​1] ++; 
} 
else if(score[i] >= 70) 
{ 
grade[​2] ++; 
} 
else if(score[i] >= 60) 
{ 
grade[​3] ++; 
} 
else 
{ 
grade[​4] ++; 
} 
} 
return 0; 
}
 
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
Will someone tell me how to handle only input between -1 and 100.? naushil mehta C++ 2 03-26-2012 04:33 PM
Why must and must not be "final" ? NeoGeoSNK Java 25 11-24-2006 02:02 AM
Possible to handle web requests without an ASPX page? i.e. have DLL handle request. jdlwright@shaw.ca ASP .Net 2 05-31-2005 05:42 PM
how to handle command line output(not terminal handle) Leon Python 2 11-04-2004 05:16 AM
File Handle Reading Blues: Rereading a File Handle for Input Dietrich Perl 1 07-22-2004 10:02 AM



Advertisments