Język C numeracja zdań w pliku tekstowym

0

Witam wszystkich mam problem z takim programem :
Wczytaj plik tekstowy i na początku wszystkich zdań wpisze tekst: "Zdanie#" gdzie "#" jest numerem zdania. oraz wypisz informacię o liczbie zdań. (Zakładamy że zdanie kończy się kropką,znakiem zapytania bądz wykrzyknikiem)

Zrobiłam więc program które wczytuje plik i podaje informacię o liczbie zdań natomiast nie wiem co tu zrobić aby na początku każdego zdania wpisywało tekst zdanie#.

oto mój program:


#include <conio.h> 
#include <stdio.h> 
#include <string.h> 
static unsigned  long ile[26]; 
unsigned int zdania = 0 ; 
//============================================================================= 
void analiza(char* wyraz) 
{           
    for(int i = 0 ; i < strlen(wyraz) ;i++) 
    { 
    switch(wyraz[i])                             
    {  
     case '!' : case '.' : case '?' :  
       ++zdania ;  
       break; 
     case ' ' : 
       break ; 
     default : 
       break ; 
       } // switch 
    } // for 
} 
//============================================================================= 
int main() 
{  int k; 
   FILE * plik ; 
   char nazwa[15] ; 
   char bufor[80]; 
   char c; 
   printf("\n\n\tPodaj nazwe pliku :"); 
   scanf("%s",nazwa) ; 

  plik=fopen(nazwa, "r+t");    
      
         while( EOF != fscanf(plik,"%s",bufor)) 
          { 
              analiza(bufor); 
                
           }  
            
        plik=fopen(nazwa, "r+t");  
          
               while ((c=fgetc(plik))!=EOF) 
            printf("%c",c); 

     fclose(plik) ; 
//====================================================================// 
             
     printf(" ilosc zdan = %d",zdania); 
  
getch(); 
return 0 ; 
}  
 

Bardzo proszę o pomoc

0

Najlepiej od razu zapisywać drugi plik z tymi wstawkami.

case '!' : case '.' : case '?' :  
   ++zdania;
   fprintf(outplik, "Zdanie%d %s", zdania, wyraz);
   
   return; // cały wyraz już poszedł - nie ma nic do roboty...

Ale musisz czytać liniami, a nie wyrazami - żeby np. spacji nie pogubić... więc trzeba trochę inaczej.

0

Czyli jak liniami???? Jak trzeba zapisać żeby czytał liniami???

1 użytkowników online, w tym zalogowanych: 0, gości: 1