当前位置: 首页 > news >正文

【GESP 四级】一个程序掌握大部分知识点

文章目录

  • 程序简介
  • 程序信息
    • 项目目录
    • 源代码
      • functions.h
      • headfile.h
      • main.cpp

程序简介

这是一个类似学生信息管理的程序,用 C++ 编写。涵盖了 GESP 四级的大部分知识点:

  • 指针的基础用法
  • 结构体的基础用法
  • try-catch的基础用法
  • <fstream>的基础用法

程序信息

项目目录

~ $ ls -a
.
..
./data.txt
./functions.h
./headfile.h
./main.cpp

源代码

functions.h

#pragma ones
#include "headfile.h"void write_file(Student data)
{ofstream OutFile(PATH, ios::app);if (!OutFile){throw "无法打开文件";}OutFile << data.name << data.age << data.score;OutFile.close();
}void read_file(void)
{string name;int age;float score;ifstream InFile(PATH, ios::in);if (!InFile){throw "无法打开文件";}cout << "姓名\t年龄\t分数" << endl;cout << "--------------" << endl;while(InFile >> name >> age >> score){cout << name << "\t" << age << "\t" << score;}InFile.close();
}

headfile.h

#pragma ones
#include <iostream>
#include <fstream>
#include <cstdlib>
#define PATH ".\\data.txt"using namespace std;
struct Student
{string name;int age;float score;
};
void write_file(Student data);
void read_file(void);

main.cpp

#include "functions.h"int main(void)
{int flag;int n;string error;error = "输入错误"string *p;p = &error;cout << "请输入您需要的操作:\n1.载入数据\t2.读取数据" << endl;cin >> flag;if (flag == 1){cout << "请输入需要载入的数据组数:";cin >> n;for (int i = 1; i <= n; i++){Student student;cout << "姓名:";cin >> student.name;cout << "年龄:";cin >> student.age;cout << "成绩:";cin >> student.score;cout << endl;try{write_file(student);}catch (const char* msg){cerr << "Error: " << msg << endl;return EXIT_FAILURE;}catch (...){cerr << "Error: 未知错误。" << endl;return EXIT_FAILURE}}}else if (flag == 2){try{read_file();}catch (const char* msg){cerr << "Error: " << msg << endl;return EXIT_FAILURE;}catch (...){cerr << "Error: 未知错误。" << endl;return EXIT_FAILURE;}}else{cout << *p << endl;return EXIT_FAILURE;}return EXIT_SUCCESS;
}

感谢您的耐心观看!!!

http://www.lryc.cn/news/576971.html

相关文章:

  • 【算法设计与分析】(三)二分搜索技术与大整数乘法
  • 信创背景下应用软件迁移解析:从政策解读到落地实践方案
  • vllm部署私有智谱大模型
  • AI算力综述和资料整理
  • Hive SQL 快速入门指南
  • 从理论到实战:解密大型语言模型的核心技术与应用指南
  • 理解 Confluent Schema Registry:Kafka 生态中的结构化数据守护者
  • 算法-基础算法-递归算法(Python)
  • 【C++11】异常
  • 【python】~实现工具软件:QQ邮件即时、定时发送
  • 预期功能安全SOTIF基本介绍
  • Kafka中的消费者偏移量是如何管理的?
  • 华为云Flexus+DeepSeek征文|基于华为云Flexus云服务快速搭建Dify-LLM应用开发平台详细教程
  • Springboot 集成 SpringState 状态机
  • Linux下的调试器-gdb(16)
  • Tcpdump 网络抓包工具使用
  • ali PaddleNLP docker
  • Vivado关联Vscode
  • BUCK电感电流检测电路current sense-20250603
  • 逆向工程恢复信息的方法
  • JVM中的垃圾收集(GC)
  • 【个人纪录】vscode配置clangd
  • 节点小宝:告别公网IP,重塑你的远程连接体验
  • Vue列表渲染与数据监测原理
  • word换行居中以后 前面的下划线不显示
  • Python中的序列化和反序列化
  • 2个任务同时提交到YARN后2个都卡住(CDH)
  • CNN, RNN, LSTM
  • 四大WordPress模板资源网站
  • 【QT】信号和槽(1) 使用 || 定义