Advertisement
Guest User

pourthéo

a guest
Nov 21st, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.66 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace INTERRO
  8. {
  9.     class Program
  10.     {
  11.         static int nombre = 0;
  12.         static void Main(string[] args)
  13.         {
  14.             Menu();
  15.         }
  16.         static void Menu() {
  17.             Console.Clear();
  18.  
  19.             Console.WriteLine("1. Entrez un nombre >=2 et < 100 au clavier.");
  20.             Console.WriteLine("2. Afficher la suite de Syracuse correspondante au nombre entré.");
  21.             Console.WriteLine("3. Quitter");
  22.             try
  23.             {
  24.                 int choix = int.Parse(Console.ReadLine());
  25.  
  26.                 switch (choix)
  27.                 {
  28.                     case 1:
  29.                         Option1();
  30.                         break;
  31.                     case 2:
  32.                         Option2();
  33.                         break;
  34.                     case 3:
  35.                         Option3();
  36.                         break;
  37.                     default:
  38.                         Console.WriteLine("Erreur, veuillez rentrer 1, 2 ou 3. Retour au menu."); //n'autorise que les chiffres 1, 2 ou 3
  39.                         Console.ReadKey();
  40.                         Menu();
  41.                         break;
  42.                 }
  43.  
  44.             }
  45.             catch (FormatException)
  46.             {
  47.                 Console.WriteLine("Veuillez rentrer un nombre entier compris entre 1 et 3. Retour au menu."); //n'accepte pas la saisie de lettres, etc.
  48.                 Console.ReadKey();
  49.                 Menu();
  50.             }
  51.         }
  52.  
  53.         static void Option1() //début point 1
  54.         {
  55.             Console.Clear();
  56.             Console.WriteLine("1. Entrez un nombre >=2 et < 100 au clavier.");
  57.             nombre = int.Parse(Console.ReadLine());
  58.  
  59.             if (nombre >= 2 && nombre < 100)
  60.             {
  61.                 Console.WriteLine("Valeur acceptée, retour au menu");
  62.                 Console.ReadKey();
  63.                 Menu();
  64.             }
  65.             else
  66.             {
  67.                 Console.WriteLine("Valeur refusée.");
  68.                 nombre = 0;
  69.                 Console.ReadKey();
  70.                 Option1();
  71.             }
  72.         } //fin point 1
  73.  
  74.         static void Option2() //début point 2
  75.         {
  76.             if(nombre != 0) //oblige l'utilisateur à commencer par le point 1
  77.             {
  78.                 Console.Clear();
  79.  
  80.                 Console.WriteLine("Suite de Syracuse du nombre " + nombre + " :");
  81.                 Console.WriteLine("");
  82.                 while (nombre > 1)
  83.                 {
  84.                     Console.WriteLine(nombre);
  85.  
  86.                     if ((nombre % 2) == 0)
  87.                     {
  88.                         nombre = nombre / 2;
  89.                     }
  90.                     else if ((nombre % 2) != 0)
  91.                     {
  92.                         nombre = (nombre * 3) + 1;
  93.                     }
  94.                 }
  95.  
  96.                 Console.WriteLine(nombre);
  97.                 Console.WriteLine("");
  98.                 Console.WriteLine("Appuyez sur une touche pour revenir au menu.");
  99.                 Console.ReadKey();
  100.                 Menu();
  101.             }
  102.             else
  103.             {
  104.                 Console.WriteLine("Erreur, veuillez commencer par l'étape 1."); //renvoie un message d'erreur si l'utilisateur commence par le point 2
  105.                 Console.ReadKey();
  106.                 Menu();
  107.             }
  108.         } //fin point 2
  109.  
  110.         static void Option3() //début point 3
  111.         {
  112.             Console.WriteLine("Appuyez sur une touche pour quitter le programme.");
  113.             Console.ReadKey();
  114.         } //fin point 3
  115.     }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement