Console Input Output
Console Input Output
Output
Reading and Writing to the Console
Telerik
Corporation
www.telerik.
com
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
Printing to the
Console
Printing Strings, Numeral Types and
Expressions
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
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 5
Console.Write(…)
Printing an integer variable
int a = 15;
...
Console.Write(a); // 15
float pi = 3.14159206;
Console.WriteLine("{0:F2}", pi); // 3,14
Console.WriteLine("Bye – Bye!");
}
11
Printing a Menu –
Example
double 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
Printing
to the
Console
Live Demo
Reading from the
Console
Reading Strings
Numeral Types
and
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
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
20
Reading
Strings from
the Console
Live Demo
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)
string
Parsesstr = Console.ReadLine()
(converts) a string to int
int number = int.Parse(str);
float f = float.Parse(Console.ReadLine());
Console.WriteLine("{0} * {1} / {2} = {3}",
a, b, f, a*b/f);
}
24
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
string s = "123";
numeral
int types
i = Convert.ToInt32(s); // i = 123
long l = Convert.ToInt64(s); // l = 123L
string invalid = "xxx1845";
int value = Convert.ToInt32(invalid); //
FormatException
25
Reading
Numbers
from the
Console
Live Demo
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
Parsing with
TryParse()
Live Demo
Regional Settings
Printing and Reading Special
Characters
Regional Settings and the Number
Formatting
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
Decimal Separator
The currency format and number
formats are different in different
countries
E.g. the decimal separator could be
"." or ","
Tousing
ensure the decimal separator is
System.Threading;
"."using
useSystem.Globalization;
the following code:
…
Thread.CurrentThread.CurrentCulture =
CultureInfo.InvariantCulture;
Console.WriteLine(3.54); // 3.54
decimal value = decimal.Parse("1.33");
31
Regional Settings
Live Demo
Reading and
Printing to the
Console
Various Examples
Printing a Letter –
Example
Console.Write("Enter person name: ");
string person = Console.ReadLine();
Console.WriteLine(" Yours,");
Console.WriteLine(" {0}", company);
34
Printing a Letter
Live Demo
Calculating Area –
Example
Console.WriteLine("This program calculates " +
"the area of a rectangle or a triangle");
36
Calculating Area
Live Demo
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
Console Input / Output
Questions
?
http://academy.telerik.com
Exercises
1. 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
40
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
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 42
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 Rocks and
are you
the
^ @
need to avoid a crash.symbols ^, @, *, &,
* *
+, %, $, #, !, ., ;, -
& + % t distributed with
$ +
. appropriate
+++ # ! density. The dwarf
+ ; * is (O). Ensure a
mplement collision constant
detection and game
scoring system.
. * ++
speed by 43