C++ Pętla nie chce się zakończyć.

0

Witam mam stworzyc program, ktory wczytuje kolejne znaki z klawiatury i sprawdza, czy to duza litera, czy mala , czy cyfra itp. to jest mój napisany kod, ale mam problem z pętlą, powinna się kończyć jak wpiszę na kawiaturze znak *, ale jakoś mi to nie wychodzi i pętla się nie kończy.

#include "stdafx.h"
#include <iostream>
int main(){
	char znak;
	const char koniec='*';
	int duze_litery=0, male_litery=0, cyfry=0, spacje=0,inne_znaki=0;
	using namespace std;
	cout<<"Podaj znak"<<endl;

	for(znak=0;znak=koniec;znak++){
	
	cin>>znak;
	
		if (znak>='a'&&znak<='z'){
				male_litery=male_litery+1;
			}
			else if (znak>='A'&&znak<='Z'){
			duze_litery=duze_litery+1;
		}
		else if (znak>='0'&&znak<='9'){
			cyfry=cyfry+1;
		}
		else if (znak==' '){
			spacje=spacje+1;
		}
		else inne_znaki=inne_znaki+1;
	}
	cout<<"Male litery="<<male_litery<<endl;
	cout<<"Duze litery="<<duze_litery<<endl;
	cout<<"Cyfry="<<cyfry<<endl;
	cout<<"Spacje="<<spacje<<endl;
	cout<<"Inne znaki="<<inne_znaki<<endl;
	cout<<"ilosc znakow"<<znak<<endl;
	system ("pause");
}
 
0

= to operator przypisania, == to operator porównania.

0

no właśnie, a jak napisze == to w ogóle sie mi pętla nie wykonuje :(

0

Ech... podpowiedź: !=

0

w takim wypadku też się nie kończy, tu musi w czymś innym tkwić błąd

0

Tak - błąd jest w tym, że pętla for jest nieodpowiednia do tego, co próbujesz zrobić.

0

zrób tam pętle do while(wczytana!='*')

0
char znak; 
while((znak = getchar()) != '*') {
//...
} 
0

no teraz jest git :), tylko że nie zlicza mi spacji, dlaczego?

1 użytkowników online, w tym zalogowanych: 0, gości: 1