fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <cstring>
  4. #include <cstdio>
  5. using namespace std;
  6.  
  7. bool isLonger(string first, string second)
  8. {
  9. return first.size() > second.size();
  10. }
  11. string Text(string Eingabe)
  12. {
  13. cout << "Geben Sie einen Text ein\n";
  14. getline(cin, Eingabe);
  15.  
  16. return Eingabe;
  17. }
  18. int main()
  19. {
  20. int number_1;
  21.  
  22. do
  23. {
  24. cout << "Was wollen Sie tun?\n";
  25. cout << "(1) String anschauen\n";
  26. cout << "(2) Char anschauen\n";
  27. cout << "(0) Exit\n";
  28. cin >> number_1;
  29.  
  30. switch(number_1)
  31. {
  32. case 1:
  33. {
  34. cout << "Sie haben sich dazu entschieden, einen String anzusehen!\n";
  35. cout << "\n";
  36. int number_2;
  37. do
  38. {
  39. cout << "Was wollen Sie anschauen?\n";
  40. cout << "(01) Passwortabfrage\n";
  41. cout << "(02) Die Laenge zweier Strings miteinander vergleichen\n";
  42. cout << "(03) Stringlaenge anhand von Buchstaben berechnen\n";
  43. cout << "(04) Strings addieren\n";
  44. cout << "(05) String Anfang und Ende ermitteln\n";
  45. cout << "(06) Groesse eines Strings ermitteln\n";
  46. cout << "(07) Refernz auf String\n";
  47. cout << "(08) Operator +=\n";
  48. cout << "(09) 5 Saetze ausgeben\n";
  49. cout << "(00) Zurueck\n";
  50. cin >> number_2;
  51.  
  52. switch(number_2)
  53. {
  54. case 1:
  55. {
  56. string e;
  57. e = "Maximilian*Maximilian";
  58.  
  59. cout << "\n";
  60. cout << "\t Menuepunkt(01) Passwortabfrage!\n";
  61. cout << "\n";
  62.  
  63. do
  64. {
  65. cout << "Wie lautet das Passwort?\n";
  66. cin >> e;
  67. if(e=="Maximilian*Maximilian")
  68. cout << "Richtig eingegeben";
  69. else
  70. cout << "Nicht richtig eingegeben!\n";
  71. }while(e!="Maximilian*Maximilian");
  72.  
  73. break;
  74. }
  75. case 2:
  76. {
  77. cout << "\tMenuepunkt(02) Die Laenge zweier Strings miteinander vergleichen\n";
  78. string erste;
  79. cin >> erste;
  80. string zweite;
  81. cin >> zweite;
  82. if(isLonger(erste,zweite))
  83. cout << "Der erste ist länger";
  84. else
  85. cout << "Der zweite ist länger";
  86. break;
  87. }
  88. case 3:
  89. {
  90. cout << "\tMenuepunkt(03) Stringlaenge anhand von Buchstaben berechnen\n";
  91. string str;
  92.  
  93. cout << "Bitte geben Sie einen Text ein!\n";
  94. getline(cin, str);
  95.  
  96. cout << "Ihr Text hat " << str.size() << " Buchstaben\n";
  97. break;
  98. }
  99. case 4:
  100. {
  101. cout << "\tMenuepunkt(04) Strings addieren\n";
  102. string Text_1, Text_2, Text_3;
  103.  
  104. cout << "Geben Sie die erste Haelfte des Satzes ein:\n";
  105. getline(cin, Text_1);
  106.  
  107. cout << "Geben Sie die zweite Haelfte des Satzes ein:\n";
  108. getline(cin, Text_2);
  109.  
  110. Text_3 = Text_1 + Text_2;
  111.  
  112. cout << "Zusammengefuegt heisst der Satz:\n";
  113. cout << Text_3;
  114. break;
  115. }
  116. case 5:
  117. {
  118. cout << "\tMenuepunkt(05) String Anfang und Ende ermitteln\n";
  119.  
  120. string str("Test string");
  121. string::iterator it;
  122.  
  123. for (it=str.begin(); it < str.end(); it++)
  124. cout << *it;
  125.  
  126. break;
  127. }
  128. case 6:
  129. {
  130. cout << "\tMenuepunkt(06) Groesse eines Strings ermitteln\n";
  131.  
  132. string Text;
  133. cout << "Geben Sie einen Text ein!\n";
  134. cin >> Text;
  135.  
  136. cout << sizeof(Text) << "\n";
  137. cout << "Groesse:\t " << Text.size() << "\n";
  138. cout << "Laenge:\t" << Text.length ()<< "\n";
  139. cout << "Kapazitaet:\t" << Text.capacity() << "\n";
  140. cout << "Max. Laenge:\t" << Text.max_size() << "\n";
  141.  
  142. break;
  143. }
  144. case 7:
  145. {
  146. cout << "Menuepunkt(07) Refernz auf String\n";
  147.  
  148. string Eingabe;
  149. string &Text_1 =Text(Eingabe);
  150. cout << Text_1 << "\n";
  151.  
  152. break;
  153. }
  154. case 8:
  155. {
  156. cout << "Menuepunkt(08) Operator +=\n";
  157.  
  158. string Vorname;
  159. string Familienname;
  160.  
  161. cout << "Geben Sie Ihren Vornamen ein: \n";
  162. getline(cin, Vorname);
  163.  
  164. cout << "Geben Sie Ihren Familiennamen ein: \n";
  165. getline(cin, Familienname);
  166.  
  167. Vorname += Familienname;
  168. Vorname += '\n';
  169.  
  170. cout << Vorname << "\n";
  171.  
  172. break;
  173. }
  174. case 9:
  175. {
  176. cout << "Menuepunkt(09) 5 Saetze ausgeben\n";
  177. string Satz[5];
  178.  
  179. cout << "Geben Sie fuenf Saetze ein!\n";
  180.  
  181. for (int i=0; i<5; i++)
  182. {
  183. cout << "Satz[" << i <<"]: ";
  184. getline(cin, Satz[i]);
  185. }
  186.  
  187. cout << "\n";
  188. cout << "Das haben Sie eingegeben: \n";
  189. cout << "\n";
  190.  
  191. for (int i=0; i<5; i++)
  192. {
  193. cout << "Satz[" << i << "]: " << Satz[i] << "\n";
  194. }
  195.  
  196. cout << "\n";
  197. break;
  198. }
  199. case 0:
  200. {
  201. cout << "Menuepunkt Zurueck\n";
  202. break;
  203. }
  204. }
  205. }while(number_2!=0);
  206. break;
  207. }
  208. case 2:
  209. {
  210. cout << "Sie haben sich dazu entschieden, einen Char anzusehen!\n";
  211. cout << "\n";
  212. int number_3;
  213. do
  214. {
  215. cout << "Was wollen Sie anschauen?\n";
  216. cout << "(01) Funktion strrchr\n";
  217. cout << "(02) Funktion strchr\n";
  218. cout << "(03) Suche nach einem Buchstaben in einem Satz\n";
  219. cout << "(04) Funktion getline\n";
  220. cout << "(05) Funktion putback\n";
  221. cout << "(06) Funktion put(char)\n";
  222. cout << "(07) Funktion strstr() bzw. die Suche nach Woertern in einem Text\n";
  223. cout << "(00) Zurueck\n";
  224. cin >> number_3;
  225.  
  226. switch(number_3)
  227. {
  228. case 1:
  229. {
  230. cout << "Menuepunkt (01) Funktion strrchr\n";
  231. char str []= "Das ist ein einfacher string.\n";
  232. char * pstr;
  233.  
  234. cout << str;
  235.  
  236. pstr = strrchr(str,'s');
  237.  
  238. cout << "Letzte Stelle von 's' wurde gefunden an " << pstr-str+1 << " \n";
  239. break;
  240. }
  241. case 2:
  242. {
  243. cout << "Menuepunkt (02) Funktion strchr\n";
  244.  
  245. char str[]="Das ist ein einfacher string";
  246. char *pch;
  247.  
  248. cout << "Gesucht wird das 's' in " << str << "\n";
  249.  
  250. pch = strchr(str,'s');
  251.  
  252. while(pch!=NULL)
  253. {
  254. cout << "Gefunden an " << pch-str+1 << "\n";
  255. pch = strchr(pch+1,'s');
  256. }
  257.  
  258. break;
  259. }
  260.  
  261. case 3:
  262. {
  263. cout << "Menuepunkt(03) Suche nach einem Buchstaben in einem Satz\n";
  264.  
  265. char String[10000];
  266. char *pString;
  267. char Buchstabe;
  268.  
  269. cout << "Geben Sie einen String von weniger als 10000 Buchstaben ein!\n";
  270. gets(String);
  271.  
  272. cout << "Nach welchem Buchstaben soll gesucht werden?\n ";
  273. cin >> Buchstabe;
  274.  
  275. pString = strchr(String, Buchstabe);
  276.  
  277. while(pString!=NULL)
  278. {
  279. cout << "Gefunden an " << pString-String+1 << "\n";
  280. pString = strchr(pString+1, Buchstabe);
  281. }
  282. break;
  283. }
  284. case 4:
  285. {
  286. cout << "Menuepunkt(04) Funktion getline\n";
  287. char name[256], titel[256];
  288.  
  289. cout << "Geben Sie Ihren Namen ein:";
  290. cin.getline(name,256);
  291.  
  292. cout << "Geben Sie Ihren Lieblingsfilm ein:";
  293. cin.getline(titel,256);
  294.  
  295. cout << name << "´s Lieblingsfilm ist " << titel << "\n";
  296. break;
  297. }
  298. case 5:
  299. {
  300. cout << "Menuepunkt (05) Funktion putback\n";
  301. char c;
  302. int n;
  303. char str[256];
  304.  
  305. cout << "Geben Sie eine Zahl oder ein Wort ein:";
  306. c = cin.get();
  307.  
  308. if((c>='0')&&(c<='9'))
  309. {
  310. cin.putback(c);
  311. cin >> n;
  312. cout << "Sie haben eine Nummer eingegeben " << n << endl;
  313. }
  314. else
  315. {
  316. cin.putback(c);
  317. cin >> str;
  318. cout << "Sie haben ein Wort eingegeben " << str << endl;
  319. }
  320.  
  321. break;
  322. }
  323. case 6:
  324. {
  325. cout << "Menuepunkt (06) Funktion put(char)\n";
  326.  
  327. char c;
  328.  
  329. cout << "Geben Sie einen Buchstaben ein!\n";
  330. cin >> c;
  331.  
  332. for(c = c; c<='z'; c++)
  333. {
  334. putchar(c);
  335. }
  336.  
  337. break;
  338. }
  339. case 7:
  340. {
  341. cout << "Menuepunkt (07) Funktion strstr() bzw. die Suche nach Woertern in einem Text\n";
  342. char String[100000];
  343. char *pString;
  344. char Wort[256];
  345.  
  346. cout << "Geben Sie einen Text von weniger als 100000 Buchstaben ein!\n";
  347. gets(String);
  348.  
  349. cout << "Nach welchem Wort soll gesucht werden?\n";
  350. cin.getline(Wort, 256);
  351.  
  352. pString = strstr(String, Wort);
  353.  
  354. while(pString!=NULL)
  355. {
  356. cout << "Gefunden an " << pString-String+1 << "\n";
  357. pString = strstr(pString+1, Wort);
  358. }
  359. break;
  360. }
  361. case 0:
  362. {
  363. cout << "Zurueck!\n";
  364. break;
  365. }
  366. }
  367.  
  368. }while(number_3!=0);
  369. break;
  370. }
  371. case 3:
  372. {
  373. cout << "Exit durch Abbruch!\n";
  374. break;
  375. }
  376.  
  377. }
  378. }while(number_1!=0);
  379.  
  380. return 0;
  381. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:149: error: invalid initialization of non-const reference of type ‘std::string&’ from a temporary of type ‘std::string’
prog.cpp:270: warning: ignoring return value of ‘char* gets(char*)’, declared with attribute warn_unused_result
prog.cpp:347: warning: ignoring return value of ‘char* gets(char*)’, declared with attribute warn_unused_result
stdout
Standard output is empty