您的位置:首页 > 其它

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

2015-04-14 15:57 537 查看
知识要点:

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

集合属性:.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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐