Facebook
From Capacious Tern, 4 Years ago, written in C++.
This paste is a reply to Re: C++ Exception Handling from Diminutive Pintail - view diff
Embed
Download Paste or View Raw
Hits: 73
  1. #include <iostream>
  2. #include <limits>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.        
  8.         double firstNumber = 0.0, secondNumber = 0.0, result = 0.0;
  9.         char operation = 'x';  
  10.        
  11.         while (true){
  12.        
  13.                 try{
  14.                
  15.                         cout << "Birinci sayi, isaret , ikinci sayi :";
  16.                         cin >> firstNumber >> operation >> secondNumber;
  17.          
  18.             if(cin.fail())
  19.             {
  20.               cin.clear();
  21.               cin.ignore(numeric_limits<streamsize>::max(),'\n');
  22.               throw string("Hatali Giris");
  23.             }
  24.                        
  25.                         switch (operation){
  26.                                 case '+':
  27.                                         result = firstNumber + secondNumber;
  28.                                                 break;
  29.                                 case '-':
  30.                                         result = firstNumber - secondNumber;
  31.                                                 break;
  32.                                 case '*':
  33.                                         result = firstNumber * secondNumber;
  34.                                                 break;
  35.                                 case '/':
  36.                                         result = firstNumber / secondNumber;
  37.                                                 break;
  38.                                                
  39.                                 default:
  40.                                         result = '0';
  41.                                 }
  42.                 }
  43.                                
  44.                 catch(string msg)
  45.         {
  46.           cout << msg << endl;
  47.           continue;
  48.                 }
  49.                
  50.                 cout << result << endl;
  51.                
  52.                 }      
  53.         }
  54.        
  55.