webForumDet fria alternativet

Räkna antal meningar i en text

C/C++

4 svar · 686 visningar · startad av Blockqoute

Medlem sedan dec. 200380 inlägg
Frågan#1

Det som programmet skall göra är att räkna antal ord, antal ord längre än 6 och antal meningar. De två första har jag löst redan, det är den sista jag har problem med, alltså hur jag skall göra för att räkna antal meningar. Jag har försökt på ett antal olika sätt men inte hittat något som fungerar. Är det någon som är en lösning på mitt problem?

Programmet jag har skrivit ser hittills ut som följande:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;

void main()
{
  int ord=0;
  int longord=0;
  string c;
  char filnamn[100];

  cout<<"Vilken fil skall kontrolleras: ";
  cin>>setw(100)>>filnamn;

  ifstream lasfil(filnamn);
  if(!lasfil)
  {
    cout<<"Filen finns ej eller kan ej oppnas"<<endl<<endl;
    exit(EXIT_FAILURE);
  }

  while(!lasfil.eof())
  {
    lasfil>>c;
    ord++;
    if(c.size()>6)
      longord++;
  }
  cout<<longord<<endl;
  cout<<ord;
}

Texten som skall kontrolleras ser ut så här:

Fact About the EU

EU is short for European Union. The EU is an organisation with 15 member states.
Sweden became a member in 1995. Within the EU, the member states cooperate, for example,
in areas such as the common market, foreign affairs and judicial matters. Cooperation
within the EU is extensive but does not cover all policies. Many issues are still being
dealt with by each member state separately. This holds for matters such as health care,
defence, school policy and housing policy.

Medlem sedan juni 200010 432 inlägg
Medlem sedan dec. 200380 inlägg
Medlem sedan dec. 200380 inlägg
Medlem sedan juni 200010 432 inlägg
#5

Kanske är bättre om diskussionen fortsätter i den andra tråden

267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)