cześć wszystkim jestem nowym użytkownikiem jest to mój pierwszy post na tym forum. Od niedawna uczę się c++ i trafiłem na problem który pewnie dla wielu z was jest banalny jednak ja za nic w świecie nie mogę dostrzec błędu dlatego proszę o pomoc. Problem lezy w instrukcji if else ponieważ program zachowuje sie tak jakby nie widział wewnętrzego ifa sprawdza czy znak jest cyfra i wyswietla ciag znakow bez cyfr to jest ok ale dlaczego jezeli znak nie jest cyfra nie przechodzi do wewnatrz i nie zamienia liter? osobno te funkcje dzialaj dobrze problem zaczyna sie w polaczeniu sprawdzania czy jest to cyfra i jezeli nie to zamieniania na małe / duże litery dodam ze kompilator nie wyrzuca żadnego błędu oto kod:
#include <iostream>
#include <fstream>
#include <cctype>
#include <cstdlib>
using namespace std;
int main()
{
cout<< "Podaj tekst ";
char znak;
cin.get(znak);
while (znak != '@')
{
if (znak != isdigit(znak))
{
if (islower(znak))
{
znak = toupper(znak);
cout<< char (znak);
}
else
{
znak = tolower(znak);
cout<< char (znak);
}
}
else
cin.get(znak);
}
system("PAUSE");
}