Treść zadania (z Twojego komentarza): "Napisz program wczytujący dane z klawiatury aż do znaku @, a następnie pokazujący wczytane dane poza cyframi; każda wielka litera ma być zamieniona na małą i odwrotnie (bardzo przydatna będzie tu biblioteka cctype)."
Wczytujesz znak. Jeśli znak jest @ to kończysz program. Jeśli nie to:
1) sprawdzasz czy jest cyfrą, jeśli tak to nic nie robisz, jeśli nie to:
2) sprawdzasz czy jest małą literą, jeśli tak to wypisujesz wielką literę, jeśli nie to:
3) sprawdzasz czy jest wielką literą, jeśli tak to wypisujesz małą literę, jeśli nie to:
4) wypisujesz znak niezmieniony.
To wyżej w pętli.
Sprawdzanie czy jest cyfrą: isdigit(ch), myślę, że nie powinieneś używać isxdigit(ch), ponieważ w poleceniu nie ma nic o szesnastkowych cyfrach, a isxdigit(ch) potraktuje litery a-f i A-F jako cyfry szesnastkowe.
Czy jest małą literą: islower(ch).
Czy jest wielką literą: isupper(ch).
Na wielką literę: toupper(ch).
Na małą: tolower(ch).
Zauważ, że tolower i toupper zwrócą Ci int (kod znaku ASCII), więc przy wypisywaniu zrzutuj to na char.