Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

Użytkownik


Witam,
mam taki programik ktory pownien zliczac ilosc literek w tekscie
#include <stdio.h>
#include <iostream>
#include <cstdlib>
int main()
{
char znak;
int petla;
int ilosc_znakow;
do {
printf("\nWprowadz tekst: ");
ilosc_znakow = 0;
for (ilosc_znakow = 0; getchar() != '\n'; ++ilosc_znakow);
printf("%d\n", ilosc_znakow);
for (petla=1; petla<=ilosc_znakow;++petla)
{
printf( "*" );
}
printf("\nCzy chcesz zakonczyc program (t/n)");
// cin>>znak;
scanf("%c",&znak);
}while(znak!='t');
system("pause");
}Wszystko dziala calkiem ok do momentu pytania o powtorzenie dzialania, tzn wyjsc z programu wyjdzie jesli damy t ale nie wykona ponownie petli tylko bd wypisywal ze nie ma wcale znakow.
co jest nie tak?
Z gory dzieki za pomoc.
Offline



Użytkownik
#include <stdio.h>
#include <stdlib.h>
int main()
{
char znak;
int petla;
int ilosc_znakow;
do {
printf("\nWprowadz tekst: ");
ilosc_znakow = 0;
for (ilosc_znakow = 0; getchar() != '\n'; ++ilosc_znakow);
printf("%d\n", ilosc_znakow);
for (petla=1; petla<=ilosc_znakow;++petla)
{
printf( "*" );
}
printf("\nCzy chcesz zakonczyc program (t/n)");
// cin>>znak;
scanf("%c",&znak);
getchar();
}while(znak!='t');
//system("pause");
return 0;
}Na koniec pobierasz znak ale w buforze jest jeszcze Enter ('\n'), którego to pobiera później pętla for.
Offline

Użytkownik


Pomogło, ślicznie dziękuję za pomoc.
Offline