Zamów podręcznik wydawnicta MiGra (sklep wydawnictwa)
Praca z danymi tekstowymi
Typ znakowy char
Tekst w języku C++ możemy przechowywać w typie znakowym char lub łańcuchu znaków typu string (po dołączeniu klasy string przez wprowadzenie polecenia #include <string>) .
Deklaracja pojedynczego znaku odbywa się jak poniżej
char znak = ’a’;Deklaracja ciągu znaków wymaga użycia tablicy. Możemy to zrobić na dwa sposoby:
deklarujemy tablicę typu char o ustalonym rozmiarze
char slowo[3]="dom";zwróć uwagę, że przypisanie ciągu znaków podaje się w cudzysłowie
Drugi sposób to deklarujemy tablicę dynamiczną o nieokreślonym rozmiarze
char slowo[]="Ala ma kota";Rozmiar tak zadeklarowanej tablicy odczytamy instrukcją
strlen(slowo)wynikiem jest wartość typu int.
Łańcuch znakó. Typ string
Pracę z łańcuchami znaków ułatwia klasa string. Przykład deklaracji stałej typu string
const string slowo="informatyka";Rozmiar użytego łańcucha znaków zwróci instrukcja
slowo.length()Ćwiczenie do treści opisanej w podręczniku na stronie 107 i 108.
Stosując typ znakowy char zadeklaruj zmienną przechowującą pojedynczy znak, ciąg znaków w tablicy statycznej, ciąg znaków w tablicy dynamicznej. Pokaz na ekranie wartości tych stałych, odczytaj ich rozmiar, odczytaj dowolny znak z tak zadeklarowanych tablic typu char
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int main()
{
char znak='a';
cout<<"zmianna znak ma przypisana wartosc: "<<znak<<endl;
//deklaracja stalych typu char
//rozmiar o jeden wiekszy o dilosci przechowywanych znakow, na znak konca ciagu
const char slowo[12]="informatyka";
//przydzial dynamiczny
const char slowo2[]="matematyka";
//zmierz ilosc znakow
cout<<"stala slowo: "<<slowo<<endl;
cout<<"ma rozmiar= "<<strlen(slowo)<<endl;
//zmierz ilosc znakow
cout<<"stala slowo2: "<<slowo2<<endl;
cout<<"ma rozmiar= "<<strlen(slowo2)<<endl;
//pokaz dowolny znak z slowo
cout<<"Podaj wartosc mniejsza niz rozmiar slowo = "<<strlen(slowo)<<endl;
int i=0;
cin>>i;
cout<<"Znak z pozycji "<<i<<" to "<<slowo[i]<<endl;
return 0;
}
Ćwiczenie do treści ze strony 109 podręcznika
Przy wykorzystaniu typu string zadeklaruj zmienną przechowującą dowolny łańcuch znaków. Podaj jego rozmiar. Podaj znak po znaku w kolumnie przy użyciu pętli for i while. Wyświetl znaki od końca
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int main()
{
const string slowo="informatyka";
//wypisz string'a w jednej linii
cout << slowo << endl;
//zwroc rozmiar string'a
cout <<"slowo zawiera znakow: "<<slowo.length()<< endl;
//zwroc znak po znaku petla for
cout<<"Pokaz znak po znaku przy pomocy petli for"<<endl;
for(int i=0;i<slowo.length();i++){
cout<<"znak z pozycji "<<i<<" to: "<<slowo[i]<<endl;
}
//zwroc znak po znaku petla while
cout<<"Pokaz znak po znaku przy pomocy petli while"<<endl;
int i=0;
while(i<slowo.length()){
cout<<"znak z pozycji "<<i<<" to: "<<slowo[i]<<endl;
i++;
}
//pokaz znaki od konca
cout<<"Pokaz znak po znaku od konca przy pomocy petli while"<<endl;
i=slowo.length();
while(i>0){
i--;
cout<<"znak z pozycji "<<i<<" to: "<<slowo[i]<<endl;
}
getch();
return 0;
}