In: Computer Science
Use while loop for the num inputs
#include
#include
using namespace std;
int main()
{
long long int digit;
long long int num1, num2, num3, num4, num5;
int ave;
cout << "Enter a 10 digit number: ";
cin >> digit;
num5 = digit %100;
digit = digit / 100;
num4 = digit %100;
digit = digit / 100;
num3 = digit %100;
digit = digit / 100;
num2 = digit %100;
digit = digit / 100;
num1 = digit %100;
digit = digit / 100;
cout << num1 << endl;
cout << num2 << endl;
cout << num3 << endl;
cout << num4 << endl;
cout << num5 << endl;
ave = (double)(num1 + num2 + num3 + num4 + num5) /
5;
cout << "Avg: " << ave <<
endl;
switch(ave/10){
case 9:
cout <<
"Grade: A";
break;
case 8:
cout <<
"Grade: B";
break;
case 7:
cout <<
"Grade: C";
break;
case 6:
cout <<
"Grade: D";
break;
default:
cout <<
"Grade: F";
break;
}
return 0;
}
Here is the completed code for this problem. After reading the question, there was a confusion whether you meant to rewrite the same program using while loops than using 5 modulo and division operations, or rewrite the program using while loops for reading 5 grades and find the average and grade at the end. So I wrote both versions of this question according to my understanding. Choose whichever you want. Comments are included, go through it, learn how things work and let me know if you have any doubts or if you need anything to change. If you are satisfied with the solution, please rate the answer. Thanks
//version 1
#include <iostream>
using namespace std;
int main()
{
long long int digit;
int num, i = 0;
int ave;
//asking and reading a 10 digit number, assuming user always enter valid input
cout << "Enter a 10 digit number: ";
cin >> digit;
//looping for 5 times
while (i < 5) {
//extracting last 2 digits as num
num = digit % 100;
//adding to ave
ave += num;
//removing last 2 digits from digits
digit = digit / 100;
//updating i
i++;
//displaying current number
cout << num << endl;
}
//finding average
ave = ave / 5;
//displaying average and grade
cout << "Avg: " << ave << endl;
switch (ave / 10) {
case 9:
cout << "Grade: A";
break;
case 8:
cout << "Grade: B";
break;
case 7:
cout << "Grade: C";
break;
case 6:
cout << "Grade: D";
break;
default:
cout << "Grade: F";
break;
}
return 0;
}
/*OUTPUT*/
Enter a 10 digit number: 8080989075
75
90
98
80
80
Avg: 84
Grade: B
//version 2
#include <iostream>
using namespace std;
int main()
{
long long int digit;
int num, i = 1;
int ave;
//looping for 5 times
while (i <= 5) {
//asking for num
cout<<"Enter num "<<i<<": ";
//reading num
cin>>num;
//adding to ave
ave += num;
i++;
}
//finding average
ave = ave / 5;
//displaying average and grade
cout << "Avg: " << ave << endl;
switch (ave / 10) {
case 9:
cout << "Grade: A";
break;
case 8:
cout << "Grade: B";
break;
case 7:
cout << "Grade: C";
break;
case 6:
cout << "Grade: D";
break;
default:
cout << "Grade: F";
break;
}
return 0;
}
//OUTPUT
Enter num 1: 70
Enter num 2: 80
Enter num 3: 90
Enter num 4: 95
Enter num 5: 44
Avg: 76
Grade: C