zoukankan      html  css  js  c++  java
  • 结构体 20140827

    一、定义

    结构体是自定义的新数据类型,所包含数据称为成员,成员数据可为多种数据类型,能更准确的描述事物.

    在结构体的使用中,强制转换不可使用Convert.,因其只能用来转换默认数据类型,结构体成员中也可包含结构体类型的数据.

    二、构建

     public struct ReportCard

    public--公用的     struct--构建      ReportCard--结构体名称

    PS:构建结构体时写在Main函数外,将"class……"删除,这样右边所有项均可使用.

     三、例

    例1:创建结构体,显示学生学号、姓名、CSharp成绩、Web成绩、DataBass成绩及总分.

    {
            public struct ReportCard
            {
                public int No;
                public string name;
                public int CSharp;
                public int Web;
                public int DataBase;
                public int Sum;
            }
            
    
            static void Main(string[] args)
            {
                ReportCard Z=new ReportCard();
                Z.No=1;
                Z.name="张涛";
                Z.CSharp=92;
                Z.Web=95;
                Z.DataBase=90;
                Z.Sum=Z.CSharp+Z.Web+Z.DataBase;
    
                Console.WriteLine("学号:{0},姓名:{1},C#成绩{2},网页成绩:{3},数据库成绩:{4},总分:{5}",Z.No,Z.name,Z.CSharp,Z.Web,Z.DataBase,Z.Sum);
    
            }
    }

    信息返回:

     

    例2:成绩表,显示学生学号、姓名、CSharp成绩、Web成绩、DataBass成绩及总分.

    {
            public struct Score
            {
                public int CSharp;
                public int Web;
                public int DataBaes;
                public int Sum;
            }
            public struct student
            {
                public int No;
                public string name;
                public Score Degree;
            }
            static void Main(string[] args)
            {
                student[] st= new student[4];
                //输入
                for(int i=0;i<4;i++)
                {
                    st[i].No = i + 1;
                    Console.WriteLine("正在输入第{0}个学生的成绩",st[i].No);                
                    Console.Write("姓名:");
                    st[i].name=Console.ReadLine();
                    st[i].Degree=new Score();
                    Console.Write("CSharp:");
                   st[i].Degree.CSharp=Convert.ToInt32(Console.ReadLine());
                    Console.Write("网页:");
                    st[i].Degree.Web=Convert.ToInt32(Console.ReadLine());
                    Console.Write("数据库:");
                    st[i].Degree.DataBaes = Convert.ToInt32(Console.ReadLine());
                    st[i].Degree.Sum=st[i].Degree.CSharp+st[i].Degree.Web+st[i].Degree.DataBaes;
                    
                }
                //排序
                for(int i=1;i<4;i++)
                {
                    for(int j=1;j<5-i;j++)
                    {
                        if(st[j-1].Degree.Sum<st[j].Degree.Sum)
                        {
                            student t=st[j-1];
                            st[j-1]=st[j];
                            st[j]=t;
                        }
    
                    }
                }
                //输出
                Console.WriteLine("学号	姓名	CSharp	网页	数据库	总分	名次");
                for(int i=0;i<4;i++)
                {
                    Console.Write(st[i].No+"	");
                    Console.Write(st[i].name+"	");
                    Console.Write(st[i].Degree.CSharp+"	");
                    Console.Write(st[i].Degree.Web+"	");
                    Console.Write(st[i].Degree.DataBaes+"	");
                    Console.Write(st[i].Degree.Sum+"	");
                    Console.WriteLine(i+1);
                }
            }
        }
    }

    返回信息:

  • 相关阅读:
    对于现有的无人零售技术的调研
    HTTP协议学习
    通过spring提供的DeferredResult实现长轮询服务端推送消息
    Optional int parameter 'topicId' is present but cannot be translated into a null value
    fastJson泛型如何转换
    @RequestParam 的简单用法
    Docker学习记录
    待研究
    Postgresql查询时不区分大小写
    认证授权系统代码结构
  • 原文地址:https://www.cnblogs.com/DORCASQING/p/3944028.html
Copyright © 2011-2022 走看看