知识要点:

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

集合属性:.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();

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

  1. python3 - 商品管理的程序,商品信息都存在一个json串里面

    商品管理的程序,商品信息都存在一个json串里面 1.查询商品信息 #校验商品是否存在 2.新增商品 # #校验商品是否存在 #校验价格是否合法 3.修改商品信息 ##校验商品是否存在 if chic ...

  2. Python 爬取淘宝商品信息和相应价格

    !只用于学习用途! plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html) :获得商品价格和view_pri ...

  3. 微信小程序之商品发布+编辑功能(多图片上传功能)

    小程序的商品发布页面:功能有多图片上传 遇到的问题记录一下:1.uploadFile成功之后返回的参数是json字符串,一定要用JSON.parse转换为object格式 2.因为商品发布和编辑都是在 ...

  4. Linux C 程序 预处理,结构体(13)

    C语言预处理,结构体 C语言预处理命令1.宏定义 1.无参数宏 #define 标识符 字符串 #代表本行是编译预处理命名 习惯上,宏定义大写 代替一个字符串,介绍重复书写某个字符串的工作量 有意义的 ...

  5. NC14662 小咪买东西

    NC14662 小咪买东西 题目 题目描述 小咪是一个土豪手办狂魔,这次他去了一家店,发现了好多好多( \(n\) 个)手办,但他是一个很怪的人,每次只想买 \(k\) 个手办,而且他要让他花的每一分 ...

  6. 无法定位程序输入点 _glutCreateWindowWithExit于动态链接库glut32.dll上

    程序运行提示错误"无法定位程序输入点 _glutCreateWindowWithExit于动态链接库glut32.dll上",网上查了说是opengl的.lib和.dll版本过低, ...

  7. Duang的成长——使用造字程序输入生僻字

    使用造字程序输入生僻字 最近,一个字突然间火了起来,那就是——duang! (图片来自网络) 那么,问题来了!造字程序哪家强?(此处有掌声) 其实,微软早就考虑到各国文字的博大精深,在系统中集成了一个 ...

  8. 第十三章 调试及安全性(In .net4.5) 之 验证程序输入

    1. 概述 本章介绍验证程序输入的重要性以及各种验证方法:Parse.TryParse.Convert.正则表达式.JavaScriptSerializer.XML Schemas. 2. 主要内容 ...

  9. 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。

    编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 题目描述 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 输入描述 编写程序输入一个5x5的矩阵 ...

随机推荐

  1. (4)Redis 资料

    Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景. Redis Home http://redis.io/ MSOpenTech/re ...

  2. Intent官方教程(3)各属性介绍

    Building an Intent An Intent object carries information that the Android system uses to determine wh ...

  3. MySQL PLSQL Demo - 005.IF THEN ELSEIF THEN ELSE END IF

    drop procedure if exists p_hello_world; create procedure p_hello_world(in v_id int) begin ) then sel ...

  4. [C语言](*p)++与 ++(*p)与 *p++ 与 ++*p

    首先亮明个人观点,不要认为这样写都算写的不好,还强调大神一般不写这种代码,可读性不高 其实是你的C语言基础太差,读不懂,大神还真的就是这么写的.可以看看C语言库函数中的一些写法 *P++ :*和++都 ...

  5. 双击Button按钮后执行的函数

    在MFC中,当在用户界面拖入一个button后,双击会进入cpp文件,实现一个按钮点击的方法如: void CtestcontorlDlg::OnBnClickedButton() { : } 理解: ...

  6. HDU2112 HDU Today 最短路+字符串哈希

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. 遇到问题-----JS中设置window.location.href跳转无效(在a标签里或这form表单里)

    问题情况 JS中设置window.location.href跳转无效 代码如下: ? 1 2 3 4 5 6 7 8 <script type="text/javascript&quo ...

  8. [HRBUST1472]Coin(dp,计数)

    题目链接:http://acm-software.hrbust.edu.cn/problem.php?id=1472 题意:给n个硬币,面值随意.问恰好凑成m元的种类数(去掉重复). dp(i,j,k ...

  9. jquery获取当前时间

    一.获取当前时间 new Date()方法---------得到结果是当前电脑时间如2011-11-6,10:07 二.获取有个固定的时间方法---------var endtime=new Date ...

  10. json、javaBean、xml互转的几种工具介绍 (转载)

    工作中经常要用到Json.JavaBean.Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考. 现在主流的转换工具有json-lib.jackson.fastjson等,我为大家一一做简 ...