1 / 31

Chapter 2 part #3 C++ Input / Output

King Saud University College of Applied studies and Community Service CSC1101 By: Fatimah Alakeel. Chapter 2 part #3 C++ Input / Output. 2 nd Semester 1432 -1433. Outline. Input / Output Operations Using iostream Output Stream Input Stream Common Programming Errors.

luella
Download Presentation

Chapter 2 part #3 C++ Input / Output

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. King Saud University College of Applied studies and Community Service CSC1101 By: Fatimah Alakeel Chapter 2 part #3C++ Input / Output 2nd Semester 1432 -1433

  2. Outline • Input / Output Operations • Using iostream • Output Stream • Input Stream • Common Programming Errors Fatimah Alakeel

  3. Input/Output Operations • Input operation • an instruction that copies data from an input device into memory • Input Stream: A stream that flows from an input device ( i.e.: keyboard, disk drive, network connection) to main memory) • Output operation • an instruction that displays information stored in memory to the output devices (such as the monitor) • Output Stream: A stream that flows from main memory to an output device ( i.e.: screen, printer, disk drive, network connection) Fatimah Alakeel

  4. Using iostream.h • Include iostream instead of stdio.h • Standard iostream objects: cout - object providing a connection to the monitor cin - object providing a connection to the keyboard • To perform input and output we send messages to one of these objects Fatimah Alakeel

  5. Output Stream Fatimah Alakeel

  6. The Insertion Operator (<<) • To send output to the screen we use the insertion operator on the object cout • Format: cout << Expression; • The compiler figures out the type of the object and prints it out appropriately cout << 5; // Outputs 5 cout << 4.1; // Outputs 4.1 cout << “String”; // Outputs String cout << ‘\n’; // Outputs a newline Fatimah Alakeel

  7. Stream-Insertion Operator • << is overloaded to output built-in types • Can also be used to output user-defined types • cout << ‘\n’; • Prints newline character • cout << endl; • endl is a stream manipulator that issues a newline character and flushes the output buffer • cout << flush; • flush flushes the output buffer a buffer is just a pre-allocated area of memory where you store your data while you're processing it. Fatimah Alakeel

  8. Cascading Stream-Insertion/Extraction Operators • << : Associates from left to right, and returns a reference to its left-operand object (i.e. cout). • This enables cascading cout << "How" << " are" << " you?"; Make sure to use parenthesis: cout << "1 + 2 = " << (1 + 2); NOT cout << "1 + 2 = " << 1 + 2; Fatimah Alakeel

  9. Printing Variables • cout<< someVariable; • cout knows the type of data to output • Must not confuse printing text with printing variables: • int x =12; • cout << x; // prints 12 • cout << “x”; // prints x Fatimah Alakeel

  10. Formatting Stream Output • Performs formatted and unformatted output • Output of numbers in decimal, octal and hexadecimal using manipulators. • Display numbers on different width , filling spaces with characters • Varying precision for floating points • Formatted text outputs Fatimah Alakeel

  11. I. Manipulators • C++ manipulators • Manipulators are functions specifically designed to be used in conjunction with the insertion (<<) and extraction (>>) operators on stream objects. • must includeiomanipto use • several are provided to do useful things • you can also create your own Fatimah Alakeel

  12. Output Manipulators (no args) Manipulators included like arguments in extraction endl - outputs a new line character, flushes output dec - sets int output to decimal hex - sets int output to hexadecimal oct - sets int output to octal Example: #include <iostream> #include <iomanip> using namespace std; int x = 42; cout << oct << x << endl; // Outputs 52\n cout << hex << x << endl; // Outputs 2a\n cout << dec << x << endl; // Outputs 42\n Fatimah Alakeel

  13. II. Setting the Width • You can use the width(int) function to set the width for printing a value, but it only works for the next insertion command (more on this later): int x = 42; cout.width(5); cout << x << ‘\n’; // Outputs 42 Cout<< x << ‘\n’; // Outputs 42 OR cout << setw (10); cout << 77 << endl; // prints 77 on 10 places Fatimah Alakeel

  14. II. Setting the Fill Character Use the fill(char) function to set the fill character. The character remains as the fill character until set again. int x = 42; cout.width(5); cout.fill(‘*’); cout << x << ‘\n’; // Outputs ***42 OR cout << setfill ('x') << setw (10); cout<< 77 << endl; // prints xxxxxxxx77 Fatimah Alakeel

  15. III. Significant Digits in Float Use function precision(int) to set the number of significant digits printed (may convert from fixed to scientific to print): float y = 23.1415; cout.precision(1); cout << y << '\n'; // Outputs 2e+01 cout.precision(2); cout << y << '\n'; // Outputs 23 cout.precision(3); cout << y << '\n'; // Outputs 23.1 Fatimah Alakeel

  16. Using showpoint/noshowpoint #include <iostream> using namespace std; int main () { double a, b, pi; a=30.0; b=10000.0; pi=3.1416; cout.precision(5); cout<< showpoint << a << '\t' << b << '\t' << pi << endl; cout<< noshowpoint << a << '\t' << b << '\t' << pi << endl; return 0; } 30.000 10000. 3.1416 30 10000 3.1416 Fatimah Alakeel

  17. IV. Formatting Text • To print text you need to include “” around the text • Cout <<“This is a Beautiful Day” ; • You can add escape sequence for further options. Fatimah Alakeel

  18. Escape Sequence Fatimah Alakeel

  19. Examples cout<<"Please enter the student's grades:”; Please enter the student's grades: cout<<"The class average is “<< average; The class average is95.5 cout<<“The total area is “<< area<< “and the total cost is “<< cost<<“S.R.”; The total area is60.2and the total cost is4530S.R. Cout<<"The student received an”<< grade << “ grade in the course."; The student received anAgrade in the course. Fatimah Alakeel

  20. Examples (Con.) Cout<<”The grade is << grade << gradesymb; The grade isA+ Cout<<"I am the first line\n”; Cout<<“\n I am the second line\n"; I am the first line I am the second line Fatimah Alakeel

  21. Input Stream Fatimah Alakeel

  22. The Extraction Operator (>>) • To get input from the keyboard we use the extraction operator and the object cin • Format: cin >> Variable; • No need for & in front of variable • The compiler figures out the type of the variable and reads in the appropriate type int X; float Y; cin >> X; // Reads in an integer cin >> Y; // Reads in a float Fatimah Alakeel

  23. Syntax cin >> someVariable; • cin knows what type of data is to be assigned to someVariable (based on the type of someVariable). Fatimah Alakeel

  24. Stream Input • >> (stream-extraction) • Used to perform stream input • Normally ignores whitespaces (spaces, tabs, newlines) • Returns zero (false) when EOF is encountered, otherwise returns reference to the object from which it was invoked (i.e. cin) • This enables cascaded input cin >> x >> y; Fatimah Alakeel

  25. Stream Input • cin inputs ints, chars, null-terminated strings, string objects • but terminates when encounters space (ASCII character 32)‏ • workaround? use the “get” method [ will see that later] Fatimah Alakeel

  26. Chaining Calls • Multiple uses of the insertion and extraction operator can be chained together: cout << E1 << E2 << E3 << … ; cin >> V1 >> V2 >> V3 >> …; • Equivalent to performing the set of insertion or extraction operators one at a time • Example cout << “Total sales are $” << sales << ‘\n’; cin >> Sales1 >> Sales2 >> Sales3; Fatimah Alakeel

  27. Extraction/Insertion Example cout << “Hello world!”; int i=5; cout << “The value of i is “ << i << endl; OUTPUT: Hello World! The value of i is 5 //endl puts a new line Char letter; cout<< “Please enter the first letter of your name: “; cin >> letter; Cout<< “Your name starts with“ << letter; OUTPUT: Please enter the first letter of your name: F Your name starts with F Fatimah Alakeel

  28. Common Programming Errors Fatimah Alakeel

  29. Common Programming Errors • Debugging Process removing errors from a program • Three (3) kinds of errors : • Syntax Error • a violation of the C++ grammar rules, detected during program translation (compilation). • statement cannot be translated and program cannot be executed Fatimah Alakeel

  30. Common Programming Errors cont… • Run-time errors • An attempt to perform an invalid operation, detected during program execution. • Occurs when the program directs the computer to perform an illegal operation, such as dividing a number by zero. • The computer will stop executing the program, and displays a diagnostic message indicates the line where the error was detected Fatimah Alakeel

  31. Common Programming Errors cont… • Logic Error/Design Error • An error caused by following an incorrect algorithm • Very difficult to detect - it does not cause run-time error and does not display message errors. • The only sign of logic error – incorrect program output • Can be detected by testing the program thoroughly, comparing its output to calculated results • To prevent – carefully desk checking the algorithm and written program before you actually type it Fatimah Alakeel

More Related