• 例题:超市买东西的程序。输入商品信息,计算价格,价格满多少元打折。这道题用到结构体,集合,for循环,if else语句


     知识要点:

    集合和数组的区别:数组是连续的,同一类型的一块区域,而集合可以是不连续的,多种数据类型的。

    集合属性:.count

    方法:.Add()  将对象添加到ArrayList中实际包含的元素数

    .Clear()   从移除所有元素

    .Clonr()  创建的浅表副本

    .Contains() 确定某元素是否在中

    .IndexOf()  已重载

    .Sort()  已重载。对或它是我一部分中的元素进行排序,升序

    .Reverse() 翻转整个集合


        class Program
        {
            struct shangpin //定义一个shangpin的结构体。结构体是一个变量组,将一组变量放在一起,其实就是一个自定义的集合,里面可以包含各种类型的数据,用法和集合一样。
            {
                public string mingcheng;//这是定义一个结构体的格式,里面包含多种数据类型,如整形int,字符串string 。如果结构体内定义在main函数中,一般定义在main函数前面,前面加上public代表公用变量
                public int shuliang;
                public double jiage;
            }
            static void Main(string[] args)
            {
                Console.WriteLine("欢迎光临小小超市");//输出第一句话,没什么意义,但可以看出对写这个代码的认真程度。

     while (true)            

    {

                    ArrayList al = new ArrayList();//定义一个al的集合

                    shangpin sp = new shangpin();//把结构体初始化,初始化一个结构体的名字sp

                    Console.Write("请输入顾客所购商品名称:");//输出  

                    sp.mingcheng = Console.ReadLine();//代入

                    Console.Write("请输入顾客所购商品价格:");               

                    sp.jiage = Convert.ToDouble(Console.ReadLine());                

                     Console.Write("请输入顾客所购商品数量:");               

                     sp.shuliang = Convert.ToInt32(Console.ReadLine());

                     al.Add(sp);//把sp的值全部放在al这个集合里,下面可以直接取值使用,集合里可以放多种类型的数据

                    Console.Write("您是否要结账(Y,N):");
                    if (Console.ReadLine().ToUpper() == "Y")
                    {
                        break;
                    }//如果结账,跳出循环,计算价格
                    else//如果不结账,继续买东西
                    {
                        double sum = 0;//算总价,定义初始值为0
                        for (int i = 0; i < al.Count ; i++)//在al集合里提取数据,count计算集合中元素的个数
                        {
                            sum = ((shangpin)al[i]).jiage * ((shangpin)al[i]).shuliang; //计算价格算式,价格乘数量
                        }

                         if (sum<100)
                        {
                            Console.WriteLine("顾客本次需要付的款为"+sum*0.95+"元");//输出结果,如果满一百打九五折,可以复习一下if,else语句的使用
                        }
                   
                    }
                }
                Console.WriteLine("欢迎下次再来");
                Console.ReadLine();

                 

  • 相关阅读:
    QT开发之旅一DS7400主机调试工具
    读《程序员,你伤不起》杂感(附带分享两个项目源码)
    这些年过上幸福生活的程序员(中篇)
    这些年过上幸福生活的程序员(上篇)
    如果第三方数据表与系统数据库里的表名格式不一致的解决方案
    数据库设计原则
    MYSQL密码设置
    关于phpmyadmin #1045无法登陆服务器的问题
    TP快捷函数
    跨控制器调用
  • 原文地址:https://www.cnblogs.com/275147378abc/p/4425146.html
Copyright © 2020-2023  润新知