0% found this document useful (0 votes)
5 views

Console Input Output

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Console Input Output

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

Console Input /

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

 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
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
Printing to the Console –
Example
static 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
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
Formatting Strings
 {index[,alignment]
[:formatString]}
 formatString
 Specifies the format of the
corresponding argument's result
string, e.g. "X", "C", "0.00"
static void Main()
 Example:
{
double pi = 1.234;
Console.WriteLine("{0:0.000000}", pi);
// 1.234000
}
Formatting Strings –
Example
static 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
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

// Gets the code of the entered symbol


Console.WriteLine("The code of '{0}' is {1}.",
ch, i);
16
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 combination of keys
 Returns a result of type
ConsoleKeyInfo
 KeyChar – holds the entered character
ConsoleKeyInfo key = Console.ReadKey();
Console.WriteLine();
Modifiers – holds the state of [Ctrl],
Console.WriteLine("Character
[Alt], … entered: " +
key.KeyChar);
Console.WriteLine("Special keys: " +
18
Reading Keys
from the
Console
Live Demo
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
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);

Console.WriteLine("You entered: {0}", number);


22
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
string s = "123";
intCauses FormatException
i = int.Parse(s); // i = 123 in case of
long l = long.Parse(s); // l = 123L
error
string invalid = "xxx1845";
int value = int.Parse(invalid); //
FormatException
23
Reading Numbers from
the Console – Example
static 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
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.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
Printing a Letter
Live Demo
Calculating Area –
Example
Console.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
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

You might also like