fork(1) download
  1. #include <cstdio>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. char op;
  7. double a,b,c;
  8. printf("Degeneraci powinni zastanawiać się po przeczytaniu odpowiedzi\n");
  9. for(;;)
  10. {
  11. printf("Podaj wyrazenie (np 12.2+3): ");
  12. if(scanf("%lf %c %lf",&a,&op,&b)!=3) break;
  13. printf("\n"); // tylko dla ideone
  14. switch(op)
  15. {
  16. case '+': c=a+b; break;
  17. case '-': c=a-b; break;
  18. case '*': c=a*b; break;
  19. case '/':
  20. {
  21. if(!b)
  22. {
  23. printf("Cholero, nie dziel przez zero!\n");
  24. continue;
  25. }
  26. c=a/b;
  27. }
  28. break;
  29. default:
  30. {
  31. printf("Niepoprawna operacja\n");
  32. continue;
  33. }
  34. }
  35. printf("%lg %c %lg = %lg\n",a,op,b,c);
  36. }
  37. return 0;
  38. }
Success #stdin #stdout 0s 3300KB
stdin
18.4/0.2
18.4/0
1#2
12+3
12.0+3.0
12.0+3.1
12.1+3.0
12.1+3.1
!
stdout
Degeneraci powinni zastanawiać się po przeczytaniu odpowiedzi
Podaj wyrazenie (np 12.2+3): 
18.4 / 0.2 = 92
Podaj wyrazenie (np 12.2+3): 
Cholero, nie dziel przez zero!
Podaj wyrazenie (np 12.2+3): 
Niepoprawna operacja
Podaj wyrazenie (np 12.2+3): 
12 + 3 = 15
Podaj wyrazenie (np 12.2+3): 
12 + 3 = 15
Podaj wyrazenie (np 12.2+3): 
12 + 3.1 = 15.1
Podaj wyrazenie (np 12.2+3): 
12.1 + 3 = 15.1
Podaj wyrazenie (np 12.2+3): 
12.1 + 3.1 = 15.2
Podaj wyrazenie (np 12.2+3):