Untitled

mail@pastecode.io avatar
unknown
csharp
10 months ago
9.6 kB
3
Indexable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RepetitionsuppgifterInnanSlutprojektet
{
    internal class Program
    {
        static string[,] board = new string[7, 6];
        static void Main(string[] args)
        {
            Menu();
        }

        private static void Menu()
        {
            bool isRunning = true;
            do
            {
                Console.WriteLine("1. Uppgift 1\n" +
                    "2. Uppgift 2\n" +
                    "3. Uppgift 3\n" +
                    "4. Uppgift 4\n" +
                    "5. Uppgift 5\n" +
                    "0. Avsluta\n");
                string choice = Console.ReadLine();
                switch (choice)
                {
                    case "1":
                        Uppgift1();
                        Sleeper();
                        break;
                    case "2":
                        Uppgift2();
                        Sleeper();
                        break;
                    case "3":
                        Uppgift3();
                        Sleeper();
                        break;
                    case "4":
                        Uppgift4();
                        Sleeper();
                        break;
                    case "5":
                        Uppgift5();
                        Sleeper();
                        break;
                    case "0":
                        isRunning = false;
                        break;
                    default:
                        Console.WriteLine("Felatig inmatning!\nVäligen välj någon av siffrorna");
                        Sleeper();
                        break;
                }
            } while (isRunning);
        }

        private static void Sleeper()
        {
            Console.WriteLine("Tryck på valfri tangen för att komma till menyn");
            Console.ReadKey();
            Console.Clear();
        }

        private static void Uppgift1()
        {
            Console.WriteLine("Ange förnamn");
            string fName = Console.ReadLine();
            Console.WriteLine("Ange efternamn");
            string sName = Console.ReadLine();
            Console.WriteLine("Ange ålder");
            int age = 0;
            try
            {
                age = int.Parse(Console.ReadLine());
            }
            catch (FormatException)
            {
                age = 0;
            }
            int yearsTo21 = 21 - age;
            if (yearsTo21 > 0)
            {
                Console.WriteLine("Hej " + fName + " " + sName +
                    "\nDu är 21 om " + yearsTo21 + " år");
            }
            else
            {
                Console.WriteLine("Hej " + fName + " " + sName +
                    "\nDu är över 21år");
            }
        }
        private static void Uppgift2()
        {
            do
            {
                Console.WriteLine("Ange användarnamn");
                string username = Console.ReadLine();
                Console.WriteLine("Ange Lösenord");
                string password = Console.ReadLine();

                if (username.Equals("Admin") && password.Equals("abc123"))
                {
                    Console.WriteLine("Grattis du är nu inloggad");
                    break;
                }
                else
                {
                    Console.WriteLine("Felaktigt användarnamn och/eller lösenord");
                    Console.WriteLine("Testa med Admin och abc123");
                }
            } while (true);
        }

        private static void Uppgift3()
        {
            Console.WriteLine("Mata in ett tal som du vill räkna med. t.ex. 12,5");
            string sNumber1 = Console.ReadLine();
            Console.WriteLine("Mata in ett nytt tal som du vill räkna med. t.ex. 12,5");
            string sNumber2 = Console.ReadLine();

            double number1 = NumberConverter(sNumber1);
            double number2 = NumberConverter(sNumber2);

            Console.WriteLine("Vad vill du räkna med?\n" +
                "Ange + - / eller * för att göra en beräkning.");
            string sign = Console.ReadLine();
            string svar = "";
            switch (sign)
            {
                case "+":
                    svar = Addition(number1, number2);
                    break;
                case "/":
                    svar = Division(number1, number2);
                    break;
                case "-":
                    svar = Subtraktion(number1, number2);
                    break;
                case "*":
                    svar = Multiplikation(number1, number2);
                    break;
                default:
                    break;
            }
            Console.WriteLine("Svar: " + svar);
        }

        private static string Addition(double number1, double number2)
        {
            return (number1 + number2).ToString();
        }

        private static string Division(double number1, double number2)
        {
            if (number2 == 0)
            {
                return "Går ej att dividera med 0";
            }
            return (number1 / number2).ToString();
        }

        private static string Subtraktion(double number1, double number2)
        {
            return (number1 - number2).ToString();
        }

        private static string Multiplikation(double number1, double number2)
        {
            return (number1 * number2).ToString();
        }

        private static double NumberConverter(string sNumber)
        {
            while (true)
            {
                try
                {
                    double number = double.Parse(sNumber);
                    return number;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Ditt ena inmatning var felaktig " + sNumber +
                        "Vänligen mata in den på nytt");
                    sNumber = Console.ReadLine();
                }
            }
        }

        private static void Uppgift4()
        {
            Console.WriteLine("Mata in en text som du vill undersöka.");
            string input = Console.ReadLine();
            CheckInput(input);

            Console.WriteLine("Vill du dela upp texten i siffror och text?(Y/N)");
            string choic = Console.ReadLine().ToLower();
            if (choic.Equals("y"))
            {
                string[] devided = DevideNumberAndString(input);
                foreach (string item in devided)
                {
                    Console.WriteLine(item);
                }
            }
        }

        private static string[] DevideNumberAndString(string input)
        {
            string[] devider = new string[2];
            for (int i = 0; i < input.Length; i++)
            {
                if ((char)(input[i]) >= 48 && (char)(input[i]) <= 57)
                {
                    devider[1] += input[i];
                }
                else
                {
                    devider[0] += input[i];
                }
            }
            return devider;

        }

        private static void CheckInput(string input)
        {
            bool text = false;
            bool number = false;
            for (int i = 0; i < input.Length; i++)
            {
                if ((char)(input[i]) >= 48 && (char)(input[i]) <= 57)
                {
                    number = true;
                }
                else
                {
                    text = true;
                }
            }
            if (text && number)
            {
                Console.WriteLine("Inmatnignen innehåller både text och siffror");
            }
            else if (text)
            {
                Console.WriteLine("Inmatnignen innehåller bara text");
            }
            else
            {
                Console.WriteLine("Inmatnignen innehåller bara siffror");
            }
        }

        private static void Uppgift5()
        {
            PrintBoard();
            InsertSymbol("X");
            Sleeper();
            PrintBoard();
            InsertSymbol("X");
            Sleeper();
            PrintBoard();
            InsertSymbol("X");
        }

        private static void InsertSymbol(string v)
        {
            Console.WriteLine("Mata in en x och y koordinat. ex. \"4,5\"");
            string koordinater = Console.ReadLine();
            int x = int.Parse(koordinater[0].ToString()) - 1;
            int y = int.Parse(koordinater[2].ToString()) - 1;
            board[x, y] = v;
        }

        private static void PrintBoard()
        {
            for (int x = 0; x < 7; x++)
            {
                for (int y = 0; y < 6; y++)
                {
                    if (board[x, y] == null)
                    {
                        Console.Write(" [ ] ");
                    }
                    else
                    {
                        Console.Write(" [" + board[x, y] + "] ");
                    }
                }
                Console.WriteLine();
            }
        }

        
    }
}
Leave a Comment