aFizyka logo

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;
}