Jump to content

[C++] Wypisywanie wielkich liter z wprowadzonego tekstu


pawqo

Recommended Posts

Witam, musze napisac program ktory czyta wszystkie znaki, a na ekranie powtarza tylko duze litery oraz znaki nowej linii. Program zlicza takze ile znakow cyfr wpisano. Program konczy czytanie, gdy napotyka znak konca zbioru wejsciowego ( ctrl-Z). Wypisuje wowczas ilosc wczytanych cyfr.

 

Podkreslam rowniez, ze rozwiazanie nie powinno wiazac sie z tablicami, ani stringami, gdyby nie ten warunek, to jakos udaloby mi sie to chyba napisac ;/

Jedynym wyjsciem jakie widze, jest sprawdzanie kodow ASCII kazdego ze znaku, jezeli miesci on sie w zakresie A-Z oraz enter'a, to wypisuje te znaki na ekran, a w przypadku cyfr dodaje stopniowo 1 do licznika.

Niestety kompletnie nie wiem w jaki sposob, badac pojedyncze znaki z calosci wprowadzonego tekstu, moze ktos moglby to w miare logicznie wyjasnic? ;)

 

Do tej pory udalo mi sie napisac cos takiego:

CODE#include<iostream>

 

using namespace std;

 

int main ()

{

char znak;

int licznik=0;

int n;

 

cin >> znak;

 

while((n=getchar())!= EOF)

{

if ( ((int)znak >= 65) && ((int)znak <= 90)) cout << znak;

if ( ((int)znak >= 48) && ((int)znak <= 57)) licznik++;

}

 

cout << "Ilosc wpisanych cyfr: " << licznik <<endl<<endl;

 

system("PAUSE");

return 0;

}

Jednak program nie dziala tak jak powinien ;/ przy zliczaniu cyfr, dziala w miare poprawnie tylko gdy pierwsza wprowadzona zostala cyfra, gdy nie sa one odzielone spacjami ani enterami..

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...