zoukankan      html  css  js  c++  java
  • 传值、传址、结构体

    传值:将变量名中存放的值进行传输

    private void 传值(int a)
            {
                a += 10;
            }
            static void Main(string[] args)
            {
                    //实例化   初始化   这个类
                    Program hs = new Program();
                    int a = 0;
                    hs.传值(a);//a不变
            }  

    以上使用out传址 打印出来的值是15

    但如果需要函数返回多个值时,可以用减号拼接起来,返回后用split分割开

    public string Fanhui(string name , string sex,int age)
            {
                age += 10;
                return name + "-"+sex +"-"+ age;
            }
    string s = hanshu.Fanhui("张三", "", 33);
                string[] aa = s.Split('-');
                foreach (string q in aa)
                {
                    Console.WriteLine(q);
                }

    结构体:自定义类型 值类型
    一组变量的组合
    需要定义的位置 class里面 main函数外面
    里面包含的变量可以是多种数据类型的

    例:学生信息的结构体:学号  姓名 性别 分数:

    struct Student
            {
                public int xuehao;
                public string name;
                public string sex;
                public Score score;
            }
    ArrayList al = new ArrayList();
                Console.Write("请输入班级人数:");
                int a = int.Parse(Console.ReadLine());
                for (int i = 0; i < a; i++)
                {
                    Student sst = new Student();
                    Console.Write("请输入第{0}个学生的学号:", (i + 1));
                    sst.xuehao = int.Parse(Console.ReadLine());
                    Console.Write("请输入第{0}个学生的姓名:", (i + 1));
                    sst.name = Console.ReadLine();
                    Console.Write("请输入第{0}个学生的性别:", (i + 1));
                    sst.sex = Console.ReadLine();
                    Console.Write("请输入第{0}个学生的分数:", (i + 1));
                    sst.score = double.Parse(Console.ReadLine());
                    al.Add(sst);
                }
                Console.WriteLine("所有人员信息输入完毕!请按回车键开始打印!");
                Console.ReadLine();
    
                for (int i = 0; i < al.Count; i++)
                {
                    Student sst = (Student)al[i];
                    Console.WriteLine("第{0}个学生的学号是:{1},姓名是{2},性别是{3},分数是{4}。", (i + 1), sst.xuehao, sst.name, sst.sex, sst.score);
                }

    存储下经典题目:

    练习:超市购物问题

    去超市选择要购买的商品            

    0.开始购买            

    1.洗发水   15元            

    2.牙刷      5元            

    3.可口可乐 3元            

    4.水杯      12元            

    5.毛巾      6元            

    6.结算

    输入想要的物品编号,输入每种商品需要买几件

    结算:需要列出来商品名称、单价、数量、

    总价以及所有物品总价,结账时间

    然后输入交给收银员的钱数,

    不够,请继续交钱

    够,结算,找钱

     Console.WriteLine("0.开始购买");
                //Console.WriteLine("1.洗发水      15元");
                //Console.WriteLine("2.牙刷        5元");
                //Console.WriteLine("3.可口可乐    3元");
                //Console.WriteLine("4.水杯        12元");
                //Console.WriteLine("5.毛巾        6元");
                Console.WriteLine("6.结算(退出)");
    
                Console.Write("请输入号码:");
                for (int i = 0; i == 0; )
                {
                    int aa = int.Parse(Console.ReadLine());
                    if (aa == 0)
                    {
    
                        ArrayList al = new ArrayList();
                        int biao1 = 0;
                        for (int j = 0; j == 0; )
                        {
                            bool biaocuo = true;
                            //string[] array = new string[3];
                            Shop array = new Shop();
                            Console.Clear();
                            if (al.Count > 0)
                            {
                                for (int k = 0; k < al.Count; k++)
                                {
                                    //string[] yigou = (string[])al[k];
                                    Shop yigou = (Shop)al[k];
                                    //Console.WriteLine("您选择了{0},单价为{1}元,数量为{2}。", yigou[0], yigou[1], yigou[2]);
                                    Console.WriteLine("您选择了{0},单价为{1}元,数量为{2}。", yigou.name, yigou.price, yigou.shuliang);
                                }
                            }
                            Console.WriteLine("1.洗发水      15元");
                            Console.WriteLine("2.牙刷        5元");
                            Console.WriteLine("3.可口可乐    3元");
                            Console.WriteLine("4.水杯        12元");
                            Console.WriteLine("5.毛巾        6元");
                            Console.WriteLine("6.结算");
    
                            Console.Write("请输入选项:");
                            int aaa = int.Parse(Console.ReadLine());
                            switch (aaa)
                            {
                                case 1:
                                    //array[0] = "洗发水";
                                    //array[1] = "15";
                                    array.name = "洗发水";
                                    array.price = 15;
                                    biao1++;
                                    Console.Write("您选择的是洗发水,请问您需要多少瓶?");
                                    break;
                                case 2:
                                    //array[0] = "牙刷";
                                    //array[1] = "5";
                                    array.name = "牙刷";
                                    array.price = 5;
                                    biao1++;
                                    Console.Write("您选择的是牙刷,请问您需要多少支?");
                                    break;
                                case 3:
                                    //array[0] = "可口可乐";
                                    //array[1] = "3";
                                    array.name = "可口可乐";
                                    array.price = 3;
                                    biao1++;
                                    Console.Write("您选择的是可口可乐,请问您需要多少瓶?");
                                    break;
                                case 4:
                                    //array[0] = "水杯";
                                    //array[1] = "12";
                                    array.name = "水杯";
                                    array.price = 12;
                                    biao1++;
                                    Console.Write("您选择的是水杯,请问您需要多少个?");
                                    break;
                                case 5:
                                    //array[0] = "毛巾";
                                    //array[1] = "6";
                                    array.name = "毛巾";
                                    array.price = 6;
                                    biao1++;
                                    Console.Write("您选择的是毛巾,请问您需要多少块?");
                                    break;
                                case 6:
                                    if (biao1 == 0)
                                    {
                                        Console.Clear();
                                        Console.WriteLine("您什么也没有购买,您已经走出了超市。。。");
                                        j = 1;
                                        i = 1;
                                    }
                                    else
                                    {
                                        double zong = 0;
                                        for (int k = 0; k < al.Count; k++)
                                        {
                                            //string[] yigou = (string[])al[k];
                                            Shop yigou = (Shop)al[k];
                                            //Console.WriteLine("您选择了{0},单价为{1}元,数量为{2},单品总价:{3}。", yigou[0], yigou[1], yigou[2], (int.Parse(yigou[1]) * int.Parse(yigou[2])));
                                            Console.WriteLine("您选择了{0},单价为{1}元,数量为{2},单品总价:{3}。", yigou.name, yigou.price, yigou.shuliang, yigou.price*yigou.shuliang);
                                            //zong += int.Parse(yigou[1]) * int.Parse(yigou[2]);
                                            zong += yigou.price * yigou.shuliang;
                                        }
                                        Console.Write("总价:" + zong + "元。请缴费:");
                                        double erjiao = 0;
                                        for (int l = 0; l == 0; )
                                        {
                                            double jiao = double.Parse(Console.ReadLine());
                                            jiao += erjiao;
                                            if (jiao >= zong)
                                            {
                                                Console.WriteLine("交易成功,交易时间为:" + DateTime.Now);
                                                Console.WriteLine("找零:" + (jiao - zong) + "元。");
                                                Console.WriteLine("谢谢惠顾!再见!");
                                                l = 1;
                                                j = 1;
                                                i = 1;
                                            }
                                            else
                                            {
                                                erjiao = jiao;
                                                Console.Write("缴费金额不足,请继续缴费:");
                                            }
                                        }
                                    }
                                    break;
                                default:
                                    Console.WriteLine("查无此商品!请按回车键继续选择商品!");
                                    Console.ReadLine();
                                    biaocuo = false;
                                    break;
                            }
                            if (i == 0 && j == 0 && biaocuo == true)
                            {
                                //array[2] = Console.ReadLine();
                                array.shuliang = int.Parse(Console.ReadLine());
                                //Console.WriteLine("您选择了{0},单价为{1}元,数量为{2}。请按回车键继续购买!", array[0], array[1], array[2]);
                                Console.WriteLine("您选择了{0},单价为{1}元,数量为{2}。请按回车键继续购买!", array.name, array.price, array.shuliang);
                                al.Add(array);
                                Console.ReadLine();
                            }
                        }
                    }
                    else if (aa == 6)
                    {
                        Console.Clear();
                        Console.WriteLine("您什么也没有购买!您已走出超市。。。");
                        i = 1;
                    }
                    else
                    {
                        Console.Write("输入有误!请重新输入:");
                    }
                }
  • 相关阅读:
    密码系统的安全性
    liboqs-量子安全密码算法开源C库
    密码基础知识(1)
    同态加密
    NTL 库函数
    以太坊相关的区块链知识
    53字符流中第一个不重复的字符
    基础小知识总结
    52表示数值的字符串 记忆
    HIHOcoder编程总结
  • 原文地址:https://www.cnblogs.com/jiuban2391/p/5981326.html
Copyright © 2011-2022 走看看