首页 > 编程语言 >C++快速入门 第十一讲:结构

C++快速入门 第十一讲:结构

时间:2023-08-18 14:23:22浏览次数:53  
标签:std pOilData 入门 cout 第十一 C++ bool include OilData

结构是一种由程序员自己定义的、由其他变量类型组合而成的数据类型。其所能包含的变量的个数是没有限制的。

实例1:简单数据库读写

  1 #include <iostream>
  2 #include <fstream>  //文件操作 
  3 #include <windows.h>        // 为了使用Sleep()函数 
  4 
  5 struct FishOil
  6 {
  7         std::string name;
  8         std::string uid;
  9         char sex;
 10 }; 
 11 
 12 bool InitFishC();
 13 bool ReadFishC(); 
 14 void RecordFishC();
 15 bool WriteFishC(FishOil *OilData);
 16 
 17 int main()
 18 {
 19         int i;
 20         
 21         InitFishC();  // 初始化数据。 
 22         while( 1 )
 23         { 
 24                 std::cout << "请选择需要进行的操作: \n";
 25                 std::cout << "1. 打印数据到屏幕\n";
 26                 std::cout << "2. 录入数据\n"; 
 27                 std::cout << "3. 退出程序\n"; 
 28                 std::cin >> i;
 29                 
 30                 switch( i )
 31                 {
 32                         case 1: 
 33                                 if( ReadFishC() )
 34                                         std::cout << "成功读取文件^_^\n\n";
 35                                 else
 36                                         std::cout << "读取文件失败T_T\n\n";
 37                                 break;
 38                         case 2:
 39                                 RecordFishC();
 40                                 break;
 41                         case 3:
 42                                 return 0;        
 43                 }
 44         }
 45         
 46         return 0;
 47         
 48 }
 49 
 50 bool InitFishC()
 51 {
 52         FishOil OilInit = {"小甲鱼", "fishc00001", 'M'};
 53 
 54         if( WriteFishC(&OilInit) == false )
 55                 std::cout << "初始化失败T_T\n";  
 56 } 
 57 
 58 bool ReadFishC() //读文件 
 59 {
 60         std::string temp;
 61         std::ifstream fileInput("FishC.txt");
 62         
 63         if(  fileInput.is_open() )
 64         {
 65                 std::cout << "\n正在输出记录数据...... ";
 66                 for( int i=0; i <= 100; i++ )      // 打印百分比 
 67                 {
 68                         std::cout.width(3);
 69                         std::cout << i << "%";
 70                         Sleep(50);
 71                         std::cout << "\b\b\b\b";
 72                 }
 73                 std::cout << "\n\n";
 74                 
 75 
 76                 std::cout << " 姓名 " << "  身份证  " << " 性别 " << "\n\n";
 77                  
 78                 while( std::getline( fileInput, temp ) )
 79                 {
 80                         std::cout << temp << "   ";
 81                         std::cout << "\n";
 82                 }
 83                 std::cout << "\n\n";
 84                 
 85                 return true;
 86         } 
 87         else
 88                 return false;
 89 }
 90 
 91 void RecordFishC()//录入数据 
 92 {
 93         char goon, Save;
 94         FishOil OilData;
 95         FishOil *pOilData;
 96         
 97         goon = 'Y';
 98         while( 'Y' == goon )
 99         {
100                 std::cout << "请输入鱼C账号: ";
101                 std::cin >> OilData.name;
102                 std::cout << "请输入鱼C身份证:";
103                 std::cin >> OilData.uid;
104                 std::cout << "请输入性别:";
105                 std::cin >> OilData.sex;
106                 
107                 std::cout << "录入成功, 请问需要保存吗?(Y/N)";
108                 std::cin >> Save;         
109                 if( 'Y' == Save )
110                 {
111                         pOilData = &OilData;
112                         if( WriteFishC( pOilData ) )
113                                 std::cout << "成功写入文件^_^\n";
114                         else
115                                 std::cout << "写入文件失败T_T\n";        
116                 }
117                 else
118                 {
119                         return;
120                 }
121                 
122                 std::cout << "/n请问需要再次录入吗?(Y/N)";
123                 std::cin >> goon; 
124         }
125 }
126 
127 bool WriteFishC( FishOil *pOilData )//写文件 
128 {
129         std::ofstream fileOutput("FishC.txt", std::ios::app);  
130                 // std::ios::app用来说明在老数据追加新数据 
131         if( fileOutput.is_open() )
132         {
133                 fileOutput << pOilData->name << " ";
134                 fileOutput << pOilData->uid << " ";
135                 fileOutput << pOilData->sex << "\n";
136                 
137                 fileOutput.close();
138                 std::cout << "数据成功保存到FishC.txt\n\n";
139                 return true; 
140         } 
141         else
142                 std::cout << "保存失败T_T\n";
143                 return false;         
144 }

标签:std,pOilData,入门,cout,第十一,C++,bool,include,OilData
From: https://www.cnblogs.com/ybqjymy/p/17640367.html

相关文章

  • C++快速入门 第十二讲:传值、传址和传引用
    实例1:值传递1#include<iostream>23voidchangeAge(intage,intnewAge);4intmain()5{6intage=24;//定义一个age,占一处地址7std::cout<<"Myageis"<<age<<"\n";89changeAge(age,ag......
  • C++快速入门 第二讲:从一个小程序说起
    cout(cout<<i表示变量i流向屏幕显示)是一个输出流对象,属于basic_ostream类的对象。ostream类在iostream头文件中定义。同理cin(回车后,键盘输入缓冲区内容流向cin流的内部缓冲区,cin>>xx操作便从这个缓冲区提取数据,即键盘输入流向程序)为输入流对象,C++标准库所使用的所有标识符(即类......
  • C++快速入门 第三讲:输入输出方法
    实例1:忽略输入字符串的前面部分字符输出1#include<iostream>//23usingnamespacestd;//名字空间45intmain()6{7charbuf[20];//只能存放19个字符,因为字符串以0结尾89cin.ignore(7);//忽略输入的前七个字符10cin.g......
  • C++快速入门 第四讲:文件操作
    ifream与ofream分别为文件读取类和文件写入类实例1:文件读取(读取同一文件夹的test.txt文件内容)1#include<fstream>//涉及到了文件流操作2#include<iostream>34usingnamespacestd;56intmain()//in输入:读out输出:写7{8ifstreamin;//......
  • C++快速入门 第五讲:输入输出小结
    实例1:根据输入内容输出1#include<iostream>2usingnamespacestd;//名字空间3intmain()4{5charanswer;67cout<<"请问可以格式化您的硬盘吗?!【Y/N】"<<"\n";8cin>>answer;910switch(answer......
  • 黄金投资初学者必读:入门指南及投资技巧
    黄金一直以来都被视为一种安全的投资选择。在经济不稳定和市场波动的时候,黄金往往是投资者避险的首选。对于黄金投资初学者来说,了解一些基本知识和投资技巧是非常重要的。本文将为您提供一个黄金投资的入门指南,帮助您在投资黄金时做出明智的决策。首先,让我们了解一下黄金的基本特......
  • C++ save vector or float to bin
    voidsave_bin(std::vector<float>&data_vector,std::stringname="mnn.bin"){std::ofstreamoutFile(name,std::ios::out|std::ios::binary);......
  • C++里std::enable_shared_from_this是干什么用的?
    std::enable_shared_from_this使用场景在很多场合,经常会遇到一种情况,如何安全的获取对象的this指针,一般来说我们不建议直接返回this指针,可以想象下有这么一种情况,返回的this指针保存在外部一个局部/全局变量,当对象已经被析构了,但是外部变量并不知道指针指向的对象已经被析构了,如......
  • 1. C++入门及简单程序结构
    1.C++入门及简单程序结构一,编写一个简单的C++程序#include<iostream>usingnamespacestd;intmain(){ return0;}二,基础语法变量1.变量的概念变量本质上是一个装东西的盒子,并且只能存放一个值。2.变量的定义变量必须先定义,才可以使用。inta=5;3.变量......
  • 1.C++入门以及简单顺序结构
    C++入门以及简单顺序结构一、编写一个简单的C++程序#include<iostream>#include<cstdio>usingnamespacestd;intmain(){return0;}二、基础语法变量1.变量的概念变量本质上是一个装东西的盒子,并且只能存放一个值。2.变量的定义变量必须先定义,才可以......