|
Ceci signifie simplement que, l'utilisateur dactylographie quelque chose et
appuie sur Enter, ce que
l'utilisateur a dactylographié sera donné (le mot est assigné)
à la variable indiquée du côté gauche de l'opérateur de tâche.
Read () ne doit pas toujours assigner sa valeur
à une variable. Par exemple, elle peut être utilisée sur sa propre
ligne, ce qui signifie simplement que l'utilisateur est sensé
dactylographier quelque chose, mais la valeur dactylographiée par
l'utilisateur ne seraient utiliser pour aucun but significatif. Par
exemple quelques versions de C# ( comprenant même C# et Borland
C#Builder de Microsoft) afficheraient la fenêtre de DOS brièvement et
disparaîtraient. Vous pouvez utiliser la fonction Read()
pour attendre de l'utilisateur d'appuyer sur n'importe quelle touche afin de fermer
la fenêtre de DOS.
 |
En plus de Read (), la console
de classe
fournit également la méthode ReadLine (). De même que la
fonction WriteLine (), après avoir effectué
sa tâche, la méthode ReadLine () envoie le signe
d'insersion à la prochaine ligne. Autrement, elle joue le même
rôle que la fonction Read() .
|
|
Étude
pratique : Présentation des données de lecture
|
|
- Commencez Microsoft Visual C# et créer une application de console
appelée GeorgetownCleaningServices3
- Changer le type de fichier comme suit :
using System;
namespace GeorgetownCleaningServices4
{
class OrderProcessing
{
static void Main()
{
Console.WriteLine();
}
}
}
|
- Sauvegardez le fichier
|
Demande d'une valeur chaîne de caractères
|
|
Dans la plupart des attributions de vos programmes,
vous ne saurez pas la valeur d'une chaîne de caractères quand vous écrivez votre
application. Par exemple, vous pouvez vouloir que l'utilisateur
fournisse une telle chaîne de caractères. Pour demander une chaîne de
caractères (ou tout autre
variable que nous verrons dans cette leçon), vous pouvez faire appel à
Console.Read
() ou à la fonction Console.ReadLine () et l'assigner du nom
de la variable dont vous voulez retrouver la valeur. Voici un exemple :
string FirstName;
Console.Write("Enter First Name: ");
FirstName = Console.ReadLine();
|
Étude
pratique : Lecture des valeurs chaîne de caractères
|
|
- Pour demander une chaîne de caractères à l'utilisateur, changer le dossier
comme suit :
using System;
namespace GeorgetownCleaningServices4
{
class OrderProcessing
{
static void Main()
{
string CustomerName, HomePhone;
Console.WriteLine("-/- Georgetown Cleaning Services -/-");
// Request customer information from the user
Console.Write("Enter Customer Name: ");
CustomerName = Console.ReadLine();
Console.Write("Enter Customer Phone: ");
HomePhone = Console.ReadLine();
Console.WriteLine();
// Display the receipt
Console.WriteLine("====================================");
Console.WriteLine("-/- Georgetown Cleaning Services -/-");
Console.WriteLine("====================================");
Console.Write("Customer: ");
Console.WriteLine(CustomerName);
Console.Write("Home Phone: ");
Console.WriteLine(HomePhone);
Console.WriteLine("====================================\n");
}
}
}
|
- Exécutez le programme. Ce qui produirait :
-/- Georgetown Cleaning Services -/-
Enter Customer Name: James Watson
Enter Customer Phone: (410) 493-2005
====================================
-/- Georgetown Cleaning Services -/-
====================================
Customer: James Watson
Home Phone: (410) 493-2005
====================================
|
- Fermer la fenêtre de DOS
Dans C#, tout ce que l'utilisateur tape est une
corde et le compilateur l'analyserait difficilement sans votre demande explicite
pour le faire de telle façon. Par conséquent, si vous voulez obtenir un
nombre de l'utilisateur, demander d'abord une corde. Voici un exemple :
using System;
namespace GeorgetownCleaningServices4
{
class OrderProcessing
{
static void Main()
{
int Number;
string strNumber;
strNumber = Console.ReadLine();
}
}
}
Après avoir obtenu la corde, vous devez la
convertir en nombre. Pour exécuter cette conversion, chaque type de
données de .NET Framework fournit un mécanisme appelé parse.
Pour utiliser parse (), dactylographiez le type de données,
suivi d'un point, suivi de parse, et suivi des parenthèses. Dans les
parenthèses de parse, introduire au clavier la corde que vous demandez à l'utilisateur. Voici un exemple :
using System;
namespace GeorgetownCleaningServices4
{
class OrderProcessing
{
static void Main()
{
int Number;
string strNumber;
strNumber = Console.ReadLine();
Number = int.Parse(strNumber);
}
}
}
Une manière avançée mais plus rapide de faire
ceci est de dactylographier Console.ReadLine () dans les parenthèses
de parse. Ceci a le même effet. Voici un exemple :
using System;
namespace GeorgetownCleaningServices4
{
class OrderProcessing
{
static void Main()
{
int Number;
Number = int.Parse(Console.ReadLine());
}
}
}
|
Étude
pratique : Lecture des valeurs numériques
|
|
- Pour rechercher divers nombres de l'utilisateur, changez le
fichier comme suit :
using System;
namespace GeorgetownCleaningServices4
{
class OrderProcessing
{
static void Main()
{
// Price of items
const decimal PriceOneShirt = 0.95M;
const decimal PriceAPairOfPants = 2.95M;
const decimal PriceOneDress = 4.55M;
const decimal TaxRate = 0.0575M; // 5.75%
// Customer personal infoirmation
string CustomerName, HomePhone;
// Unsigned numbers to represent cleaning items
uint NumberOfShirts, NumberOfPants, NumberOfDresses;
// Each of these sub totals will be used for cleaning items
decimal SubTotalShirts, SubTotalPants, SubTotalDresses;
// Values used to process an order
decimal TotalOrder, TaxAmount, SalesTotal;
decimal AmountTended, Difference;
Console.WriteLine("-/- Georgetown Cleaning Services -/-");
// Request customer information from the user
Console.Write("Enter Customer Name: ");
CustomerName = Console.ReadLine();
Console.Write("Enter Customer Phone: ");
HomePhone = Console.ReadLine();
// Request the quantity of each category of items
Console.Write("Number of Shirts: ");
string strShirts = Console.ReadLine();
NumberOfShirts = uint.Parse(strShirts);
Console.Write("Number of Pants: ");
string strPants = Console.ReadLine();
NumberOfPants = uint.Parse(strPants);
Console.Write("Number of Dresses: ");
string strDresses = Console.ReadLine();
NumberOfDresses = uint.Parse(strDresses);
// Perform the necessary calculations
SubTotalShirts = NumberOfShirts * PriceOneShirt;
SubTotalPants = NumberOfPants * PriceAPairOfPants;
SubTotalDresses = NumberOfDresses * PriceOneDress;
// Calculate the "temporary" total of the order
TotalOrder = SubTotalShirts +
SubTotalPants +
SubTotalDresses;
// Calculate the tax amount using a constant rate
TaxAmount = TotalOrder * TaxRate;
// Add the tax amount to the total order
SalesTotal = TotalOrder + TaxAmount;
// Communicate the total to the user...
Console.Write("\nThe Total order is: ");
Console.WriteLine(SalesTotal);
// and request money for the order
Console.Write("Amount Tended? ");
AmountTended = decimal.Parse(Console.ReadLine());
// Calculate the difference owed to the customer
// or that the customer still owes to the store
Difference = AmountTended - SalesTotal;
Console.WriteLine();
// Display the receipt
Console.WriteLine("====================================");
Console.WriteLine("-/- Georgetown Cleaning Services -/-");
Console.WriteLine("====================================");
Console.Write("Customer: ");
Console.WriteLine(CustomerName);
Console.Write("Home Phone: ");
Console.WriteLine(HomePhone);
Console.WriteLine("------------------------------------");
Console.WriteLine("Item Type Qty Unit/Price Sub-Total");
Console.WriteLine("------------------------------------");
Console.Write("Shirts ");
Console.Write(NumberOfShirts);
Console.Write(" ");
Console.Write(PriceOneShirt);
Console.Write(" ");
Console.WriteLine(SubTotalShirts);
Console.Write("Pants ");
Console.Write(NumberOfPants);
Console.Write(" ");
Console.Write(PriceAPairOfPants);
Console.Write(" ");
Console.WriteLine(SubTotalPants);
Console.Write("Dresses ");
Console.Write(NumberOfDresses);
Console.Write(" ");
Console.Write(PriceOneDress);
Console.Write(" ");
Console.WriteLine(SubTotalDresses);
Console.WriteLine("------------------------------------");
Console.Write("Total Order: ");
Console.WriteLine(TotalOrder);
Console.Write("Tax Rate: ");
Console.Write(TaxRate * 100);
Console.WriteLine('%');
Console.Write("Tax Amount: ");
Console.WriteLine(TaxAmount);
Console.Write("Net Price: ");
Console.WriteLine(SalesTotal);
Console.WriteLine("------------------------------------");
Console.Write("Amount Tended: ");
Console.WriteLine(AmountTended);
Console.Write("Difference: ");
Console.WriteLine(Difference);
Console.WriteLine("====================================");
}
}
}
|
- Exécutez le programme et examinez le. Voici un
exemple :
-/- Georgetown Cleaning Services -/-
Enter Customer Name: Genevieve Alton
Enter Customer Phone: (202) 974-8244
Number of Shirts: 8
Number of Pants: 2
Number of Dresses: 3
The Total order is: 28.711125
Amount Tended? 30
====================================
-/- Georgetown Cleaning Services -/-
====================================
Customer: Genevieve Alton
Home Phone: (202) 974-8244
------------------------------------
Item Type Qty Unit/Price Sub-Total
------------------------------------
Shirts 8 0.95 7.60
Pants 2 2.95 5.90
Dresses 3 4.55 13.65
------------------------------------
Total Order: 27.15
Tax Rate: 5.7500%
Tax Amount: 1.561125
Net Price: 28.711125
------------------------------------
Amount Tended: 30
Difference: 1.288875
====================================
|
- Fermer la fenêtre de DOS
|
Demande des dates et du temps
|
|
Comme fait avec les nombres réguliers, vous pouvez
demander une valeur de date à l'utilisateur. Ceci est également fait
en demandant une corde à l'utilisateur. Voici un exemple :
using System;
namespace ValueRequests
{
class Exercise
{
static void Main()
{
string strDateHired;
strDateHired = Console.ReadLine();
}
}
}
Après que l'utilisateur ait entré la corde
vous pouvez alors la convertir en valeur date heure. Comme toute valeur
que vous demandez à l'utilisateur, la valeur date ou temps tapée par l'utilisateur
doit être valide,
autrement, le programme afficherait une erreur. Puisque les dates et les
temps suivent quelques règles pour leurs formats, vous devriez tâcher
de permettre à l'utilisateur de savoir ce que vous attendez de la valeur
à écrire.
Par défaut, si vous demandez seulement une date à l'utilisateur et l'utilisateur écrit une date valide, le compilateur
ajouterait la valeur de minuit à la date. Si vous demandez seulement le
temps à l'utilisateur et l'utilisateur écrit un temps valide, le
compilateur ajouterait la date du jour à la valeur. Plus tard, nous
apprendrons comment isoler seulement la date ou seulement l'heure.
|
|