+ 1
Im new to this. 2nd day. How can I make this better and make it start over after each grade entered?
Grade Letter #include <iostream> using namespace std; int main() { int x; cout << "enter grade" << endl; cin>> x; if (x==100) cout<< "Perfect A" << endl; if (x<=59) cout<< "F" << endl; if (x>=60 && x<=69) cout<< "D" << endl; if (x>=70 && x<=79) cout<< "C" << endl; if (x>=80 && x<=89) cout << "B" << endl; if (x>=90 && x<=99) cout << "A" << endl; return 0; }
9 ответов
+ 6
Tashi N This seems to work at least in sololearn compiler
#include <iostream>
using namespace std;
int score;
int main()
{
cout<<"Enter score"<<endl;
cin>>score;
do{
switch(score){
case 100:
cout<<"Your score is Perfect"<<endl;
break;
case 90 ... 99:
cout<<"You got A"<<endl;
break;
case 80 ... 89:
cout<<"You got B"<<endl;
break;
case 70 ... 79:
cout<<"You got C"<<endl;
break;
case 60 ... 69:
cout<<"You got D"<<endl;
break;
case 50 ... 59:
cout<<"You got E"<<endl;
break;
case 0 ... 49:
cout<<"You got F"<<endl;}
cout<<"\nto continue press 1";
cin>>score;
}while(score==1)
return 0;
}
+ 5
Thx, Megatron and Josh. I missed the braces and x at least. I'm quite sure there is a way to switch ranges in c++. But I think now that I messed up the syntax 😳 I'll give it a try later and correct my reply then.
+ 5
I'm sorry guys, Megatron's is right, of course! Edited my post so that everybody can see it was wrong.
+ 4
// Messy syntax, won't work
// Go for Megatron's solution, that is correct.
switch(x){
case >= 100: cout<< "Perfect A" << endl;
break;
case >= 90: cout << "A" << endl; break;
case >= 80: cout << "B" << endl; break;
case >= 70: cout<< "C" << endl; break;
case >= 60: cout<< "D" << endl; break;
default: cout << "F" << endl;
}
+ 2
Tashi N are you sure I am not sure in other language cases. But still this should not work as switch only works with discrete values and not with ranges.
Josh
1.Use else if to compare the same value more than once.
2.use do while to repeat until user wants.
3.the code for you
#include <iostream>
using namespace std;
int main() {
int x;
do
{
cout<<"Enter marks";
cin>>x;
cout<<endl;
if (x==100) cout<< "Perfect A" << endl;
else if (x>=90) cout << "A" << endl;
else if (x>=80) cout << "B" << endl;
else if(x>=70) cout<< "C" << endl;
else if(x>=60) cout<< "D" << endl;
else cout << "F" <<endl;
cout<<"To continue press 1\n";
cin>>x;
}while(x==1);
return 0;
}
+ 2
Megatron
Thank you. That does exactly what I had in my head. Thanx for taking the time to help me learn new things.
+ 1
Tashi N...
Didn't work.
Says that the expression results are unused.
Always gives answer as "F"
+ 1
Thanx Tashi N.
- 1
Use a while loop or put it in a separate function.