Advertisement
zlatkov

TestBasedMenuTasks

Jan 13th, 2013
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.88 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 TextBaseMenuTasks
  8. {
  9.     class TextBaseMenuTasks
  10.     {
  11.         static void PrintMenu()
  12.         {
  13.             Console.WriteLine("+---------------------------------------------------+");
  14.             Console.WriteLine("|1. Reverse the digits of a non negative number.    |");
  15.             Console.WriteLine("|2. Calculate the avarage of a sequence of integers.|");
  16.             Console.WriteLine("|3. Solve a linear equation a * x + b = 0 .         |");
  17.             Console.WriteLine("+---------------------------------------------------+");
  18.             Console.Write("Choose a task number: ");
  19.         }
  20.  
  21.         static void ReadInput()
  22.         {
  23.             int task = int.Parse(Console.ReadLine());
  24.  
  25.             if (task <= 0 || task > 3)
  26.             {
  27.                 Console.WriteLine("The chosen task is invalid.");
  28.             }
  29.             else if (task == 1)
  30.             {
  31.                 Console.Write("Enter a non-negative number: ");
  32.                 int number = int.Parse(Console.ReadLine());
  33.  
  34.                 if (number < 0)
  35.                 {
  36.                     Console.WriteLine("The number you have entered is negative.");
  37.                 }
  38.                 else
  39.                 {
  40.                     int reversed = ReverseDigits(number);
  41.                     Console.WriteLine("The reversed number is: {0}", reversed);
  42.                 }
  43.             }
  44.             else if (task == 2)
  45.             {
  46.                 Console.Write("Enter the length of the integer sequence: ");
  47.                 int sequenceLength = int.Parse(Console.ReadLine());
  48.  
  49.                 if (sequenceLength <= 0)
  50.                 {
  51.                     Console.WriteLine("The length you have entered is invalid.");
  52.                 }
  53.                 else
  54.                 {
  55.                     int[] sequence = new int[sequenceLength];
  56.                     Console.WriteLine("Enter the elements of the sequence:");
  57.  
  58.                     for (int i = 0; i < sequenceLength; ++i)
  59.                     {
  60.                         sequence[i] = int.Parse(Console.ReadLine());
  61.                     }
  62.  
  63.                     int average = CalculateAverage(sequence);
  64.                     Console.WriteLine("The average is: {0}", average);
  65.                 }
  66.             }
  67.             else
  68.             {
  69.                 Console.WriteLine("Enter the coefficients of the equation:");
  70.                 Console.Write("a = ");
  71.                 double a = double.Parse(Console.ReadLine());
  72.  
  73.                 Console.Write("b = ");
  74.                 double b = double.Parse(Console.ReadLine());
  75.  
  76.                 if (a == 0.0)
  77.                 {
  78.                     Console.WriteLine("The equation can't be solved because a = 0");
  79.                 }
  80.                 else
  81.                 {
  82.                     double result = SolveEquation(a, b);
  83.                     Console.WriteLine("The root x = {0}", result);
  84.                 }
  85.             }
  86.         }
  87.  
  88.         static int ReverseDigits(int number)
  89.         {
  90.             int reversed = 0;
  91.             while (number > 0)
  92.             {
  93.                 reversed = (reversed * 10) + (number % 10);
  94.                 number /= 10;
  95.             }
  96.             return reversed;
  97.         }
  98.  
  99.         static int CalculateAverage(int[] sequence)
  100.         {
  101.             int sequenceLength = sequence.GetLength(0);
  102.             int sum = 0;
  103.             foreach (int x in sequence)
  104.             {
  105.                 sum += x;
  106.             }
  107.  
  108.             return sum / sequenceLength;
  109.         }
  110.  
  111.         static double SolveEquation(double a, double b)
  112.         {
  113.             double result = -b / a;
  114.             return result;
  115.         }
  116.  
  117.         static void Main(string[] args)
  118.         {
  119.             PrintMenu();
  120.             ReadInput();
  121.         }
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement