找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

C++语言-结构体-构造类型数据与VSnet_10

admin 2019-2-11 12:32 286人围观 C++相关

作者:蜘蛛网计算机语言

计算机C++语言与VSnet_10

蜘蛛网计算机语言

掌握软件人机交互:命令行模式-控制台的人机交互方式—信息的输入输出-标准IO与非标准IO。标准IO—键盘-显示器-编译器提供的函数;非标准IO—磁盘文件操作等等。接着熟悉程序的词序、语句顺序—程序结构,基本的是:顺序、分支、循环结构;由此扩展单文件多函数-子例行程序,再扩展就是多文件结构的软件—并行开发设计/程序重用-逻辑清晰,结构化-模块化,组合起一个复杂的大型软件。其次,有了基本数据类型—整型、实型、复型、字符型、逻辑型,就可以进行相应的数值计算、物理概念或化学生物等等的数学模型化的科学技术问题计算机辅助处理;或说初等数学、部分高等数学—连续函数、离散量等的计算机描述—计算机辅助设计技术的的数学应用,可以写命题作文了(请计算四则混合运算的值,或请求解初等函数的值并画图,……);那也就可以处理那些能转换为初等数学问题的工程技术问题;若遇到离散数学问题—自然数的处理(比较大小、排序、插入、删除、……);若遇到向量数学问题、线性代数方程组的求解问题—整数、实数集等的处理;还需要—类型相同的一组变量的组合-集合—数组类型的数据模式。由于计算机的操作都是在内存中进行的,内存的二进制-开关电路,决定了数据的存储方式有头有尾连续放置,前后有标记;操作也需要提供具体的地址标记。

但是大量大量的人工处理特别特别低效率的是事务处理—商业、人事、社会、金融、……像票务系统、销售系统、物流问题、……。其不可分拆的-整体性的基本概念-基本要素-基本单元,却是由不同类型的数据-属性(整型、实型、复型、字符型、逻辑型)等组成的整体。人们的大脑理解是整体性的,不能分拆。计算机语言为了这个问题,提出了复合数据类型-构造数据类型,在数学领域所没有的样式—结构体数据类型。它以事物的整体特征-组合属性为数学模型的出发点。比如:描述学生的学业问题、病人的病情问题、图书的管理问题、机场的航班问题、车辆的票务问题、银行的储蓄与贷款问题、机械设备的运行状态、庄家的生长情况、等等。

这就出现了各种不同要素组合的整体性的数据类型—计算机描述时应该确认的信息组(内存-处理-输入输出等的整体性)。

//结构体定义、声明、初始化、引用-操作

struct Students_results  //定义--结构体模板

       {

     int stu_number;

     char name[10];

         int age;

     char sex[4];

     char address[22];

         int telephone;

         struct Students_list  //结构体中的结构体定义

         {

                 int stu_numbers;

          char names[10];

                 float Res_mean;

                 int position;

         };     //结构体声明

       }Studs;  //特别注意这个分号 ;表示为一个完整的句子--复合句

有了结构体类型,事务处理行业的问题就可以进行计算机处理了。无论是针对单台计算机、多台计算机、局域网、万维网、分布式、云平台、大数据、……;计算机应用扩展无孔不入由此开始。

事务处理模式的特点--不同类型的数据类型组合表达事物属性-特征—整体性/为了人的大脑思维而已。

据此可见各种计算机语言的特点—如MATLAB语言作为数学应用软件可以处理什么问题。没有结构体数据类型,无法方便的处理事务问题。

在语言开发平台上操作、写作、学习、实践、……

实例与格式

#include"iostream"

#include"fstream"

usingnamespace std;

//结构体定义、声明、初始化、引用-操作

structStudents_results  //定义--结构体模板

       {

      int stu_number;

      char name[10];

        int age;

      char sex[4];

      char address[22];

        int telephone;

        struct Students_list  //结构体中的结构体定义

         {

                int stu_numbers;

           char names[10];

                float Res_mean;

                int position;

        };      //结构体声明

       }Studs; //特别注意这个分号 ;表示为一个完整的句子--复合句

voidmain()

{

inta,b,c,i,z;

intnum=0;

floatfa[5],fz;  

charin_name[10],out_name[10],ok_name[10];  //保存文件名称

  //结构体变量声明:声明结构体Students_results的实例Person--内存准备-变量初始化

  struct Students_results Persones={3012,"结构体",33,"男","中国上海南京路102号",20668899};

  struct Students_results Persones_1={4312,"结构体",22,"男","中国上海苏州路312号",80669898};

  struct Students_resultsPersones_2={2012,"结构体",18,"女","中国福州南海路122号",90698698};

//  struct Students_results Students_liststruc_Double={11,"wayayappp",66.66,888};

cout<<"输入学生编号-整数:姓名:年龄:性别:住址:电话:空格分割开来:\n";

cin>>Studs.stu_number;

cin>>Studs.name;

cin>>Studs.age;

cin>>Studs.sex;

cin>>Studs.address;

cin>>Studs.telephone;

cout<<"《蜘蛛网计算机语言》欢迎各位网游数据结构!"<<endl;

cout<<Studs.stu_number<<endl;

cout<<Studs.name<<endl;

cout<<Studs.age<<endl;

cout<<Studs.sex<<endl;

cout<<Studs.address<<endl;

cout<<Studs.telephone<<endl;

cout<<"    \n"<<endl;

cout<<"《蜘蛛网计算机语言》用数据结构输出内置数据元素!"<<endl;

cout<<Persones.stu_number<<endl;

cout<<Persones.name<<endl;

cout<<Persones.age<<endl;

cout<<Persones.sex<<endl;

cout<<Persones.address<<endl;

cout<<Persones.telephone<<endl;

cout<<"  "<<endl;

cout<<"《蜘蛛网计算机语言》欢迎各位检查结构体初始化各变量的结果!"<<endl;

cout<<Persones_1.stu_number<<endl;

cout<<Persones_1.name<<endl;

cout<<Persones_1.age<<endl;

cout<<Persones_1.sex<<endl;

cout<<Persones_1.address<<endl;

cout<<Persones_1.telephone<<endl;

cout<<"  "<<endl;

cout<<"《蜘蛛网计算机语言》输出了用数据结构表达的内置信息!\n"<<endl;

cout<<Persones_2.stu_number<<endl;

cout<<Persones_2.name<<endl;

cout<<Persones_2.age<<endl;

cout<<Persones_2.sex<<endl;

cout<<Persones_2.address<<endl;

cout<<Persones_2.telephone<<endl;

cout<<"  "<<endl;

cout<<"输入3个整数,空格隔开"<<endl;  //键盘输入数据

cin>>a;

cin>>b;

cin>>c;

z=a+b-c;      

//键盘输入数据的计算结果输出-文件保存

cout<<"数据处理完毕,请输入保存文件名  *.txt"<<endl;

cin>>ok_name;

ofstreamfile_out(ok_name);

file_out<<"键盘输入的数据为:"<<endl;

file_out<<a<<"  "<<b<<"  "<<c<<endl;

file_out<<"计算a+b-c= "<<z<<endl;

file_out<<"文件内容保存了,请检查。"<<endl;

file_out.close();

cout<<"键盘输入数据已经保存为   "<<ok_name<<endl;

//打开文件,读取内容,显示器输出文件内容

//cout<<"输入需要打开文件的数据个数,一个整数:   "<<endl;

//cin>>number;

cout<<"输入需要打开的文件名  *.txt"<<endl;

cin>>in_name;

cout<<"文件被打开,读入的数据"<<endl;

ifstreamfile_rout(in_name);

while(! file_rout.eof())

file_rout>>fa[num++];

for(i=0;i<num;i++)

{

cout<<fa[i]<<endl;

}

fz=fa[0]+fa[1]+fa[2]+fa[3]+fa[4];

cout<<"文件读入的数据,键盘输入之数据,进行求和之结果:"<<endl;

cout<<fz<<endl;

//读取文件数据--键盘输入数据-计算处理保存

cout<<"数据处理完毕,请输入保存文件名 *.txt"<<endl;

cin>>out_name;

ofstreamfile_dataout(out_name);

file_dataout<<"文件读入的数据:"<<endl;

for(i=0;i<num;i++)

{

file_dataout<<fa[i]<<endl;

}

file_dataout<<"文件读入的数据,键盘输入之数据,进行求和之结果:"<<endl;

file_dataout<<fz<<endl;

file_rout.close();

file_dataout.close();

cout<<"数据处理完毕,已经保存为:   "<<out_name<<endl;

system("pause");

}

自己改变各个符号/变量/处理方式等,编译调试,观察输出结果,体会、体验格式、符号等的含义。通过简单程序调试,学会理解build信息窗中的信息,充分利用该信息提高编程能力与水平。

这就是C++语言程序设计的结构体表达格式—事务处理的数据模型基础;可当数据量变大时,就显得麻烦、笨拙、……尤其是数据的后处理—统计分析、实时决策、个别特性提取、……使用数据库显然会更好—表格模式的信息、表格或统计型的问题,数据库系统处理优点更多。

后续的问题就是添加用户的计算内容及其处理过程。

运行结果




-------------------------------------------------------------------------
我们尊重原创,也注重分享,如若侵权请联系qter@qter.org。
-------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......