السلام عليكم
يا شباب عندي مشكلة في الكود
و هي انه الSwitch ما تقبل float أو double
حاولت أجوف مواقع و صفحات و لكن للأسف ما فهمت
و إن شاء الله تساعدوني
#include<iostream.h>
#include<cmath>
int main()
{
char r[3];
double num1;
double num2;
char op;
char answer;
double total;
do
{
cout<<"Enter an equation(number-operation-number)\n";
for (int i=0;i<3;i++)
{
cin>>r;
num1=r[0];
op=r[1];
num2=r[2];
}
switch (num1){
case '1':
num1=1;
break;
case '2':
num1=2;
break;
case '3':
num1=3;
break;
case '4':
num1=4;
break;
case '5':
num1=5;
break;
case '6':
num1=6;
break;
case '7':
num1=7;
break;
case '8':
num1=8;
break;
case '9':
num1=9;
break;
case '0':
num1=0;
break;
}
switch (num2){
case '1':
num2=1;
break;
case '2':
num2=2;
break;
case '3':
num2=3;
break;
case '4':
num2=4;
break;
case '5':
num2=5;
break;
case '6':
num2=6;
break;
case '7':
num2=7;
break;
case '8':
num2=8;
break;
case '9':
num2=9;
break;
case '0':
num2=0;
break;
}
switch (op){
case '+':
total=num1+num2;
break;
case '-':
total=num1-num2;
break;
case '*':
total=num1*num2;
break;
case '/':
{
if(num2==0)
{
cout<<"error\n";
}
else
total=num1/num2;
}
break;
}
if (num1>=0 && num2>=0&& num1<=9 && num2<=9)
cout<<"The total is "<<total<<"\n";
else if (cout<<"Error") {
cout<<"Do You Want to Repeat?(answer 'y' or 'N')";
cin>>answer;
}
else
cout<<"Error";
cout<<"Do You Want to Repeat?(answer 'y' or 'N')";
cin>>answer;
}
while (answer=='y');
return 0;
}المشكلة في الكود انه ما يقبل float أو double لأنه في القسمة يطلع لي الرقم إذا كان int / int الجواب يطلع بصفر إذا كان الجواب عدد غير صحيح
فانه بغيت أحل هالمشكلة