解决 OOP项目帮助和所需信息

Xandro_2000

新成员
已加入
2020年12月29日
留言内容
2
编程经验
Beginner
您好

我有一个模拟考试要练习,我的真实考试将在两周内完成。我正在学习成为一名老师(这是我参加的一门额外的课),但是有了电晕,我要做的事情很多,包括实习等。所以我确实没有太多时间练习C Sharp。我只了解基础知识,对于本模拟考试(在本段中进行检查),我仅创建了类(桶,normalBarrel,reserveBarrel和程序本身)。我不知道如何开始,我知道我首先要开始制作所有桶(自动),然后进行消耗,填充等。有人可以向我解释该怎么做或编写示例代码。谢谢!


模拟考试
饮料消费者想要一个程序来监视他的酒桶。他可以购买两种不同的产品,产品A和产品B。该程序需要以下输入:
您想要多少桶产品A?
3
您想要多少桶产品B?
1
完成了
您可以消费产品A和B。
使用此数据会自动创建正确数量的桶对象。对于创建了桶对象的每种产品,每个桶的容量和含量(以升表示),还创建了一个备用桶,其容量是该产品所有桶的总容量的两倍。
饮料消费者可以消费这些产品(以升表示),从而所消耗的桶形物体的含量(以升表示)随着所消耗的升量而减少。
当桶形物品的容量小于其容量的50%时,该桶形物品的内容将补充有该产品的备用桶形物品。
第1页



每个桶都有警报功能,每次消耗或填充后都会进行检查。警报可以打印以下消息之一:
  • - 我吃饱了
  • -我是空的
  • -我需要补充
    备用桶具有“显示内容”方法,可显示备用桶的当前内容。每次从储备桶中消费完后,都会调用此方法。备用桶还具有具有以下功能的警报:
-我是空的
最后但并非最不重要。我做假人证明!您所消耗的物品不能超过桶中的物品。填充桶的容量不能超过桶的容量。如果执行这些选项之一,则“填充”和“消耗”功能将自动采用各自的最小值和最大值。
每个桶对象具有以下属性和方法:
  • -名称或ID
  • -类型(产品A或B)
  • -容量(以升表示)
  • -含量(以升表示)
    每个备用桶对象具有以下属性和方法:
  • -名称或ID
  • -类型(产品A或B)
  • -容量(以升表示)
  • -含量(以升表示)
-填充(以升表示)
-消耗(以升表示)-警报→我已经吃饱了
→我空了→我需要补充
-showContent(以升表示)-消耗(以升表示)
-警报→我很空

编写自己的main(),在其中演示所有这些功能都起作用。您将在以下事项上得到评估:
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,497
地点
弗吉尼亚州切萨皮克
编程经验
10+
有人可以向我解释该怎么做或为我编写示例代码。
不幸的是,我们既不是代码编写服务,也不是教程服务。我们可以为您提供现有代码,如果您告诉我们您遇到了什么问题,我们可以为您提供帮助,但是您需要向我们展示您的代码。

通常,编程的方法是将大问题分解为小问题,然后解决小问题。由于互动中描述的详细程度,您的模拟考试可能看起来不堪重负,但是如果您一次处理每个小动作和每个属性,那么所有这一切都是可行的。
 

Xandro_2000

新成员
已加入
2020年12月29日
留言内容
2
编程经验
Beginner
您好

我几乎不知情,而且我坚持做运动。有人可以给我有关如何前进的信息。代码正在练习中,可以通过zip下载。
行使:

饮料消费者想要一个程序来监视他的酒桶。他可以购买两种不同的产品,产品A和产品B。该程序需要以下输入:
您想要多少桶产品A?
3
您想要多少桶产品B?
1
完成了
您可以消费产品A和B。

使用此数据会自动创建正确数量的桶对象。对于创建了桶对象的每种产品,每个桶的容量和含量(以升表示),还创建了一个备用桶,其容量是该产品所有桶的总容量的两倍。

饮料消费者可以消费这些产品(以升表示),从而所消耗的桶形物体的含量(以升表示)随着所消耗的升量而减少。

当桶形物品的容量小于其容量的50%时,该桶形物品的内容将补充有该产品的备用桶形物品。

每个桶都有警报功能,每次消耗或填充后都会进行检查。警报可以打印以下消息之一:
- 我吃饱了
-我是空的
-我需要补充

备用桶具有“显示内容”方法,可显示备用桶的当前内容。每次从储备桶中消费完后,都会调用此方法。备用桶还具有具有以下功能的警报:
-我是空的

最后但并非最不重要。我做假人证明!您所消耗的物品不能超过桶中的物品。填充桶的容量不能超过桶的容量。如果执行这些选项之一,则“填充”和“消耗”功能将自动采用各自的最小值和最大值。

每个桶对象具有以下属性和方法:
-名称或ID
-类型(产品A或B)
-容量(以升表示)
-含量(以升表示)

每个备用桶对象具有以下属性和方法:
-名称或ID
-类型(产品A或B)
-容量(以升表示)
-含量(以升表示)
-填充(以升表示)
-消耗(以升表示)
-警报→我吃饱了→我空了→我需要补充
-showContent(以升表示)-消耗(以升表示)
-警报→我很空

编写自己的main(),在其中演示所有这些功能都起作用。您将在以下事项上得到评估:


码:

C#:
using System;

namespace examenOpdracht
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int AskBarrels(string prod)
            {
                Console.Write("How many barrels '" + prod + "' do you want? \n");
                string inputaantal = Console.ReadLine();
                int aantal;
                bool success1 = int.TryParse(inputaantal, out aantal);
                while (!success1)
                {
                    Console.WriteLine("Invalid Input. Try again...");
                    Console.Write("Please enter a number: ");
                    inputaantal = Console.ReadLine();
                    success1 = int.TryParse(inputaantal, out aantal);
                }
                return aantal;
            }

            int aantalcola = AskBarrels("cola");
            int aantalfanta = AskBarrels("fanta");
            int totalaantal = aantalcola + aantalfanta;

            var ProdReserve = new ReserveBarrel[2];
            ProdReserve[0] = new ReserveBarrel("cola");
            ProdReserve[1] = new ReserveBarrel("fanta");

        }
    }
}






using System;
namespace examenOpdracht
{
    public class Barrel
    {
        public string Id;
        public string Type; //Cola of Fanta
        public double Capacity = 100; //Liter
        public double Content = 100; //Liter

        public void Consume(double n)
        {

        }


    }
}   






using System;
using System.Collections.Generic;

namespace examenOpdracht
{
    public class NormalBarrel : Barrel
    {

        public void Fill(double n)
        {

        }

        public void Alarm()
        {

        }

        public void normalBarrel(string prodID, string prodType)
        {
        Id = prodID;
        Type = prodType;
        Capacity = 100;
        Content = 100;

            foreach (ReserveBarrel Resv in ProdReserve)
            {
                if (Resv.Type == prodType)
                {
                Resv.Capacity = Resv.Capacity + Capacity;
                }
            }
        }
    }
}






using System;
namespace examenOpdracht
{
    public class ReserveBarrel : Barrel
    {

        public void ShowContent(double n)
        {

        }

        public void Alarm()
        {

        }

        public void reserveBarrel(string prodID, string prodType)  //constructor
        {
        Id = prodID;
        Type = prodType;
        Capacity = 0;
        Content = 0;
        }

    }
}
 

附件

  • Code.zip
    16.5 KB · 观看次数: 1
Last edited:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,497
地点
弗吉尼亚州切萨皮克
编程经验
10+
这个主题与一周前的帖子相同。合并线程...
 
最佳 底部