Search Header Logo
Citirea șirurilor de caractere

Citirea șirurilor de caractere

Assessment

Presentation

Computers

10th - 12th Grade

Practice Problem

Medium

Created by

Marilena Vilciu

Used 5+ times

FREE Resource

9 Slides • 7 Questions

1

Citirea șirurilor de caractere

by Marilena Vîlciu

2

​1. flux>>sir;

Citirea clasică (până la delimitator)

​Presupunem secvența:

​char cuvant[30];

​cin>>cuvant;

//flluxul este în acest caz tastatura, dar similar se citește și din fișier

​va permite citirea unui singur șir de caractere, până la spațiu sau alt delimitator. În acest caz, șirurile de caractere se citesc asemănător numerelor, numai că sunt permise orice caractere efective (litere, cifre, simboluri etc.).

3

Multiple Choice

Ce valoare va avea s la finalul secvenței,

char s[10];

cin>>s;

dacă se introduce textul Ion Ionescu iar la final se tastează enter.

1

Ion Ionescu

2

Ion Iones

3

Ion

4

Ionescu

4

Multiple Choice

Ce valoare va avea s la finalul secvenței,

char s[10];

cin>>s;

cin>>s;

dacă se introduce textul Ion Ionescu iar la final se tastează enter.

1

Ion Ionescu

2

Ion Iones

3

Ion

4

Ionescu

5

​2. flux.getline(sir, lungime <,delimitator>);

Citirea unui șir, inclusiv a delimitatorilor clasici, cu o lungime maximă specificată

​Presupunem secvența:

​char cuvant[30];

​cin.getline(cuvant,29);

//aici fluxul vine de la tastatură, dar pot înlocui cu un flux de fișier

​va permite citirea unui șir de caractere, inclusiv spațiu sau alt delimitator (dar nu enter), până la întâlnirea caracterului ENTER.

6

​Exemple flux.getline(sir,lungime)

Fie declararea

​char s[40];

  1. Presupunem că vrem să citim de la tastatură în variabila s întregul nume "Ion Ionescu". Vom folosi codul cin.getline(s, 39); Când vom introduce textul Ion Ionescu, finalizăm citirea cu ENTER.

  2. ​Dacă am avea un fișier de intrare deschis prin fluxul fin, atunci efect similar ar avea fin.getline(s,39); Evident, pentru efectul scontat, numele Ion Ionescu nu ar trebui să fie urmat de alte caractere pe același rând.

7

Multiple Choice

Ce valoare va avea s la finalul secvenței,

char s[20];

cin.getline(s,20);

dacă se introduce textul

Ion Ionescu

Pop Popescu

iar la final se tastează enter.

1

Ion Ionescu

2

Pop Popescu

3

Ion

4

Ion Ionescu Pop Popescu

8

Multiple Choice

Ce valoare va avea s la finalul secvenței,

char s[20];

cin.getline(s,20); cin.getline(s,20);

dacă se introduce textul

Ion Ionescu

Pop Popescu

iar la final se tastează enter.

1

Ion Ionescu

2

Pop Popescu

3

Ion

4

Ion Ionescu Pop Popescu

9

Multiple Choice

Ce valoare va avea s la finalul secvenței,

char s[20];

cin.getline(s, 11); cin.getline(s,3);

dacă se introduce textul

Ion Ionescu

Pop Popescu

iar la final se tastează enter.

1

Pop

2

Pop Popescu

3

Ion

4

Ion Ionescu Pop Popescu

10

​3. flux.get(sir, lungime <,delimitator>);

Citirea unui șir, inclusiv a delimitatorilor clasici, cu o lungime maximă specificată

​Presupunem secvența:

​char cuvant[30];

​cin.get(cuvant,29);

//aici fluxul vine de la tastatură, dar pot înlocui cu un flux de fișier

​va permite citirea unui șir de caractere, inclusiv spațiu sau alt delimitator (dar nu enter), până la întâlnirea caracterului ENTER.

11

media

​Alta?!? Da' DE CE????

12

web page not embeddable

c++ - difference between cin.get() and cin.getline() - Stack Overflow

You can open this webpage in a new tab.

13

Open Ended

Ce credeți că va conține s la finalul secvenței,

char s[20];

cin.get(s,20); cin.get(s,20);

dacă se introduce textul

Ion Ionescu

Pop Popescu

iar la final se tastează enter?

14

web page not embeddable

KeyDodgerblueHashmaps - Replit

You can open this webpage in a new tab.

15

​Delimitatori custom

Ce rost are al treilea parametru al funcțiilor get (opțional)?

​- Presupunem situația în care textul este multilinie, conține mai multe paragrafe. În acest caz, putem opri citirea cu un caracter special pe care îl alegem în ideea că nu poate aparține textului.

Să spunem că vrem să introducem următorul text într-un sir de caractere:

Miorita laie,

​Laie bucalaie@

​Observați că am încheiat cu caracterul @ care nu aparține unui text literar, deci este noul nostru delimitator.

​În acest caz citirea se face cin.get(s,80, '@');

16

Open Ended

Imaginați o altă situație practică în care ați putea avea nevoie de un asemenea tip de delimitator.

Citirea șirurilor de caractere

by Marilena Vîlciu

Show answer

Auto Play

Slide 1 / 16

SLIDE