fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. float strmin(string s1, string s2)
  5. {
  6. float s1v, s2v;
  7. bool rossz1=false, rossz2=false;
  8.  
  9. try {
  10. s1v = stof(s1);
  11. } catch (exception e) {
  12. rossz1 = true;
  13. }
  14.  
  15. try {
  16. s2v = stof(s2);
  17. } catch (exception e) {
  18. rossz2 = true;
  19. }
  20.  
  21. if (rossz1 && rossz2)
  22. return -999;
  23.  
  24. if (rossz1)
  25. return s2v;
  26. if (rossz2)
  27. return s1v;
  28.  
  29. // mindkettő jó:
  30. if (s1v < s2v)
  31. return s1v;
  32. else
  33. return s2v;
  34. }
  35.  
  36. void proba(string s1, string s2)
  37. {
  38. cout << "input: " << s1 << " és " << s2 << ", output: " << strmin(s1, s2) << endl;
  39. }
  40.  
  41. int main() {
  42. proba("abc", "def");
  43. proba("", "def");
  44. proba("abc", "");
  45. proba("", "");
  46. proba("", "1.234");
  47. proba("abc", "1.234");
  48. proba("3.1415", "");
  49. proba("3.1415", "def");
  50. proba("3.1415", "1.234");
  51.  
  52. return 0;
  53. }
Success #stdin #stdout 0s 4364KB
stdin
Standard input is empty
stdout
input: abc és def, output: -999
input:  és def, output: -999
input: abc és , output: -999
input:  és , output: -999
input:  és 1.234, output: 1.234
input: abc és 1.234, output: 1.234
input: 3.1415 és , output: 3.1415
input: 3.1415 és def, output: 3.1415
input: 3.1415 és 1.234, output: 1.234