• C++学习day7


    一、思维导图

    二、作业试编程:


    封装一个学生的类,定义一个学生这样类的vector容器,里面存放学生对象(至少3个)再把该容器中的对象,保存到文件中。 封装一个学生的类,定义一个学生这样类的载体容器,里面存放学生对象(至少3个)再把该容器中的对象,保存到文件中.
    再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。 再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生.
    1. #include
    2. #include
    3. #include//包含头文件
    4. using namespace std;
    5. class Stu
    6. {
    7. public:
    8. string name;
    9. int age;
    10. public:
    11. Stu(){};
    12. Stu(string n,int a):name(n),age(a){};//有参构造函数
    13. };
    14. //容器的大小empty()
    15. //写入数据到文件中
    16. void printfVector(vector &v)//算法(自己封装的算法&引入外部对象)
    17. {
    18. //创建流对象
    19. ofstream ofs;
    20. ofs.open("D:/day7_code/tex1.tex",ios::out);
    21. //打开文件
    22. vector::iterator iter;//迭代器
    23. for(iter = v.begin();iter< v.end();iter++)
    24. {
    25. //写入文件
    26. ofs << iter->name << " " << iter->age << endl;
    27. }
    28. cout << endl;
    29. }
    30. void readVector(vector& v)
    31. {
    32. ifstream ifs;
    33. ifs.open("D:\\day7_code\\tex1.tex", ios::in);
    34. vector::iterator iter;
    35. for (iter = v.begin(); iter != v.end(); iter++)
    36. {
    37. // string line;
    38. // getline(ifs, line);
    39. // cout << line << endl;
    40. char buff[1024];
    41. while(ifs >> buff)
    42. {
    43. cout << buff << endl;//每次读到空格或者换行截止
    44. }
    45. }
    46. cout << endl;
    47. }
    48. int main()
    49. {
    50. //创建一个容器
    51. Stu s("zhangsan",34);
    52. Stu s1("lisi",18);
    53. Stu s2("wangwu",33);
    54. vector v;
    55. v.push_back(s);
    56. v.push_back(s1);
    57. v.push_back(s2);//将数据存到容器中
    58. printfVector(v);
    59. readVector(v);
    60. return 0;
    61. }

     效果图:

     

  • 相关阅读:
    实际工作开发中C语言工程的目录结构分析
    LeetCode 0795. 区间子数组个数
    24深圳杯数学建模挑战赛A题6页初步思路+参考论文+保姆级答疑!!!
    LVS负载均衡群集
    基于SpringBoot的大学城水电管理系统
    css 定位
    R语言data.table导入数据实战:data.table数据列索引
    百度Java面试题前200页都在这里了
    【UE】UMG通信的三种方法
    练气第六天
  • 原文地址:https://blog.csdn.net/m0_69894626/article/details/133815299