SlideServe
Menu
Préférences
© SlideServe · v2026

C++ string Class Chapter 6

barny avatar
23 diapositives · 515 Views · Aug 25, 2014

C++ string Class Chapter 6. Agenda . String Basics (cin, getline )  string operations mixed I/O using >> & getline() Table Output using setw() Functions that take string parameters. What’s a string? . A string is a sequence of letters in quotes

C++ string Class Chapter 6 - slide 1
01 / 23C++ string Class Chapter 6
1 / 17

Télécharger la présentation

C++ string Class Chapter 6
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. C++ stringClass Chapter 6

  2. Agenda • String Basics (cin, getline )  • string operations • mixed I/O using >> & getline() • Table Output using setw() • Functions that take string parameters

  3. What’s a string? • A string is a sequence of letters in quotes • “Hello” “C++ is fun!” “” (empty string) • cout<<“This is a string literal”<<endl; • ofstream fout(“accnts.txt”); this is also a string literal

  4. A stringvariable stores strings string s1; // empty string string s2 = “Hello World”; string s3(60, ‘*’); //s3 contains 60 asterisks s1=s2; //copy string s2 into s1 cout<<“String s1 holds ”<<s1<<endl; cout<<s3<<endl;

  5. #include <string> to use string • string is a class that was created in ’98 to improve on C-strings (tedious arrays of char) • The whole C++ standard was revised as well • Keep using these post ’98 libraries : #include <iostream> #include <string> using namespace std;

  6. #include Libraries should be consistent

  7. string I/O • cin and cout (<< and >> ) work the same • cout<<“Enter two strings”<<endl; • cin>>s1>>s2; // whitespace separates strings • You type Gong Li • You get s1 s2 Problem: How do you get s1 to hold “Gong Li” ???

  8. string input with getline( ) problem 2 • getline( ) Reads everything until a ‘\n’ is found getline(cin, s1); getline(cin, s2); • You type Gong Li Quoth the Raven, “Nevermore!” • You get s1 s2

  9. Agenda • String Basics (cin, getline ) • string operations  • mixed I/O using >> & getline() • Table Output using setw() • Functions that take string parameters

  10. C++ string operations problem 4 • Length of a C++ string can be found as : s.length(); // returns length of s • C++ strings can be compared using relational operators like : if(s2 < s5) //… if(name == “Jones”) • C++ strings can be concatenated and appended using the + and the += operators : string s6 = s5 + “HIJK”; s2 += s5;

  11. String quiz • T/F (“Salty” < “Sweet”) • T/F (“aardvark” == “Aardvark”) • T/F (“John” > “john”) • What does full hold? string last=“Woods”, first = “Tiger”, full; a) full = first + last; _______________ b) full = first + “ “ + last; _______________ c) full = last + “, ” + first; _______________ • What does k hold? int k = first.length( ); _______________

  12. Do Lab5 Problems 1-4

  13. Agenda • String Basics (cin, getline ) • string operations • mixed I/O using >> & getline()  • Table Output using setw() • Functions that take string parameters

  14. Warning—weird behavior mixing >> and getline( ) problem 5 string name; int age; cout << "Enter your age: "; cin >> age; cout << "Name (first last): "; getline (cin, name); cout << name << ", you don't look " << age << ".\n"; Console Enter your age: 43 Name (first last): , you don’t look 43.

  15. Warning—weird behavior mixing >> and getline( ) problem 5 string name; int age; cout << "Enter your age: "; cin >> age;  does not remove enter key (‘\n’) cout << "Name (first last): "; cin.ignore (80, '\n');  ignores ‘\n’ left by cin>> getline (cin, name); cout << name << ", you don't look " << age << ".\n"; Console Enter your age: 43 Name (first last):Al Short Al Short, you don’t look 43. Another option:use >> to read the string or strings (instead of getline)

  16. Agenda • String Basics (cin, getline ) • string operations • mixed I/O using >> & getline() • Table Output using setw()  • Functions that take string parameters

  17. #include<iomanip> Creating Space in Output • The setw function specifies the number of spaces for the next item • Applies only to the next item of output • Example: To print the digit 7 in four spaces useoutfile<<setw(4)<< 7 << endl; • Three of the spaces will be blank 7 7 <<left<<

  18. Application of setw( ) problem 6 Produces a table of square roots int n; cout << " N sqrt(N)" << endl; cout << "-----------" << endl; cout << fixed << showpoint<<setprecision(3); for (n=1; n<=10; n++) { cout << setw(2) << n; cout << setw(8) << sqrt(n); cout << endl; } Sets column width

  19. Application of setw( ) problem 7 Produce a formatted table of strings and numbers const double RATE = 4.55; int tutor; int hours; string name; ofstream fout("output.txt"); for (tutor=1; tutor<=3; tutor++) { cout << "Tutor's name and hours worked: "; cin >> name >> hours; fout << fixed << showpoint << setprecision(2); fout << left<< setw(15) << name << right << setw(10)<< hours << setw(10) << hours*RATE << endl; } Notice Left and right justification

  20. Do 5,6,7 (skip 8 for now) and 9

  21. Agenda • String Basics (cin, getline ) • string operations • Table Output using setw() • string I/O using >> & getline() • Functions that take string parameters 

  22. Passing strings to functions • Just like other parameters, strings can be passed to and returned from functions string AddJunior(string name) { name=name+”, Jr.”; return name; } FUNCTION CALL: string son; son=AddJunior(“Hank Williams”);

  23. Finally !!! … THE END 