Warunek, że znak jest literą i że nie jest końcem wiersza

0

Muszę napisać warunek na to, że znak jest literą i że nie jest końcem wiersza. To będzie coś takiego:

while((zn>=a&&zn<=Z)&&zn!='\n') ?

0
while((zn >= 'a' && zn <= 'z') || (zn >= 'A' && zn <= 'Z'))
0

Dzięki;D

A ten drugi że nie jest końcem wiersza to:

while(((zn >= 'a' && zn <= 'z') || (zn >= 'A' && zn <= 'Z'))&&zn!='\n')

0

można usunąć niektóre nawiasy:

while((zn >= 'a' && zn <= 'z' || zn >= 'A' && zn <= 'Z') && zn!='\n')

|| to odpowiednik dodawania, a && mnożenia — dlatego kolejności tych działań można być pewnym.

0

Thanks dude;P

0

Tyle, że ten ostatni warunek nie ma sensu. Skoro już jest literą, to nigdy nie będzie znakiem końca wiersza.

0

No już doszedłem do tego i mam to w oddzielnej pętli. Mam jednak kolejne pytanie mianowicie, czy deklarujac jakas zmienna plikowa np.

ofstream plik_wy;
plik_wy. open (dane.txt);
plik_wy << ... ;
...
plik_wy. close ();

Czy po zamknięciu plik_wy dalej mogę coś otworzyc korzystajac z niej np:

plik_wy. open(jakies_inne_dane.txt)

czy konieczne jest zadeklarowanie nowej zmiennej plikowej np.

ofstream plik_wy2;

?

0

Gdyby było konieczne użycie innego obiektu, to jaki byłby sens tworzenia oddzielnej metody do otwierania pliku?

0

Ogólnie do sprawdzania czy znak jest literą to lepszy jest isalpha() z ctype.h (cctype w c++). Jest to rozwiązanie czytelniejsze, działa z EBCDIC oraz pewnie będzie szybsze (4 skoki warunkowe vs jedno sprawdzenie w tablicy).

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