Guest User

Untitled

a guest
Aug 27th, 2016
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. TestStringa.h
  2.  
  3. #ifndef TestStringaException
  4. #pragma once
  5. #include <iostream>
  6. #include <exception>
  7. using namespace std;
  8.  
  9. class TestStringaException : public exception
  10. {
  11. public:
  12. virtual char* what();
  13. };
  14. #endif
  15.  
  16. TestStringaException.cpp
  17.  
  18. #include "TestStringa.h"
  19.  
  20. char* TestStringaException::what()
  21. {
  22. return "Tekst ne sadrzi C/C++!";
  23. }
  24.  
  25. Source.cpp
  26.  
  27. /*
  28. ucitati jednu liniju teksta sa tastature i spakovati je u string str1.uraditi sledece :
  29.  
  30. -Kreirati stringove s2 i s3 iz stringa str1 tako sto deo stringa str1 do pojave prvog znaka tacke prelazi u s2 ,a deo nakon tacke prelazi u s3.
  31. Ukoliko string ne poseduje tacku odstampati objavnu ASSERT(c jezik) poruku
  32. ili izbaciti izuzetak tipa StringNemaTackuException(c++ jezik) koji je izveden iz klase std::exception.
  33. Ispitati da li se u stringovima s2 i s3 javlja string "c/c++" ukoliko je odgovor ne onda ispisati da li se u originalnom stringu str1 javlja "c/c++"
  34. u stringu s3 zameniti svako pojavljivanje slova "c" brojem "3". Algoritam treba da proverava i mala i velika slova*/
  35.  
  36. #include <iostream>
  37. #include <string>
  38. #include "TestStringa.h"
  39. using namespace std;
  40.  
  41. string str2(string str)
  42. {
  43. string noviString = "";
  44. for (int i = 0; i < str.length(); i++)
  45. {
  46. if (str[i] == '.')
  47. break;
  48.  
  49. noviString += str[i];
  50. }
  51.  
  52. return noviString;
  53. }
  54.  
  55. string str3(string str)
  56. {
  57. string noviString = "";
  58. int indexTacke = str.find('.');
  59. for (int i = indexTacke+1; i < str.length(); i++)
  60. {
  61. noviString += str[i];
  62. }
  63.  
  64. return noviString;
  65. }
  66.  
  67. int main()
  68. {
  69. string str1;
  70. cout << "unesite liniju" << endl;
  71. cin >> str1;
  72.  
  73. string string2 = str2(str1);
  74. string string3 = str3(str1);
  75.  
  76. cout << string2 << endl;
  77. cout << string3 << endl;
  78.  
  79. try
  80. {
  81. if (string2.find("c/c++") == string::npos)
  82. {
  83. throw TestStringaException();
  84. }
  85. else
  86. {
  87. if (str1.find("c/c++") != string::npos)
  88. {
  89. cout << "Sadrzi c/c++";
  90. }
  91. else
  92. {
  93. cout << "Ne sadrzi c/c++";
  94. }
  95. }
  96. }
  97. catch (TestStringaException ex)
  98. {
  99. cout << ex.what() << endl;
  100. }
  101.  
  102. for (int i = 0; i < string3.length(); i++)
  103. {
  104. if (string3[i] == 'c' || string3[i] == 'C')
  105. string3[i] = '3';
  106. }
  107.  
  108. cout << "Novi string3 je: " << endl;
  109. cout << string3 << endl;
  110.  
  111. system("pause");
  112. return 0;
  113.  
  114.  
  115. }
Advertisement
Add Comment
Please, Sign In to add comment