例题:超市买东西的程序。输入商品信息,计算价格,价格满多少元打折。这道题用到结构体,集合,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();
例题:超市买东西的程序。输入商品信息,计算价格,价格满多少元打折。这道题用到结构体,集合,for循环,if else语句的更多相关文章
- python3 - 商品管理的程序,商品信息都存在一个json串里面
商品管理的程序,商品信息都存在一个json串里面 1.查询商品信息 #校验商品是否存在 2.新增商品 # #校验商品是否存在 #校验价格是否合法 3.修改商品信息 ##校验商品是否存在 if chic ...
- Python 爬取淘宝商品信息和相应价格
!只用于学习用途! plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html) :获得商品价格和view_pri ...
- 微信小程序之商品发布+编辑功能(多图片上传功能)
小程序的商品发布页面:功能有多图片上传 遇到的问题记录一下:1.uploadFile成功之后返回的参数是json字符串,一定要用JSON.parse转换为object格式 2.因为商品发布和编辑都是在 ...
- Linux C 程序 预处理,结构体(13)
C语言预处理,结构体 C语言预处理命令1.宏定义 1.无参数宏 #define 标识符 字符串 #代表本行是编译预处理命名 习惯上,宏定义大写 代替一个字符串,介绍重复书写某个字符串的工作量 有意义的 ...
- NC14662 小咪买东西
NC14662 小咪买东西 题目 题目描述 小咪是一个土豪手办狂魔,这次他去了一家店,发现了好多好多( \(n\) 个)手办,但他是一个很怪的人,每次只想买 \(k\) 个手办,而且他要让他花的每一分 ...
- 无法定位程序输入点 _glutCreateWindowWithExit于动态链接库glut32.dll上
程序运行提示错误"无法定位程序输入点 _glutCreateWindowWithExit于动态链接库glut32.dll上",网上查了说是opengl的.lib和.dll版本过低, ...
- Duang的成长——使用造字程序输入生僻字
使用造字程序输入生僻字 最近,一个字突然间火了起来,那就是——duang! (图片来自网络) 那么,问题来了!造字程序哪家强?(此处有掌声) 其实,微软早就考虑到各国文字的博大精深,在系统中集成了一个 ...
- 第十三章 调试及安全性(In .net4.5) 之 验证程序输入
1. 概述 本章介绍验证程序输入的重要性以及各种验证方法:Parse.TryParse.Convert.正则表达式.JavaScriptSerializer.XML Schemas. 2. 主要内容 ...
- 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。
编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 题目描述 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 输入描述 编写程序输入一个5x5的矩阵 ...
随机推荐
- easyui.combotree.search.js
(function ($) { //combotree可编辑,自定义模糊查询 $.fn.combotree.defaults.editable = true; $.extend($.fn.combot ...
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
[csharp] view plain copy print? //方法一 利用DataTable中的Compute方法 例如:1*2-(4/1)+2*4=6 , , , ); DataTable d ...
- CentOS6.5下安装wine OK
这篇文章主要记录了如何在CentOS 6.5上安装Wine 1.7.24开发版 1.安装需要的软件包 # yum groupinstall ‘Development Tools‘ # yum inst ...
- 回车和换行在linux下和windows下
今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了. 1. 在计算机还没有出现之前,有一种叫 ...
- SpringMVC整合Tiles框架
SpringMVC整合Tiles框架 Tiles组件 tiles-iconfig.xml Tiles是一个JSP布局框架. Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离 ...
- 5-JS函数
函数 定义函数 JS中有3种定义函数的方法: 函数声明 用函数声明定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { re ...
- 【Linux】linux常用基本命令
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显示日 ...
- 【转载】COM的多线程模型
原文:COM的多线程模型 COM的多线程模型是COM技术里头最难以理解的部分之一,很多书都有涉及但是都没有很好的讲清楚.很多新人都会在这里觉得很迷惑,google大神能搜到一篇vckbase上的文章, ...
- 【转载】ODBC, OLEDB, ADO, ADO.Net的演化简史
原文:ODBC, OLEDB, ADO, ADO.Net的演化简史 1.演变历史 它们是按照这个时间先后的顺序逐步出现的,史前->ODBC->OLEDB->ADO->ADO.N ...
- CHECKBOX_CHECKED built-in in Oracle D2k Forms
CHECKBOX_CHECKED built-in in Oracle D2k Forms DescriptionA call to the CHECKBOX_CHECKED function ret ...