[C] odczyt tekstu z pliku.

Tomix91
Użytkownik
Użytkownik
Posty: 175
Rejestracja: 8 sty 2009, o 19:12
Płeć: Mężczyzna
Lokalizacja: Stalowa Wola
Podziękował: 26 razy
Pomógł: 12 razy

[C] odczyt tekstu z pliku.

Post autor: Tomix91 »

Witam mam problem.

Kod: Zaznacz cały

#include<stdio.h>
FILE *slowo;

int main(){
char a[20], s[20];
int i;
i=0;
slowo=fopen("slowo","r");        
fscanf(slowo,"%s",a);            /*odczyt  z pliku*/
printf("%s
",a);                    /* sprawdzenie czy odczytuje poprawnie wyraz*/
while(a[20]!=s[20]||i!=10){      /*ma się 10 szans*/ 
printf("Wyraz to:
");
scanf("%s",s);
if(a[20]!=s[20]){                      /*tutaj ma porównywać wyrazy( i tutaj jest chyba bład)*/ 
printf("Brawo
");
}
else{                                  
                                    /* w razie porażki dodaje 1 do i ( gdy i =10 to koniec programu)*/
puts("próbuj jeszcze raz");
i++;
}
}
fclose(slowo);
}
Chodzi mi o to:
1. Podaje jakiś wyraz i go zapisuje do nowego pliku (kod jest poniżej);
2. Odczytuje podany wcześniej wyraz z nowego pliku.
3. Podaje drugi wyraz;
4. Porównuje oba wyrazy i jeżeli są takie same to drukuje "Brawo", w inny wypadku każe wpisać od nowa. ( takie jakby uproszczone kalambury )
Nie wiem gdzie jest błąd.

To jest zapis danego wyrazu do nowego pliku.

Kod: Zaznacz cały

#include<stdio.h>
FILE *slowo;

int main(){
char a[20];
slowo=fopen("slowo","w");
printf("Podaj wyraz do odgadnięcia
");
scanf("%s",a);
fprintf(slowo,"%s",a);
fclose(slowo);
}
Awatar użytkownika
kuma
Użytkownik
Użytkownik
Posty: 259
Rejestracja: 16 sie 2007, o 22:03
Płeć: Mężczyzna
Podziękował: 12 razy
Pomógł: 70 razy

[C] odczyt tekstu z pliku.

Post autor: kuma »

Kod: Zaznacz cały

a[20]!=s[20]
Po pierwsze ten warunek sprawdza czy 21. znaki wyrazów są inne(!). Napewno nei o to Ci chodziło, co wiecej twoje wyrazy maja co najwyzej 20 znakow(!).
Moze użyj funkcji strcmp
ODPOWIEDZ