Касса для магазина пончиков Используя C # - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь создать кассовый аппарат с помощью C #. Стоимость пончиков зависит от количества купленных пончиков.

Например,

, если куплено меньше или равно 7 пончикам, то каждый пончик стоит 1,00.

, если приобретено менее 15 пончиков, каждый пончик стоит 90 центов

если приобретено меньше или равно 15 пончикам, каждый пончик стоит 75 центов.

Я должен взимать 13% налог, если приобретено менее 12 пончиков. Кроме того, 25 центов должны быть добавлены ко всем суммам заказа. Клиент также должен указать свое имя. Если клиент вводит недопустимое значение, программа должна отобразить «неверный ввод».

Это код, который я написал в настоящее время;

using System;

namespace Register
{
    class Program
    {
        static void Main(string[] args)
        {
            int donNum;
            const double coverCharge = 0.25;
            string customerLastName;
            const double tax = 1.13;
            double donCost;
            double total;


            do
            {

             Console.WriteLine("Hi, can I get your name for your order? ");
             customerLastName = Console.ReadLine();

            } while (false);


            do
            {

            Console.WriteLine("How many donut's would you like?");
            donNum = Convert.ToInt32(Console.ReadLine());

            } while (false);


            if (donNum >= 15)
            {
                donCost = 0.75;
                total = (donNum * donCost) + coverCharge;
            }
            else if (donNum > 12 && donNum < 15)
            {
                donCost = 0.90;
                total = (donNum * donCost) + coverCharge;
            }
            else if (donNum > 0 && donNum <= 7)
            {
                donCost = 1.00;
                total = ((donNum * donCost) * tax) + coverCharge;
            }
            else
            {
                Console.WriteLine("Invalid input! Please try again");   
            }



            Console.WriteLine("Your total for {0} donuts is {1}", donNum);

            Console.WriteLine("Your total cost of {0} donuts is {1}", donNum);
            Console.ReadKey();




        }
    }
}

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

// READ FIRST // Я правильно переписал программу, однако возникают определенные проблемы. // Ввод, включающий цифры или символы, все еще принимается как допустимый ввод. Однако я бы хотел, чтобы строки были действительными. // Отрицательные значения для целочисленного ввода действительны. Программа вычисляет входные данные и выводит «Недопустимая сумма заказа». Она должна выводить только строку текста, которая запрашивает под, чтобы ввести действительную сумму заказа.

с использованием System;

namespace Register {Класс Program {static void Main (string [] args) {

        int doNum;
        const double tax = 1.13;
        double total = 0;
        const double cost1 = 1.00;
        const double cost2 = 0.90;
        const double cost3 = 0.75;
        const double covChrg = 0.25;


        {
            Console.WriteLine("Hi, can I get your name for your order?");
            string custLastName = Console.ReadLine();
            Console.WriteLine("Hello, {0} welcome to Rich Hortons!", custLastName);


            //Asking for user input
            Console.WriteLine("How many donuts would you like to order?");

            //Validating input using the TryParse method within a while loop
            while (!int.TryParse(Console.ReadLine(), out doNum))
            {
                //Letting the user know that an invalid input was detected.
                Console.WriteLine("That was invalid. Enter a valid quantity ");
            }


            if (doNum > 0 && doNum <= 7)
            {
                total = cost1 * doNum * tax + covChrg;
            }
            else if (doNum > 7 && doNum < 12)
            {
                total = (cost2 * doNum)* tax + covChrg; 
            }
            else if (doNum >= 12 && doNum < 15)
            {
                total = cost2 * doNum + covChrg;
            }
            else if (doNum >= 15)
            {
                total = cost3 * doNum + covChrg;
            }
            else
            {
                Console.WriteLine("Invalid Order Amount");
            }


        }


        //Outputting the result to the user.
        Console.WriteLine("Your total cost is {0} ", total);

        //We are using the Console.ReadLine() below to ensure that the 
        Console.ReadLine();

    }
}

}

0 голосов
/ 02 октября 2019

Рассмотрим этот код:

using System;

namespace Register
{
    class Program
    {
        static void Main(string[] args)
        {
            int donNum;
            const double coverCharge = 0.25;
            string customerLastName;
            const double tax = 1.13;
            double donCost;
            double total;

            do
            {
                Console.WriteLine("Hi, can I get your name for your order? ");
                customerLastName = Console.ReadLine();
            } while (NameInvalid(customerLastName));

            do
            {
                Console.WriteLine("How many donut's would you like?");
                donNum = Convert.ToInt32(Console.ReadLine());

            } while (DonNumInvalid(donNum));

            if (donNum >= 15)
            {
                donCost = 0.75;
                total = (donNum * donCost) + coverCharge;
            }
            else if (donNum > 12 && donNum < 15)
            {
                donCost = 0.90;
                total = (donNum * donCost) + coverCharge;
            }
            else if (donNum > 0 && donNum <= 7)
            {
                donCost = 1.00;
                total = ((donNum * donCost) * tax) + coverCharge;
            }
            else
            {
                Console.WriteLine("Invalid input! Please try again");   
            }

            Console.WriteLine("Your total for {0} donuts is {1}", donNum);
            Console.WriteLine("Your total cost of {0} donuts is {1}", donNum);
            Console.ReadKey();
        }

        private bool NameInvalid(string name)
        {
            if (/*Check if name is valid*)
                return true

            return false;
        }

        private bool DonNumInvalid(int number)
        {
            if (/*Check if doughnut number  valid*)
                return true

            return false;
        }
    }
}

Теперь вы должны реализовать два частных метода для проверки значений name и donNum.

...