Witam. Mam do zrobienia zadanie o treści: //"Napisz program, który wczytuje tekst wejściowy do znaku # i zwraca informację o liczbie razy, jaką występuje w nim ciąg an. Uwaga: Program będzie musiał "pamiętać" zarówno bieżący, jak i poprzedni znak. Do jego przetestowania możesz użyć zdania "Banany staniały."
Po walce z funkcjami if / else doszedłem do czegoś takiego i niby to działa, ale podejrzanie to wygląda (za prosto, a może działa przypadkiem?).
Może właśnie powinna w tym zadaniu zostać zastosowana funkcja if/else i jeśli tak to proszę o podpowiedź.
Dopiero zaczynam swoją przygodę z programowaniem i chętnie wysłucham opinii co do treści kodu jak i samego stylu.
#include <stdio.h>
#define TAK 1
#define NIE 0
#define STOP '#'
int main()
{
char c;
int w_an = NIE;
int ile_an = 0;
printf("Napisz jakis tekst, a program policzy dla Ciebie\n");
printf("ile razy wystapil w nim ciag \"an\"\n");
while ((c=getchar()) != STOP)
{
switch (c)
{
case 'a': w_an = TAK;
break;
case 'n': if (w_an == TAK)
ile_an++;
w_an = NIE;
break;
}
}
printf("uzyto %d razy ciagu \"an\"\n", ile_an);
return 0;
}