Lucrul cu șiruri. Clasa de șiruri. Constructori de clasă. Funcțiile assign(), append(), insert(), replace(), erase(), find(), rfind(), compare(), c_str(). Exemple. Funcții de procesare a șirurilor în C

Declararea șirurilor

Un șir în limbajul C este o matrice unidimensională de caractere, ultimul element al căruia este caracterul de sfârșit de linie - zero (un șir terminat cu zero, adică un șir terminat NULL).

Declararea unei variabile de tip șir în limbajul C este posibilă în trei moduri, dintre care două inițializează șirul în momentul declarării.

Prima cale:

Declarații de matrice de caractere (nu uitați să adăugați spațiu pentru nulul final):

Char s;

A doua cale:

Atribuiți valoarea inițială variabilei șir (în acest caz, compilatorul poate calcula însuși lungimea șirului):

Char s = „Exemplu de inițializare șir”;

În dreapta semnului de atribuire este o constantă șir. Un zero ('\0') este adăugat automat la sfârșitul liniei. Constantele șirurilor de caractere sunt plasate într-o clasă de memorie statică.

A treia cale:

Indicație implicită că este utilizată o matrice. În stânga semnului de atribuire este un indicator către simbolul:

Char *s="A doua opțiune de inițializare";

Variabila s va fi un pointer către locația din RAM în care se află constanta șir. O posibilă capcană în această formă de notație este că un indicator către un caracter este adesea denumit șir. Intrarea de mai jos este doar un indicator către un caracter, deoarece nu există spațiu prevăzut pentru șir:

Char *s;

Introducerea unui șir de pe un dispozitiv de intrare standard (tastatură)

Există un set de funcții pentru lucrul cu șiruri. Pentru intrarea de la un dispozitiv de intrare standard (tastatură), funcțiile de bibliotecă din modulul de intrare/ieșire standard sunt cel mai des utilizate: scanfȘi devine.

Pentru a introduce un șir folosind funcția scanf, folosește formatul « %s» , și rețineți că semnul adresei nu este folosit înaintea identificatorului de linie « & » , deoarece o matrice unidimensională este deja reprezentată printr-un pointer către începutul său:

Scanf("%s", s);

Funcţie devine() citește caractere până când ajunge la un caracter newline. Funcția acceptă toate caracterele până la caracterul newline, dar nu îl include. Un zero final ('\0') este adăugat la sfârșitul liniei. Funcţie devine() plasează secvența de caractere citite de la tastatură într-un parametru de tip șir și returnează un pointer către acest șir (dacă operația a avut succes) sau NULL (în cazul unei erori). În exemplul de mai jos, dacă operația se finalizează cu succes, pe ecran vor fi afișate două linii identice:

#include int main() ( char s; char *p; p=gets(s); printf(" \n A fost introdus șirul %s.",s); if (p) printf(" \n Șirul %s a fost introdus.", p); returnează 0; )

În treacăt, rețineți că funcția gets este adesea folosită pentru a introduce orice date de la tastatură ca șir în scopul conversiei ulterioare de către funcția sscanf în formatul dorit sau pentru analiza preliminară a datelor de intrare, de exemplu:

#include #include #include int main() (car s; int x, err; do (printf(" \n Introduceți un număr întreg -> "); gets(s); err=sscanf(s, "%d",&x); if (err !=1) printf(" \n Eroare de intrare. " ) while (err!=1) printf("\n Întregul introdus -> %d", x )

Imprimarea șirurilor la ieșirea standard (ecranul monitorului)

Pentru a scoate șiruri către dispozitivul de ieșire standard (ecranul monitorului), puteți utiliza două funcții printfȘi pune. Funcția printf este transmisă „%s” ca format. Comoditatea utilizării acestei funcții este că, pe lângă un șir, puteți afișa imediat date de alte tipuri. Caracteristică Caracteristică pune este că după ce o linie este imprimată, aceasta trece automat la următoarea linie.

Funcții pentru lucrul cu șiruri

Pentru a converti șiruri în limbajul C, este furnizată biblioteca de șiruri. Fiecare funcție are propriul format de înregistrare (prototip).

Cele mai utilizate funcții sunt discutate în acest articol. - citit

Exemplu de programe (listări) care lucrează cu șiruri

În această lecție vom discuta despre șiruri în stil C este posibil să fi văzut deja aceste șiruri pe site-ul nostru sau în orice alt manual. De fapt, șirurile C sunt doar matrice de caractere, dar, cu propriile lor specificități, știm întotdeauna unde se află sfârșitul liniei. În acest articol ne vom uita la mai multe funcții pentru lucrul cu șiruri, de exemplu, tu - copiați, concatenați, obțineți lungimea unui șir.

Ce sunt corzile?

Rețineți că, alături de șirurile de caractere în stil C, care sunt în esență matrice simple, există și literale de șir, cum ar fi acest „literal” . În realitate, atât șirurile, cât și literalele sunt pur și simplu seturi de caractere situate unul lângă altul în memoria computerului. Dar există încă o diferență între matrice și literale: literalele nu pot fi modificate, iar șirurile de caractere pot.

Orice funcție care acceptă un șir în stil C poate accepta și un literal ca parametru. Există, de asemenea, unele entități în C care pot arăta ca șiruri de caractere, când de fapt nu sunt. Vorbesc acum despre caractere, sunt cuprinse între ghilimele simple, iată un exemplu - „a”, după cum puteți vedea, acesta nu este un șir. Un caracter poate fi, într-o anumită locație, să fie atribuit unui șir, dar caracterele nu pot fi procesate ca șir. Dacă vă amintiți, matricele funcționează ca indicatori, așa că dacă treceți un singur caracter într-un șir, acesta va fi considerat o eroare.

Din cele de mai sus, ar fi trebuit să realizezi că șirurile sunt matrice de caractere, iar literalele șiruri sunt cuvinte înconjurate de ghilimele duble. Iată un alt exemplu de literal:

„Acesta este un șir static”

Ai uitat de specificul corzilor, despre care s-a menționat ceva mai sus? Deci, șirurile C trebuie să se termine întotdeauna cu un caracter nul, literal „\0”. Prin urmare, pentru a declara un șir format din 49 de litere, trebuie să rezervați o celulă suplimentară pentru caracterul nul:

Char myString;

După cum puteți vedea din exemplu, lungimea matricei este de 50 de caractere, dintre care 49 va fi o linie și unul, ultimul va fi un caracter nul. Este important să ne amintim că trebuie să existe întotdeauna un caracter nul la sfârșitul liniilor C, la fel cum există un punct la sfârșitul fiecărei propoziții. Deși caracterul nul nu este afișat atunci când este scos șirul, totuși ocupă spațiu în memorie. Deci, din punct de vedere tehnic, într-o matrice de cincizeci de elemente, puteți stoca doar 49 de litere, deoarece ultimul caracter este necesar pentru a termina șirul. În plus, pointerii pot fi folosiți și ca șir. Dacă citiți articolul despre , puteți face așa ceva:

Char *myString; // tip char pointer myString = malloc(sizeof(*myString) * 64); // alocare de memorie

În acest exemplu, am alocat 64 de locații de memorie pentru matricea myString. Pentru a elibera memoria, utilizați funcția free().

Gratuit(myString);

Folosind șiruri

Șirurile sunt utile atunci când trebuie să efectuați diverse operații asupra informațiilor text. De exemplu, dacă doriți ca utilizatorul să introducă un nume într-un program, veți folosi un șir. Utilizarea scanf() pentru a introduce un șir funcționează, dar poate duce la o depășire a memoriei tampon. La urma urmei, șirul de intrare poate fi mai mare decât dimensiunea șirului tampon. Există mai multe modalități de a rezolva această problemă, dar cea mai simplă este să utilizați , care este declarat în fișierul antet .

Când citește intrarea de la utilizator, acesta va citi toate caracterele, cu excepția ultimului. După aceea, un terminator zero va fi plasat la sfârșitul liniei de citire. Funcția fgets() va citi caractere până când utilizatorul apasă Enter. Să vedem un exemplu de utilizare a fgets():

#include int main() ( char myString; // long string printf("Introduceți un șir lung: "); fgets(myString, 100, stdin); // citiți șirul din fluxul de intrare printf("Ați introdus următorul șir: %s", myString);

Primul parametru pentru fgets() este un șir, al doilea parametru este dimensiunea șirului, iar al treilea parametru este un pointer către fluxul de date de intrare.

Rezultatul programului:

<ВВОД>...

După cum puteți vedea, din rezultatul programului, un caracter de linie nouă - "\n" - a intrat în linia de intrare. Acest lucru s-a întâmplat deoarece fgets() a numărat apăsarea butonului Enter în șirul myString și și-a finalizat munca. Acest lucru înseamnă că poate fi necesar să eliminați manual caracterul nou linie. O modalitate de a face acest lucru este enumerarea personaj cu caracter. Să modificăm programul și să eliminăm caracterul nou linie:

#include int main() ( char myString; // long string printf("Introduceți un șir lung: "); fgets(myString, 100, stdin); // citiți un șir din fluxul de intrare int i; for (i = 0; i< 100; i++) { if (myString[i] == "\n") { myString[i] = "\0"; break; } } printf("Вы ввели следующую строку: %s", myString); getchar(); }

Vă rugăm să rețineți că, dacă șirul de intrare conține mai puțin de 100 de caractere, atunci va fi inclus și un caracter newline în șir. Prin urmare, putem elimina acest personaj folosind forța brută simplă. Am adăugat o buclă la program în care trecem prin caracterele șirului, rândurile 12-19. Și când întâlnim un caracter de nouă linie, îl înlocuim cu un caracter nul, linia 16. Rezultatul programului:

Introduceți o linie lungă: Soarta își lasă amprenta Ați introdus următoarea linie: Soarta își lasă amprenta Pentru a închide această fereastră, faceți clic pe<ВВОД>...

Asta este tot pentru acum. În articolul următor vă voi spune despre funcții speciale pentru lucrul cu șiruri.

P.S.: Tuturor ne place să urmărim diferite înregistrări video, dar uneori se întâmplă să nu fie întotdeauna posibilă redarea unor formate de fișiere video. Deci, puteți rezolva această problemă folosind programul - xilisoft converter ultimate. Puteți converti rapid videoclipuri dintr-un format în altul. În plus, acest program poate converti și fișiere audio și imagini animate.

Standardul modern C++ definește o clasă cu funcții și proprietăți (variabile) pentru organizarea muncii cu șiruri de caractere (în limbajul clasic C nu există șiruri ca atare, există doar matrice de caractere char):

#include

#include

#include

Pentru a lucra cu șiruri, trebuie, de asemenea, să conectați un spațiu de nume standard:

Utilizarea namespace std;

În caz contrar, va trebui să specificați descriptorul clasei std::string peste tot în loc de string .

Mai jos este un exemplu de program care funcționează cu șir (nu funcționează în compilatoarele mai vechi compatibile cu C!):

#include #include #include folosind namespace std; int main() ( șir s = "Test"; s.insert(1,"!"); cout<< s.c_str() << endl; string *s2 = new string("Hello"); s2->erase(s2->end()); cout<< s2->c_str(); cin.get(); returnează 0; )

Principalele caracteristici pe care le are clasa string:

  • inițializare cu o matrice de caractere (un tip șir încorporat) sau alt obiect de tip șir . Un tip încorporat nu are a doua capacitate;
  • copierea unei linii pe alta. Pentru un tip încorporat trebuie să utilizați funcția strcpy();
  • acces la caracterele individuale ale unui șir pentru citire și scriere. Într-o matrice încorporată, acest lucru se face folosind o operație de index sau adresare indirectă folosind un pointer;
  • comparând două șiruri de caractere pentru egalitate. Pentru un tip încorporat sunt folosite funcțiile familiei strcmp();
  • concatenarea (concatenarea) a două șiruri, producând rezultatul fie ca un al treilea șir, fie în locul unuia dintre cele originale. Pentru un tip încorporat, se folosește funcția strcat(), dar pentru a obține rezultatul într-o linie nouă, trebuie să utilizați secvențial funcțiile strcpy() și strcat() și, de asemenea, să aveți grijă de alocarea memoriei;
  • mijloace încorporate de determinare a lungimii unui șir (funcțiile membre de clasă size() și l ength()). Singura modalitate de a afla lungimea unui șir de tip încorporat este prin calcularea acestuia folosind funcția strlen();
  • capacitatea de a afla dacă un șir este gol.

Să ne uităm la aceste caracteristici de bază mai detaliat.

Inițializarea șirurilor când descrie şi lungimea șirului(fără a include terminatorul nul de terminare):

String st("Șirul meu\n"); cout<< "Длина " << st << ": " << st.size() << " символов, включая символ новой строки\n";

Șirul poate fi, de asemenea, gol:

St2 șir;

Pentru a verifica asta este linia goală, puteți compara lungimea sa cu 0:

Dacă (! st.size()) // gol

sau utilizați metoda empty(), care returnează true pentru un șir gol și false pentru unul nevid:

Dacă (st.empty()) // gol

A treia formă de creare a șirului inițializează un obiect de tip șir cu un alt obiect de același tip:

St3 st3(st);

Șirul st3 este inițializat cu șirul st . Cum ne putem asigura că acestea liniile se potrivesc? Să folosim operatorul de comparație (==):

Dacă (st == st3) // inițializarea a funcționat

Cum copiați o linie pe alta? Folosind operatorul normal de atribuire:

St2 = st3; // copiați st3 în st2

Pentru concatenare de șiruri se utilizează operatorul de adăugare (+) sau operatorul de adunare plus atribuire (+=). Să fie date două linii:

String s1 ("bună ziua, "); șir s2(„lume\n”);

Putem obține un al treilea șir format dintr-o concatenare a primelor două, astfel:

Șirul s3 = s1 + s2;

Dacă vrem să adăugăm s2 la sfârșitul lui s1, ar trebui să scriem:

S1 += s2;

Operația de adăugare poate concatena obiecte de clasă şir nu numai între ele, ci și cu șiruri de tip încorporate. Puteți rescrie exemplul de mai sus, astfel încât caracterele speciale și semnele de punctuație să fie reprezentate de tipul încorporat char *, iar cuvintele semnificative să fie reprezentate de obiecte din șirul clasei:

Const char *pc = ", "; șir s1 ("bună ziua"); șir s2(„lume”); șir s3 = s1 + pc + s2 + "\n"; cout<< endl << s3;

Astfel de expresii funcționează deoarece compilatorul „știe” cum să convertească automat obiectele de tip încorporat în obiecte din clasa șir. De asemenea, este posibil să atribuiți pur și simplu un șir încorporat unui obiect șir:

Șirul s1; const char *pc = "o matrice de caractere"; s1 = pc; // Dreapta

Transformarea inversă în acest caz nu funcționează. Încercarea de a efectua următoarea inițializare a șirurilor de tip încorporat va cauza o eroare de compilare:

Char *str = s1; // eroare de compilare

Pentru a efectua această conversie, trebuie să apelați în mod explicit o funcție membru numită c_str() ("șir C"):

Const char *str = s1.c_str();

Funcția c_str() returnează un pointer către o matrice de caractere care conține șirul obiectului șir așa cum ar apărea în tipul șir încorporat. Cuvântul cheie const aici previne posibilitatea „periculoasă” în mediile vizuale moderne de a modifica direct conținutul unui obiect prin intermediul unui pointer.

LA personaje individuale Un obiect de tip șir, cum ar fi un tip încorporat, poate fi accesat folosind operația index. De exemplu, iată o bucată de cod care înlocuiește toate punctele cu caractere de subliniere:

String str("www.disney.com"); int size = str.size(); pentru (int i = 0; i< size; i++) if (str[i] == ".") str[ i ] = "_"; cout << str;

Înlocuiește(str.begin(), str.end(), ".", "_");

Adevărat, nu metoda de înlocuire a clasei de șiruri este folosită aici, ci algoritmul cu același nume:

#include

Deoarece obiectul șir se comportă ca un container, i se pot aplica și alți algoritmi. Acest lucru vă permite să rezolvați probleme care nu sunt rezolvate direct de funcțiile clasei șir.

Mai jos este o scurtă descriere a principalelor operatori și funcții ale clasei șir de caractere legăturile din tabel conduc la descrieri în limba rusă de pe Internet. O listă mai completă a capabilităților clasei șir poate fi găsită, de exemplu, pe Wikipedia sau pe site-ul web cplusplus.com.

Specificarea caracterelor dintr-un șir

operator=

atribuie valori unui șir

atribui

atribuie caractere unui șir

Acces la personaje individuale

la

obținerea caracterului specificat și verificarea dacă indexul este în afara limitelor

operator

obținerea caracterului specificat

față

obținerea primului personaj

înapoi

obținerea ultimului personaj

date

returnează un pointer la primul caracter al șirului

c_str

se intoarce nemodificabil o matrice de caractere C care conține caracterele șirului

Verificarea capacității liniei

gol

verifică dacă un șir este gol

mărimea
lungime

returnează numărul de caractere dintr-un șir

dimensiune_max

returnează numărul maxim de caractere

rezervă

rezerva spatiu de depozitare

Operații cu șiruri

clar

șterge conținutul unui șir

introduce

inserarea caracterelor

şterge

ștergerea caracterelor

împinge înapoi

adăugarea unui caracter la sfârșitul unui șir

pop_back

elimină ultimul caracter

adăuga

operator+=

adaugă caractere la sfârșitul unui șir

comparaţie

compară două șiruri

a inlocui

înlocuiește fiecare apariție a caracterului specificat

substr

returnează un subșir

copie

copiază caracterele

redimensiona

modifică numărul de caractere stocate

p»їAgenția SEO de încredere din India poate crește veniturile întreprinderilor mici

80% utilizatori caută pe Google și alte motoare de căutare înainte de a face o achiziție și peste 50% dintre întrebările generate prin motoarele de căutare sunt convertite. Aceste două statistici demonstrează importanța optimizării pentru motoarele de căutare. Există multe statistici și fapte ca atare care arată clar: orice afacere la scară mică, mijlocie sau mare are nevoie de servicii SEO profesionale. Întreprinderile mici și startup-urile se confruntă adesea cu probleme de buget. Ei pot lua ajutorul oricărei agenții SEO de încredere din India pentru a obține cel mai bun serviciu SEO în bugetul lor pentru a-și crește veniturile.
Căutarea are un impact mare asupra minții consumatorilor. Conform diverselor statistici împărtășite de experții majori în optimizarea motoarelor de căutare pe diverse site-uri web autorizate, cum ar fi Search Engine Land, Moz, SEO Journal, Digital Marketers India, Hubspot etc. SEO captează majoritatea clienților potențiali. De asemenea, clienții potențiali care provin din rezultatele căutării organice au o rată de conversie mai mare. Aceste statistici și comportamentul consumatorilor arată mai clar că cel mai bun serviciu SEO nu este un lux, ci o necesitate pentru orice afacere.
Pentru a ocoli concurența și pentru a crește creșterea afacerii, fiecare organizație trebuie să utilizeze serviciile de optimizare pentru motoarele de căutare. Marile branduri pot investi suficienți bani pentru serviciul expert SEO oferit de o companie SEO de top sau un specialist SEO, dar proprietarii de afaceri mici fac adesea compromisuri cu privire la calitatea acestui serviciu din cauza bugetului mai mic. Este un fapt greu că afacerile mici și startup-urile ajung să părăsească oportunitățile care pot fi create cu serviciul SEO profesional sau să folosească un serviciu SEO ieftin, care nu dă rezultate pozitive.
Proprietarii de afaceri mici și startup-urile pot beneficia de servicii SEO profesionale chiar și în bugetul limitat. Cea mai bună soluție este găsirea unei companii SEO de încredere cu sediul în India. În India, există mulți experți SEO care lucrează cu agenția de marketing digital și oferă cele mai bune servicii din industrie. Îți pot oferi serviciile SEO necesare în bugetul tău. Salariile pot fi negociate cu o agenție SEO din India pentru a obține servicii mai bune la tarife mai mici. Cu toate acestea, nu vă îndrăgostiți de un serviciu SEO ieftin, care taxează mai puțin și promite că veți oferi mai mult, deoarece expertiza vine pe propriile lor costuri. Trebuie să vedeți portofoliul sau să puneți întrebări adecvate înainte de a contracta o companie pentru afacerea dvs.
Experții SEO din India sunt calificați cu cele mai bune practici de optimizare pentru motoarele de căutare. De asemenea, există unii specialiști SEO în India, cum ar fi Ash Vyas, care se specializează în crearea celei mai bune strategii de optimizare pentru motoarele de căutare pentru o afacere cu bugetul declarat. Profesioniștii SEO vor crea un plan clar și, de asemenea, vor împărtăși care pot fi rezultatele așteptate. În acest fel, puteți fi bine conștienți de investiția și rentabilitatea dvs. Acest lucru ajută la luarea unei decizii de afaceri mai bune.
O idee bună este să găsiți și să contractați o companie SEO de încredere din India, care să ofere cele mai bune servicii SEO cât mai curând posibil. De asemenea, puteți începe cu un buget mic și activități limitate pentru a începe să vă indexați paginile web și să vă îmbunătățiți cuvintele cheie în motoarele de căutare. Nu așteptați momentul perfect sau o zi când veți avea mii de dolari pentru a investi în cele mai bune servicii SEO. Începerea devreme vă va ajuta să obțineți rezultate mai rapide atunci când puteți deveni agresiv cu abordarea dvs. de marketing. O companie SEO de încredere cu sediul în India vă va ajuta să vă definiți planurile actuale și viitoare pentru a obține rezultate bune. Mai multe pagini indexate au sporit clasamentele și marca credibilă a afacerii tale realizate cu practici SEO profesionale continue vor dubla întrebările, afacerile și veniturile. Orice afacere mică poate începe cu investiții de două cifre în serviciile profesionale SEO. Există multe agenții SEO în India care oferă un buget redus, dar rezultă din servicii de optimizare a motoarelor de căutare.

sondaje din exil

  • CraigWew

    12.04.2018

    p»їImportanța stabilirii raportului cu clientul în domeniul imobiliar și vânzări generale

    Importanta stabilirii unui raport cu clientul.
    Stabilirea relației cu un client trebuie să fie câștigată și trebuie abordată ca o parte integrantă a procesului de vânzare.
    Pentru a face ca un client și pe tine însuți să relaționați pe o bază reală, unul la unul, implică două lucruri!
    În primul rând, va trebui să fii conștient și să fii acolo! În al doilea rând, trebuie să înțelegeți că există două etape diferite care vor avea loc în timpul acestui proces.
    A-Fii acolo-ce înseamnă asta?
    o Majoritatea oamenilor nu ascultă cu adevărat o altă persoană în timp ce vorbește. În general, ei sunt atât de ocupați să formuleze următorul răspuns sau afirmație încât nu au putut să asculte cu adevărat.
    o Dacă asta sună ca tine, a fi acolo înseamnă taci și ascultă!
    B-Care este prima sau etapa inițială?
    o În general, aveți doar câteva minute pentru a vă stabili în mintea clienților ca cineva cu care doresc să aibă de-a face.
    o Când aveți îndoieli, cel mai bine este să puneți mai întâi întrebări care să-i atragă și să vorbească despre ei înșiși.
    o De asemenea, este întotdeauna sigur să arăți ca un profesionist - nu mă refer la stoic sau sec, ci la cineva care știe ce face și vorbește și arată rolul.
    C-Alte etape
    o Pe măsură ce timpul trece, prin conversații și întrebări pe care le vor avea, fie îți vei stabili capacitatea, fie nu.
    o Fiți conștienți de faptul că probabil că vă vor măsura pentru o perioadă. Vestea bună este că, la un moment dat, dacă ați reușit să stabiliți un raport, ei se vor relaxa și vă puteți concentra amândoi pe găsirea sau vânzarea casei.
    Ce altceva mă poate ajuta să dezvolt relația?
    o Încercând să înțeleagă diferite tipuri de personalitate și apoi spunând și punând întrebările potrivite.
    o Dacă aveți o relație bună (ajungeți la aceeași lungime de undă cu clientul), atunci vânzarea s-a încheiat practic, acum este doar o chestiune de a găsi casa potrivită sau de a completa documentele de listare.
    Dar diferitele personalități
    o Deoarece aceasta nu este o carte despre psihiatrie, deocamdată înțelegeți doar două tipuri principale.
    o Există oameni introvertiți și extrovertiți.
    o Știți tipul. Gândește-te la trei persoane pe care le cunoști și care se potrivesc fiecărei clasificări.
    Dar limbajul corpului și modelele de vorbire?
    o Dacă vorbesc repede sau încet, încercați să le imitați modelele de vorbire.
    o Dacă vorbesc tare sau încet, procedați la fel. Se aplecă înainte sau înapoi?
    o Inutil să spun că există o mulțime de cărți scrise pe acest subiect. Fiți conștienți de faptul că este un factor important, mai ales când stați într-o sală de conferințe sau acasă discutând o afacere de 400.000 USD.
    Dezvoltarea raportului este o abilitate care poate fi învățată și îmbunătățită.
    o Cu toții am experimentat un agent de vânzări care ne-a vândut ceva și totuși nu am simțit că suntem vânduți. Motivul este că el sau ea te-a făcut să te simți confortabil acolo unde ai avut încredere în ei.
    Cum dezvoltăm relația?
    o Folosește-ți ochii și urechile și pune întrebări. A explica
    o Folosește ochii:
    o Uită-te la rochia lor - la mașina lor - la bunurile lor personale și vreau să spun, uită-te cu adevărat la ele și descifrează ce îți spune asta despre ei.
    o Folosește urechile:
    o Ascultă ce spun ei și pune întrebări pentru a ajunge la fundul adevăratei lor MOTIVAȚII!
    Acum, în timpul acestei conversații, probabil că vor fi unul sau două lucruri pe care le vei descoperi pe care le ai în comun cu ei. (Familie, zone geografice, pescuit etc.) Când întâlniți un teren comun, spuneți-le că sunteți familiarizat și apoi acordați-vă un minut pentru a discuta cu ei.
    Care este Scopul?
    o Odată ce vă acceptă ca unul dintre ei, sunteți în măsură să aveți cu adevărat o experiență grozavă în vânzare, deoarece acum lucrați împreună, apoi ca o echipă - nu mai sunteți vânzătorul, vă aflați acum într-o poziție de consilier .
    o Amintiți-vă, clientul fie vă va permite sau nu vă va permite să intrați în lumea lui. Dacă înțelegi acest lucru și muncești din greu pentru a deveni empatic cu el/ea, poți câștiga o poziție de încredere. În cele mai multe cazuri, îi veți vedea de fapt relaxându-se (limbajul corpului) atunci când se întâmplă acest lucru, sunteți pe drum.
    o Pentru a ilustra acest lucru, ați ținut vreodată un discurs și ați observat că, atunci când vă conectați în sfârșit cu un membru al publicului, acesta va da din cap în semn de aprobare. Toate aceste lucruri pot părea banale, dar nu sunt.
    În încheiere, dacă poți câștiga încrederea clienților, vânzarea unui produs sau serviciu este mult mai ușoară, iar experiența poate fi plăcută pentru toți cei implicați.
    Amintiți-vă întotdeauna că un Win/Win este cea mai bună situație.