using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Calculator
{
class Program
{
static void Main(string[] args)
{
char menuItem;
Console.WriteLine("Welcome to the calculator");
menuItem = GetOrder();
while (menuItem != 'X')
{
ProcessOrder(menuItem);
menuItem = GetOrder();
}
Console.WriteLine("Thanks you, goodbye");
Console.ReadLine();
}
static char GetOrder()
{
char menuItem;
DisplayMenu();
menuItem = char.ToUpper(char.Parse(Console.ReadLine()));
while (menuItem != 'F' && menuItem != 'C' &&
menuItem != 'I' && menuItem != 'X')
{
Console.WriteLine("Error - Invalid menu item");
DisplayMenu();
menuItem = char.ToUpper(char.Parse(Console.ReadLine()));
}
return menuItem;
}
static void DisplayMenu()
{
Console.WriteLine("Please pick an item:");
Console.WriteLine("F - Factorial");
Console.WriteLine("C - Combinations");
Console.WriteLine("I - Fibonacci");
Console.WriteLine("X - Exit");
}
static void ProcessOrder(char menuItem)
{
switch (menuItem)
{
case 'F':
ProcessFactorial ();
break;
case 'I':
ProcessFibonacci ();
break;
case 'C':
ProcessCombinations();
break;
}
}
static void ProcessCombinations()
{
Int32 n, r, nChooseR;
n = GetUnsignedInt("Enter number of objects to choose from");
r = GetUnsignedInt("Enter number of objects to choose");
while (r > n)
{
Console.WriteLine("Error - must be less than or equal to {0}", n);
r = GetUnsignedInt("Enter number of objects to choose");
}
nChooseR = Combinations(n, r);
Console.WriteLine("There are {0} ways to choose {1} of {2} objects", nChooseR, r, n);
}
static Int32 Combinations(Int32 n, Int32 r)
{
return Factorial(n) / (Factorial(r) * Factorial(n - r));
}
static void ProcessFibonacci()
{
Int32 n, nthFibonacci;
n = GetUnsignedInt("Enter position of fibonacci sequence");
nthFibonacci = Fibonacci(n - 1);
Console.WriteLine("The fibonacci number at position {0} is {1}", n, nthFibonacci);
}
static Int32 Fibonacci(Int32 n)
{
Int32 count = 0, current = 0, previous = 1, previousPrevious = 0;
for (count = 0; count < n; count++)
{
previousPrevious = previous;
previous = current;
current = previous + previousPrevious;
}
return current;
}
static void ProcessFactorial()
{
Int32 n, nFactorial;
n = GetUnsignedInt("Enter n value");
nFactorial = Factorial(n);
Console.WriteLine("{0} factorial is {1}", n, nFactorial);
}
static Int32 Factorial(Int32 n)
{
Int32 nFactorial;
for (nFactorial = 1; n > 1; n--)
nFactorial *= n;
return nFactorial;
}
static Int32 GetUnsignedInt(string prompt)
{
Int32 n;
Console.WriteLine(prompt);
n = Int32.Parse(Console.ReadLine ());
while (n < 0)
{
Console.WriteLine("Error: enter unsigned value");
Console.WriteLine(prompt);
n = Int32.Parse(Console.ReadLine());
}
return n;
}
static void processgcd()
{
Int32 x, y, greatestCommonDivisor;
Console.WriteLine("Please enter the first value");
x = int.Parse(Console.ReadLine());
Console.WriteLine("Please enter the second value");
y = int.Parse(Console.ReadLine());
greatestCommonDivisor = Divisor(x, y);
Console.WriteLine("The greatest common divisor of {0} and {1} is {2}", x, y, greatestCommonDivisor);
}
static Int32 Divisor(Int32 x, y)
{
Int32 x, y, divident, divisor, remainder, previousRemainder;
divident = Math.Max(Math.Abs(x), Math.Abs(y));
divisor = Math.Min(Math.Abs(x), Math.Abs(y));
remainder = divident % divisor;
previousRemainder = divisor;
while (remainder == 0)
{
divident = divisor;
divisor = remainder;
previousRemainder = remainder;
remainder = divident % divisor;
}
return previousRemainder;
}
}
at this point i'm getting 6 error.
1 Identifier expected
2 }expected
attached is the flow chart for the GCD calculator.

New Topic/Question
Reply



MultiQuote





|