Console Input / Output                           Reading and Writing to the ConsoleSvetlin NakovManager Technical trainerw...
Table of Contents Printing to the Console    Printing Strings and Numbers Reading from the Console    Reading Characte...
Printing to the ConsolePrinting Strings, Numeral Types and Expressions
Printing to the Console Console is used to   display information in a text window Can display   different values:   Str...
The Console Class Provides methods for console input       and output  Input     Read(…) – reads a single character    ...
Console.Write(…)   Printing an integer variable    int a = 15;    ...    Console.Write(a); // 15   Printing more than on...
Console.WriteLine(…)   Printing a string variable    string str = "Hello C#!";    ...    Console.WriteLine(str);   Print...
Printing to the Console – Examplestatic void Main(){    string name = "Peter";    int age = 18;    string town = "Sofia"; ...
Formatting Strings {index[,alignment][:formatString]} index  The zero-based index of the argument whose   string repres...
Formatting Strings {index[,alignment][:formatString]} formatString  Specifies the format of the corresponding   argumen...
Formatting Strings – Examplestatic void Main(){    int a=2, b=3;    Console.Write("{0} + {1} =", a, b);    Console.WriteLi...
Printing a Menu – Exampledouble   colaPrice = 1.20;string   cola = "Coca Cola";double   fantaPrice = 1.20;string   fanta =...
Printing tothe Console   Live Demo
Reading from the Console  Reading Strings and Numeral Types
Reading from the Console We use the console to read information from the command line We can read:  Characters  String...
Console.Read()   Gets a single character from the console (after    [Enter] is pressed)     Returns a result of type int...
Reading Characters from the Console      Live Demo
Console.ReadKey()   Waits until a combination of keys is pressed     Reads a single character from console or a      com...
Reading Keysfrom the Console     Live Demo
Console.ReadLine()   Gets a line of characters   Returns a string value   Returns null if the end of the input is reach...
Reading Stringsfrom the Console     Live Demo
Reading Numeral Types   Numeral types can not be read directly from the    console   To read a numeral type do the follo...
Converting Strings to Numbers Numeral types have a method Parse(…) for extracting the numeral value from a string  int.P...
Reading Numbers from                     the Console – Examplestatic void Main(){    int a = int.Parse(Console.ReadLine())...
Converting Strings                                    to Numbers (2)   Converting can also be done using the methods of  ...
Reading Numbersfrom the Console     Live Demo
Error Handling when Parsing   Sometimes we want to handle the errors when    parsing a number     Two options: use try-c...
Parsing with TryParse()        Live Demo
Regional Settings   Printing and Reading Special CharactersRegional Settings and the Number Formatting
How to Print Special                    Characters on the Console?   Printing special characters on the console needs    ...
Decimal Separator The currency format and number formats are different in different countries   E.g. the decimal separat...
Regional Settings     Live Demo
Reading and Printing   to the Console     Various Examples
Printing a Letter – ExampleConsole.Write("Enter person name: ");string person = Console.ReadLine();Console.Write("Enter co...
Printing a Letter     Live Demo
Calculating Area – ExampleConsole.WriteLine("This program calculates " +    "the area of a rectangle or a triangle");Conso...
Calculating Area     Live Demo
Summary We have discussed the basic                            input and output methods of the class Console   Write(…) ...
Console Input / Output    курсове и уроци по програмиране, уеб дизайн – безплатно     BG Coder - онлайн състезателна систе...
Exercises1.   Write a program that reads 3 integer numbers from     the console and prints their sum.2.   Write a program ...
Exercises (2)4.   Write a program that reads two positive integer     numbers and prints how many numbers p exist     betw...
Exercises (3)7.    Write a program that gets a number n and after that      gets more n numbers and calculates and prints ...
Exercises (4)11.   * Implement the "Falling Rocks" game in the text      console. A small dwarf stays at the bottom of the...
Free Trainings @ Telerik Academy Fundamentals of C# Programming    Course       csharpfundamentals.telerik.com   Teleri...
Upcoming SlideShare
Loading in...5
×

4. Console Input Output - C# Fundamentals

6,111

Published on

C# Programming Fundamentals Course @ Telerik Academy
http://academy.telerik.com
This presentation introduces you to the console class - your go to environment in this course and show you all the tips and tricks of writing TO and reading FROM the console.
Main points:
The console class.
Printing and ouputting all your data - strings, numbers and special characters.
Reading user input from the console
Best practices

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,111
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
176
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

4. Console Input Output - C# Fundamentals

  1. 1. Console Input / Output Reading and Writing to the ConsoleSvetlin NakovManager Technical trainerwww.nakov.comTelerik Software Academyacademy.telerik.com
  2. 2. Table of Contents Printing to the Console  Printing Strings and Numbers Reading from the Console  Reading Characters  Reading Strings  Parsing Strings to Numeral Types  Reading Numeral Types Various Examples 2
  3. 3. Printing to the ConsolePrinting Strings, Numeral Types and Expressions
  4. 4. Printing to the Console Console is used to display information in a text window Can display different values:  Strings  Numeral types  All primitive data types To print to the console use the class Console (System.Console) 4
  5. 5. The Console Class Provides methods for console input and output  Input  Read(…) – reads a single character  ReadKey(…) – reads a combination of keys  ReadLine(…) – reads a single line of characters  Output  Write(…) – prints the specified argument on the console  WriteLine(…) – prints specified data to the console and moves to the next line 5
  6. 6. Console.Write(…) Printing an integer variable int a = 15; ... Console.Write(a); // 15 Printing more than one variable using a formatting string double a = 15.5; int b = 14; ... Console.Write("{0} + {1} = {2}", a, b, a + b); // 15.5 + 14 = 29.5 Next print operation will start from the same line 6
  7. 7. Console.WriteLine(…) Printing a string variable string str = "Hello C#!"; ... Console.WriteLine(str); Printing more than one variable using a formatting string string name = "Marry"; int year = 1987; ... Console.WriteLine("{0} was born in {1}.", name, year); // Marry was born in 1987. Next printing will start from the new line 7
  8. 8. Printing to the Console – Examplestatic void Main(){ string name = "Peter"; int age = 18; string town = "Sofia"; Console.Write("{0} is {1} years old from {2}.", name, age, town); // Result: Peter is 18 years old from Sofia. Console.Write("This is on the same line!"); Console.WriteLine("Next sentence will be" + " on a new line."); Console.WriteLine("Bye, bye, {0} from {1}.", name, town);} 8
  9. 9. Formatting Strings {index[,alignment][:formatString]} index  The zero-based index of the argument whose string representation is to be included at this position in the string alignment  A signed integer that indicates the total length of the field into which the argument is inserted  a positive integer – right-aligned  a negative integer – left-aligned
  10. 10. Formatting Strings {index[,alignment][:formatString]} formatString  Specifies the format of the corresponding arguments result string, e.g. "X", "C", "0.00" Example: static void Main() { double pi = 1.234; Console.WriteLine("{0:0.000000}", pi); // 1.234000 }
  11. 11. Formatting Strings – Examplestatic void Main(){ int a=2, b=3; Console.Write("{0} + {1} =", a, b); Console.WriteLine(" {0}", a+b); // 2 + 3 = 5 Console.WriteLine("{0} * {1} = {2}", a, b, a*b); // 2 * 3 = 6 float pi = 3.14159206; Console.WriteLine("{0:F2}", pi); // 3,14 Console.WriteLine("Bye – Bye!");} 11
  12. 12. Printing a Menu – Exampledouble colaPrice = 1.20;string cola = "Coca Cola";double fantaPrice = 1.20;string fanta = "Fanta Dizzy";double zagorkaPrice = 1.50;string zagorka = "Zagorka";Console.WriteLine("Menu:");Console.WriteLine("1. {0} – {1}", cola, colaPrice);Console.WriteLine("2. {0} – {1}", fanta, fantaPrice);Console.WriteLine("3. {0} – {1}", zagorka, zagorkaPrice);Console.WriteLine("Have a nice day!"); 12
  13. 13. Printing tothe Console Live Demo
  14. 14. Reading from the Console Reading Strings and Numeral Types
  15. 15. Reading from the Console We use the console to read information from the command line We can read:  Characters  Strings  Numeral types (after conversion) To read from the console we use the methods Console.Read() and Console.ReadLine() 15
  16. 16. Console.Read() Gets a single character from the console (after [Enter] is pressed)  Returns a result of type int  Returns -1 if there aren’t more symbols To get the actually read character we need to cast it to char int i = Console.Read(); char ch = (char) i; // Cast the int to char // Gets the code of the entered symbol Console.WriteLine("The code of {0} is {1}.", ch, i); 16
  17. 17. Reading Characters from the Console Live Demo
  18. 18. Console.ReadKey() Waits until a combination of keys is pressed  Reads a single character from console or a combination of keys Returns a result of type ConsoleKeyInfo  KeyChar – holds the entered character  Modifiers – holds the state of [Ctrl], [Alt], … ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); Console.WriteLine("Character entered: " + key.KeyChar); Console.WriteLine("Special keys: " + key.Modifiers); 18
  19. 19. Reading Keysfrom the Console Live Demo
  20. 20. Console.ReadLine() Gets a line of characters Returns a string value Returns null if the end of the input is reached Console.Write("Please enter your first name: "); string firstName = Console.ReadLine(); Console.Write("Please enter your last name: "); string lastName = Console.ReadLine(); Console.WriteLine("Hello, {0} {1}!", firstName, lastName); 20
  21. 21. Reading Stringsfrom the Console Live Demo
  22. 22. Reading Numeral Types Numeral types can not be read directly from the console To read a numeral type do the following: 1. Read a string value 2. Convert (parse) it to the required numeral type int.Parse(string)  Parses (converts) a string to int string str = Console.ReadLine() int number = int.Parse(str); Console.WriteLine("You entered: {0}", number); 22
  23. 23. Converting Strings to Numbers Numeral types have a method Parse(…) for extracting the numeral value from a string  int.Parse(string) – string  int  long.Parse(string) – string  long  float.Parse(string) – string  float  Causes FormatException in case of error string s = "123"; int i = int.Parse(s); // i = 123 long l = long.Parse(s); // l = 123L string invalid = "xxx1845"; int value = int.Parse(invalid); // FormatException 23
  24. 24. Reading Numbers from the Console – Examplestatic void Main(){ int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine()); Console.WriteLine("{0} + {1} = {2}", a, b, a+b); Console.WriteLine("{0} * {1} = {2}", a, b, a*b); float f = float.Parse(Console.ReadLine()); Console.WriteLine("{0} * {1} / {2} = {3}", a, b, f, a*b/f);} 24
  25. 25. Converting Strings to Numbers (2) Converting can also be done using the methods of the Convert class  Convert.ToInt32(string) – string  int  Convert.ToSingle(string)– string  float  Convert.ToInt64(string)– string  long  It uses the parse methods of the numeral types string s = "123"; int i = Convert.ToInt32(s); // i = 123 long l = Convert.ToInt64(s); // l = 123L string invalid = "xxx1845"; int value = Convert.ToInt32(invalid); // FormatException 25
  26. 26. Reading Numbersfrom the Console Live Demo
  27. 27. Error Handling when Parsing Sometimes we want to handle the errors when parsing a number  Two options: use try-catch block or TryParse() Parsing with TryParse(): string str = Console.ReadLine(); int number; if (int.TryParse(str, out number)) { Console.WriteLine("Valid number: {0}", number); } else { Console.WriteLine("Invalid number: {0}", str); } 27
  28. 28. Parsing with TryParse() Live Demo
  29. 29. Regional Settings Printing and Reading Special CharactersRegional Settings and the Number Formatting
  30. 30. How to Print Special Characters on the Console? Printing special characters on the console needs two steps:  Change the console properties to enable Unicode-friendly font  Enable Unicode for the Console by adjusting its output encoding  Prefer UTF8 (Unicode) using System.Text; … Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("Това е кирилица: "); 30
  31. 31. Decimal Separator The currency format and number formats are different in different countries  E.g. the decimal separator could be "." or "," To ensure the decimal separator is "." use the following code: using System.Threading; using System.Globalization; … Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Console.WriteLine(3.54); // 3.54 decimal value = decimal.Parse("1.33"); 31
  32. 32. Regional Settings Live Demo
  33. 33. Reading and Printing to the Console Various Examples
  34. 34. Printing a Letter – ExampleConsole.Write("Enter person name: ");string person = Console.ReadLine();Console.Write("Enter company name: ");string company = Console.ReadLine();Console.WriteLine(" Dear {0},", person);Console.WriteLine("We are pleased to tell you " + "that {1} has chosen you to take part " + "in the "Introduction To Programming" " + "course. {1} wishes you good luck!", person, company);Console.WriteLine(" Yours,");Console.WriteLine(" {0}", company); 34
  35. 35. Printing a Letter Live Demo
  36. 36. Calculating Area – ExampleConsole.WriteLine("This program calculates " + "the area of a rectangle or a triangle");Console.Write("Enter a and b (for rectangle) " + " or a and h (for triangle): ");int a = int.Parse(Console.ReadLine());int b = int.Parse(Console.ReadLine());Console.Write("Enter 1 for a rectangle or 2 " + "for a triangle: ");int choice = int.Parse(Console.ReadLine());double area = (double) (a*b) / choice;Console.WriteLine("The area of your figure " + " is {0}", area); 36
  37. 37. Calculating Area Live Demo
  38. 38. Summary We have discussed the basic input and output methods of the class Console  Write(…) and WriteLine(…)  Used to write values to the console  Read(…) and ReadLine(…)  Used to read values from the console  Parsing numbers to strings  int.Parse(…), double.Parse(…), … 38
  39. 39. Console Input / Output курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET http://academy.telerik.com програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезаниякурсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
  40. 40. Exercises1. Write a program that reads 3 integer numbers from the console and prints their sum.2. Write a program that reads the radius r of a circle and prints its perimeter and area.3. A company has name, address, phone number, fax number, web site and manager. The manager has first name, last name, age and a phone number. Write a program that reads the information about a company and its manager and prints them on the console. 40
  41. 41. Exercises (2)4. Write a program that reads two positive integer numbers and prints how many numbers p exist between them such that the reminder of the division by 5 is 0 (inclusive). Example: p(17,25) = 2.5. Write a program that gets two numbers from the console and prints the greater of them. Don’t use if statements.6. Write a program that reads the coefficients a, b and c of a quadratic equation ax2+bx+c=0 and solves it (prints its real roots). 41
  42. 42. Exercises (3)7. Write a program that gets a number n and after that gets more n numbers and calculates and prints their sum.8. Write a program that reads an integer number n from the console and prints all the numbers in the interval [1..n], each on a single line.9. Write a program to print the first 100 members of the sequence of Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, …10. Write a program to calculate the sum (with accuracy of 0.001): 1 + 1/2 - 1/3 + 1/4 - 1/5 + ... 42
  43. 43. Exercises (4)11. * Implement the "Falling Rocks" game in the text console. A small dwarf stays at the bottom of the screen and can move left and right (by the arrows keys). A number of rocks of different sizes and forms constantly fall down and you need to avoid a crash. ^ @ Rocks are the symbols ^, * * @, *, &, +, %, $, #, !, ., ;, & + % $ + . - distributed with +++ # ! t appropriate density. The + ; * . * ++ dwarf is (O). Ensure a . * -- constant game speed by ; . (O) @ Thread.Sleep(150). Implement collision detection and scoring system. 43
  44. 44. Free Trainings @ Telerik Academy Fundamentals of C# Programming Course  csharpfundamentals.telerik.com Telerik Software Academy  academy.telerik.com Telerik Academy @ Facebook  facebook.com/TelerikAcademy Telerik Software Academy Forums  forums.academy.telerik.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×