Guest User

Untitled

a guest
Feb 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. // Andreas Alin, 3A
  2. // Programmering B.
  3. // Sökning i filer
  4.  
  5. #include <iostream>
  6. #include <vector>
  7. #include <string>
  8. #include <fstream>
  9.  
  10. using namespace std;
  11.  
  12. #define WORDFILE "svenskautf8.txt"
  13.  
  14. void read_file(vector <string> &thelist)
  15. {
  16. // Öppna filen WORDFILE till wordfile
  17. ifstream wordfile (WORDFILE);
  18.  
  19. string line;
  20.  
  21. // Om wordfile kunde öppnas...
  22. if(wordfile.is_open())
  23. {
  24. while(getline(wordfile, line)) // Så länge nya rader kan hämtas från wordfile,
  25. thelist.push_back(line); // lägg dem i slutet av listan.
  26. wordfile.close(); // Stäng filen när allt är klart.
  27. }
  28. // ... annars skriv att filen inte kunde öppnas.
  29. else
  30. cout << "Kunde inte öppna " << WORDFILE << endl;
  31. }
  32.  
  33. int occurences(string &searchstring, vector <string> &thelist)
  34. {
  35. int val=0;
  36. for(int i=0; i<thelist.size(); i++) // Öka i så länge i är under listans storlek.
  37. if(thelist[i].find(searchstring, 0) != string::npos) // Ifall listvärdet för i innehåller sökordet,
  38. val++; // öka val.
  39. return val; // När det är klart, returnera val.
  40. }
  41.  
  42. int main()
  43. {
  44. // Deklarera vektorn wordlist som innehåller strings.
  45. vector <string> wordlist;
  46.  
  47. string search_for;
  48.  
  49. cout << "Sökord: ";
  50. cin >> search_for;
  51.  
  52. // Läs in filen
  53. read_file(wordlist);
  54.  
  55. // Skriv ut antalet träffar.
  56. cout << occurences(search_for, wordlist) << " träffar för ordet " << search_for << endl;
  57.  
  58. // Avsluta.
  59. return 0;
  60. }
Add Comment
Please, Sign In to add comment