Witam. Mam następujący problem z zadaniem. O ile pierwsze 2 części nie stanowią dla mnie problemu o tyle zadanie 3 jest już mocno problematyczne. W ogóle nie wiem jak się za nie zabrać. Możecie ocenić mój dotychczasowy kod i pomóc mi się uporać z tym problemem?
Napisać program działający na ciągu znaków, który:
1. wczytuje znak będący symbolem końca ciągu, wymuszając, by był on kropką lub wykrzyknikiem;
2. wczytuje ciąg znaków pojedynczo (znak po znaku) aż do napotkania tego końca ciągu
3. drukuje informację:
a) których znaków wczytano więcej: małych liter czy cyfr (lub informację, że było ich tyle samo)
b) ile razy dwa znaki & stały obok siebie (tzn. wczytano kolejno po sobie dwa takie znaki).
Wskazówka: Małe litery to znaki zawarte między ‘a‘ i ‘z’ , cyfry to znaki zawarte między ‘0’ i ‘9’. Znaki należy wczytywać instrukcją cin (będą się wczytywały tylko znaki widoczne).
Wskazówka do 3b: przed wczytaniem nowego znaku należy zapamiętać poprzednio wczytany znak.
UWAGA: Program należy napisać bez użycia tablic. Nie należy nigdzie zapisywać całego wczytanego ciągu.
#include <iostream>
using namespace std;
int main()
{
char znak, znaki_ciagu, znak1, znak2;
int licznik_litery=0, licznik_cyfry=0;
do {
cout << "Podaj znak konca ciagu ('!' lub '.'): ";
cin >> znak;
}
while (znak!='!' && znak!='.');
cout << "Podales prawidlowy znak"<<endl;
cout << "Podaj wyrazy ciagu i naciśnij enter."<<endl;
do
cin >> znaki_ciagu;
while (znaki_ciagu!=znak);
cout << "Gratulacje. Wykonales polecenie jak najbardziej poprawnie.";
return 0;
}