Hejka. Chciałabym poprosić o pomoc w związku z zadaniem. Treść jest następująca:
Opracować program wczytujący ze standardowego wejścia słowa składające się tylko z liter i wyświetlający w osobnych wierszach na ekranie te słowa, które zwierają liczbę i rodzaj znaków podane w wierszu poleceń. Można założyć, że wszystkie wprowadzane dane będą poprawne.
Przykładowo dla uruchomienia programu: $ prog a 3 i danych na standardowym wejściu:
aaa bbb ccacasa dd eeeeaaa sss ddd 4aa444 d1ddaaa bbaccadda
program powinien wyświetlić:
aaa
ccacasa
eeeeaaa
bbaccadda
Próba kodu wypadła tak:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
int main()
{
system("CLS");
HANDLE Kolor = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(Kolor, 10);
printf("Witamy w programie filtrowania!\n\n");
Sleep(2000);
char tablica[60], sprawdz[16];
char *ciag_znakow, *ciag_sprawdz, *znak;
SetConsoleTextAttribute(Kolor, 11);
printf("Wprowadz dowolny ciag znakow ze spacjami: \n");
ciag_znakow = fgets(tablica, 60, stdin); //fgets czyta kolejne znaki ze strumienia
printf("\nWprowadz ciag znakow, ktory ma filtrowac wpisane frazy: \n");
scanf("%s",sprawdz);
ciag_sprawdz = sprawdz;
znak = strtok(ciag_znakow," ");
printf("\nWyrazy zawierajace filtrowane frazy to: '%s' \n", ciag_sprawdz);
while(znak != NULL)
{
if(strstr(znak, ciag_sprawdz))
printf("%s\n ",znak);
znak = strtok(NULL, " ");
}
SetConsoleTextAttribute(Kolor, 14);
printf("\n\n");
Sleep(2500);
printf("Koniec programu!\n");
return 0;
}