Mam do napisania zadanie, które z początku wydaje sie banalne, ale niestety nie do końca dla mnie jest.
Treść:
Napisz program wczytujący w klawiatury teksty o różnej długości przechowujący je w pamięci komputera w postaci tekstów. Wykorzystaj reprezentacje w postaci statycznej tablicy 30-sto elementowych tablic znaków.
Do wczytywania użyłam getchara. Jeśli użytkownik poda wiecej niż 30 znaków, to nadmiar idzie do nastepnego ciągu. Co mogę zrobić, żeby tak nie było? fflush niestety do stdtina chyba użyć nie mogę...
#include <stdio.h>
#include <stdlib.h>
#define ILOSC 10
#define DLUGOSC 30
int main(void) {
int i,j,k;
char tab[ILOSC][DLUGOSC];
char ch;
k = 0;
printf("Podaj %d tekstow o maksymalnej dlugosci %d znakow. Enter konczy "
"wpisywanie danego ciagu.\n", ILOSC, DLUGOSC);
for(i = 0; i < ILOSC; i++) {
printf("Ciag %d: ", i+1);
while(((ch = getchar()) != '\n') && (j < DLUGOSC +1)) {
tab[i][j] = ch;
j++;
}
tab[i][j] = '\0';
j = 0;
}
for(i = 0; i < ILOSC; i++) {
printf("Ciag %d: ", i+1);
printf("%s\n",tab[i]);
}
exit(EXIT_SUCCESS);
} /* main */