====== Activités sur les fonctions en C# - correction ======
==== Exercice 1 : ====
https://github.com/ctecher/FonctionCExercice1_cor.git
/**
* Exercice 1 : programme avec une fonction saisie() avec paramettre et qui retourne un résultat
* author : CT
* date : 11/2022
*/
using System;
namespace FonctionCExercice1_cor
{
internal class Program
{
///
/// Saisie de O ou N avec contrôle de saisie
///
/// Message à afficher
/// 1er caractère accepté
/// 2e caractère accepté
/// lettre saisie
static char saisie(string message, char valeur1, char valeur2)
{
char reponse;
do
{
Console.WriteLine();
Console.Write(message);
reponse = Console.ReadKey().KeyChar;
} while (reponse != valeur1 && reponse != valeur2);
return reponse;
}
static void Main(string[] args)
{
// Déclarations
float prix, total = 0;
char rep;
// demande si un prix est à saisir
rep = saisie("Avez-vous un prix à saisir ? (O/N) ", 'O', 'N');
// Boucle sur la saisie des prix et le cumul
while (rep == 'O')
{
// saisie d'un nouveau prix
Console.Write(" Entrez un prix = ");
prix = float.Parse(Console.ReadLine());
// cumul
total = total + prix;
// demande si un nouveau prix est à saisir
rep = saisie("Avez-vous un prix à saisir ? (O/N) ", 'O', 'N');
}
// Affichage du total
Console.WriteLine(" total des prix = " + total);
Console.ReadLine();
}
}
}
==== Exercice 2 : ====
https://github.com/ctecher/FonctionCExercice2_cor.git
/**
* Exercice 2 : ajout de la fonction saisie dans un programme
* author : CT
* date : 11/2021
*/
using System;
namespace FonctionCExercice2
{
internal class Program
{
///
/// Saisie de L ou E avec contrôle de saisie
///
/// Message à afficher
/// 1er caractère accepté
/// 2e caractère accepté
/// lettre saisie
static char saisie(string message, char valeur1, char valeur2)
{
char reponse;
do
{
Console.WriteLine();
Console.Write(message);
reponse = Console.ReadKey().KeyChar;
} while (reponse != valeur1 && reponse != valeur2);
return reponse;
}
static void Main(string[] args)
{
// Déclaration
char statut;
// demande su statut
statut = saisie("Etes-vous lycéen(ne) ou étudiant(e) ? (L/E) ", 'L', 'E');
// Affichage du message personnalisé
Console.WriteLine();
if (statut == 'L')
{
Console.WriteLine("Bonjour lycée(ne).");
}
else
{
Console.WriteLine("Bonjour étudiant(e)");
}
Console.ReadLine();
}
}
}