Język C Problem z operacjami na plikach

0

Witam
Robię zadanie w którym muszę wczytać jakiś plik txt , ale ma mi napisać : "zdanie#"(# to liczba) przed każdym zdaniem. W zdaniu bierzemy pod uwagę kropkę.
Siedze nad tym długo ale jakoś nic nie wymyśliłam. Dopiero przesiadłam się na C z Pascala .
Proszę o pomoc. jak ma wyglądać ten program?
to mój żałosny program który robiłam przez dwa dni.(Program nic nie robi, i w ogóle zły jest nawet algorytm bo nie zawiera dużych liter po kropce(Bo jak będę miała wielokropek to l... właśnie:)).Nie mam pojęcia jak to zrobić) proszę bardzo o pomoc...

#include<stdio.h> 
  
int main() 
{ 
    char znak; 
    char name[100]; 
    int ile; 
   FILE *plik; 
   gets(name); 
   plik = fopen( name, "r" );   // otwieramy plik do odczytu 
  
    znak = getc( plik );  
    while( znak != EOF )                  //pętla odczytująca po jednym znaku z pliku 
     ile = ile+1; 
 {    if (znak = '.'){ 
     
         
     printf( "Zdanie:",ile,"%c ", znak );             //do napotkania znaku końca pliku EOF 
        znak = getc( plik ); 
         } } 
    fclose( plik);    //zamykamy plik 
    getchar(); 
    return 0; 
}
0

Bardzo Was proszę o pilną pomoc.

0

nie napisałaś co ten program ma robić, więc ciężko Ci w jakikolwiek sposób pomóc.

    znak = getc( plik ); 
    while( znak != EOF )                  //pętla odczytująca po jednym znaku z pliku 
     ile = ile+1; 
 {    if (znak = '.'){  // = to przypisanie, == przyrównanie, zobacz też gdzie klamrę zaczęłaś
 
 
     printf( "Zdanie:",ile,"%c ", znak );             //do napotkania znaku końca pliku EOF 
        znak = getc( plik ); 
         } } 

ten fragment wygląda źle
wg. mnie powinno być to coś takiego (zakładając, że chcesz napisać program, który podaje Ci ile znaków ma zdanie):

do
{
  znak = getc(plik); 
  if (znak!=EOF)
    ile++; // to samo co: ile = ile+1; 

  if (znak == '.' || (ile!=0 && znak==EOF))
    { 
      printf( "Zdanie: %d\n", ile);
      ile = 0;
    } 
} while (znak!=EOF);

nie kompilowałem tego, ale powinno działać dobrze

0

Pisałam o co chodzi, więc jeszcze raz napisze. Program ma wczytać jakiś plik tekstowy, i przed każdym zdaniem (zakładając że zdanie kończy się kropką a Zaczyna z dużej litery) napisać : "zdanie#" gdzie"#" jest numerem zdania(czyli program numeruje zdania) następnie zapisać ile jest zdań w pliku. A potem zapisać ten ponumerowany plik pod inną nazwa. :)
hm ten program tego nie robi co mi napisałeś ale dziękuje za pomoc

0

jak zrobię samopiszący program czytający w myślach to Ci podeśle.

0

Oto treść zadania :

Wczytaj plik tekstowy i na początku wszystkich zdań wpisz tekst : "zdanie#:" gdzie "#"
ma być numerem zdania. Wypisać informację o liczbie zdań , i zapisać zmodyfikowany plik do innego pliku.

Mam nadzieje że teraz jasno napisałam:)?

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