返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >基于C++如何实现信息管理系统
  • 505
分享到

基于C++如何实现信息管理系统

2023-06-29 13:06:34 505人浏览 泡泡鱼
摘要

这篇“基于c++如何实现信息管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于C++如何实现信息管理系统”文章吧。使

这篇“基于c++如何实现信息管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于C++如何实现信息管理系统”文章吧。

使用类+函数实现
2、使用STL容器的vector
3、fstream的文件存储方式
4、xls文件读入 写出
5、数据的四大功能增删改查
6、一定的输入容错能力

基于C++如何实现信息管理系统

#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <iOStream>#include <windows.h>#include <vector>#include <fstream>#include <iterator>#define Num 20#define FALSE 0#define TRUE 1#define PATH "./file.xls"using namespace std;class LiangshanHeros{public:    char name[Num]; //梁山好汉姓名    int age;        //年龄    char loc[Num];  //籍贯    double bounty;   //悬赏金public:    LiangshanHeros()    {        age = 18;        bounty = 6666;    }    LiangshanHeros(char* _name, int _age, char* _loc, double the_bounty)    {        strcpy(name, _name);        age = _age;        strcpy(loc, _loc);        bounty = the_bounty;    }    ~LiangshanHeros()    {    }public:    char* getName();    char* getLoc();    double getBounty();    int getAge();public:    int setName(char*);    int setAge(int);    int setLoc(char*);    int setprice(double);public:    void showMenu();};class params : public LiangshanHeros {public :    params() {    }    ~params() {    }public:    void InitSet();    void showMensu();};char* LiangshanHeros::getName(){    return name;}char* LiangshanHeros::getLoc(){    return loc;}double LiangshanHeros::getBounty(){    return bounty;}int LiangshanHeros::getAge(){    return age;}int LiangshanHeros::setName(char* _name){    if (strlen(_name) > 20 || strlen(_name) < 2)    {        cout << "重新输入梁山好汉姓名 长度[0 - 20]" << endl;        return FALSE;    }    else    {        strcpy(name, _name);        return TRUE;    }}int LiangshanHeros::setAge(int _age){    if (_age > 100 || _age < 0)    {        cout << "重新输入年龄 大小[0 - 100]" << endl;        return FALSE;    }    else    {        age = _age;        return TRUE;    }}int LiangshanHeros::setLoc(char* _loc){    if (strlen(_loc) > 20 || strlen(_loc) < 2)    {        cout << "重新输入梁山好汉籍贯 长度[0 - 20]" << endl;        return FALSE;    }    else    {        strcpy(loc, _loc);        return TRUE;    }}int LiangshanHeros::setprice(double the_Bouney){    if (the_Bouney < 0)    {        cout << "重新输入价格 大小[0 - &]" << endl;        return FALSE;    }    else    {        bounty = the_Bouney;        return TRUE;    }}void setAll(LiangshanHeros* par){    while (1)    {        cout << "输入梁山好汉姓名: " << endl;        char n[Num] = { 0 };        cin >> n;        if (par->setName(n) == TRUE) break;    }    while (1)    {        cout << "输入年龄: " << endl;        int a;        cin >> a;        if (par->setAge(a) == TRUE) break;    }    while (1)    {        cout << "输入梁山好汉籍贯: " << endl;        char l[Num] = { 0 };        cin >> l;        if (par->setLoc(l) == TRUE) break;    }    while (1)    {        cout << "输入赏金: " << endl;        double p;        cin >> p;        if (par->setprice(p) == TRUE) break;    }}LiangshanHeros* set(){    LiangshanHeros* par = new LiangshanHeros;    //do set    setAll(par);    return par;}void search(vector<LiangshanHeros*>& vec, char* name){    int i = 0;    int flag = 0;    for (i = 0; i < vec.size(); i++)    {        if (strcmp(vec[i]->name, name) == 0)        {            cout << "查找成功 " << endl;            cout << vec[i]->getName() << endl;            cout << vec[i]->getAge() << endl;            cout << vec[i]->getLoc() << endl;            cout << vec[i]->getBounty() << endl;            flag = 1;        }    }    //case faild    if (flag == 0)    {        cout << "查找失败" << endl;    }}void deletePar(vector<LiangshanHeros*>& vec, char* name){    int i = 0;    int flag = 0;    for (i = 0; i < vec.size(); i++)    {        if (strcmp(vec[i]->name, name) == 0)        {            cout << "查找成功 " << endl;            cout << vec[i]->getName() << endl;            cout << vec[i]->getAge() << endl;            cout << vec[i]->getLoc() << endl;            cout << vec[i]->getBounty() << endl;            vec.erase(vec.begin() + i);            //sp case            i--;            cout << "删除成功 " << endl;            flag = 1;        }    }    if (flag == 0)    {        cout << "未找到该梁山好汉" << endl;    }}void change(vector<LiangshanHeros*>& vec, char* name){    int i = 0;    int flag = 0;    for (i = 0; i < vec.size(); i++)    {        if (strcmp(vec[i]->name, name) == 0)        {            cout << "查找成功 " << endl;            cout << vec[i]->getName() << endl;            cout << vec[i]->getAge() << endl;            cout << vec[i]->getLoc() << endl;            cout << vec[i]->getBounty() << endl;            cout << "请输入需要修改变量的值:" << endl;            cout << "1.梁山好汉姓名  2.年龄 3.籍贯 4.赏金" << endl;            int choice;            while (1)            {                cin >> choice;                if (choice > 4 || choice < 0) continue;                else break;            }            cout << "输入修改后的值" << endl;            switch (choice)            {            case 1:            {                while (1)                {                    cout << "输入梁山好汉姓名: " << endl;                    char n[Num] = { 0 };                    cin >> n;                    if (vec[i]->setName(n) == TRUE) break;                }                break;            }            case 2:            {                while (1)                {                    cout << "输入年龄: " << endl;                    int a;                    cin >> a;                    if (vec[i]->setAge(a) == TRUE) break;                }                break;            }            case 3:            {                while (1)                {                    cout << "输入梁山好汉籍贯: " << endl;                    char l[Num] = { 0 };                    cin >> l;                    if (vec[i]->setLoc(l) == TRUE) break;                }                break;            }            case 4:            {                while (1)                {                    cout << "输入赏金: " << endl;                    double p;                    cin >> p;                    if (vec[i]->setprice(p) == TRUE) break;                }                break;            }            }            flag = 1;        }    }    if (flag == 0)    {        cout << "未找到该梁山好汉" << endl;    }}void inputFile(vector<LiangshanHeros*>& vec){    ofstream ofs;    ofs.open(PATH, ios::ate | ios::binary);    int i = 0;    if (vec.size() < 0)    {        cout << "还未录入数据" << endl;        return;    }    for (i = 0; i < vec.size(); i++)    {        ofs << vec[i]->name << "\t" << vec[i]->age << "\t" << vec[i]->loc << "\t" << vec[i]->bounty;        ofs << "\n";    }    cout << "数据录入成功 存储于 ./file.xls中" << endl;    ofs.close();}void outputFile(vector<LiangshanHeros*>& vec){    ifstream ifs;    ifs.open(PATH, ios::binary | ios::in);    if (ifs.fail()) {        cout << "文件未创建 请先录入数据" << endl;        return;    }    int i = vec.size();    int age;    double price;    char loc[Num] = { 0 };    char name[Num] = { 0 };    //判断是否为文件结尾    while (!ifs.eof())    {        LiangshanHeros* par = new LiangshanHeros;        ifs >> par->name >> par->age >> par->loc >> par->bounty;        vec.push_back(par);    }    cout << "file.xls 文件读入成功  数据已写入" << endl;    ifs.close();}void showAllParam(vector<LiangshanHeros*>& vec){    int i = 0;    for (i = 0; i < vec.size(); i++)    {        cout << "这是 第" << i + 1 << "位梁山好汉 :" << endl;        cout << "   姓名 :" << vec[i]->name << endl;        cout << "   年龄 :" << vec[i]->age << endl;        cout << "   籍贯 :" << vec[i]->loc << endl;        cout << "   赏金 :" << vec[i]->bounty << endl;        cout << endl;    }}void LiangshanHeros::showMenu(){    HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//句柄    SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_RED);    printf("\t基于梁山好汉的文件存储系统\n");    SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED);    printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");        printf("\t丨 1.添加梁山好汉                \n");    printf("\t丨 2.查找梁山好汉         \n");    printf("\t丨 3.删除梁山好汉         \n");    printf("\t丨 4.修改梁山好汉信息         \n");    printf("\t丨 5.读取已存在信息                 \n");    printf("\t丨 6.保存信息                \n");    printf("\t丨 7.查阅所有信息                 \n");    printf("\t丨 8.退出              \n");    SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED);    printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\t");    SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_BLUE);    printf("输入您的选择(1-8):");}int main(){    system("mode con cols=135 lines=30");//控制台 宽度135 高度20    HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);//句柄    SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED);    LiangshanHeros* par = new LiangshanHeros;    par->showMenu();    vector<LiangshanHeros*> vec;    char name[Num] = { 0 };    SetConsoleTextAttribute(hout, FOREGROUND_INTENSITY | FOREGROUND_RED);    while (1)    {        int num;        cin >> num;        switch (num)        {        case 1:        {            vec.push_back(set());            cout << "添加成功" << endl;            break;        }        case 2:        {            printf("输入查找的梁山好汉名称:");            cin >> name;            search(vec, name);            break;        }        case 3:        {            printf("输入删除的梁山好汉名称:");            cin >> name;            deletePar(vec, name);            break;        }        case 4:        {            printf("输入查找的梁山好汉名称:");            cin >> name;            change(vec, name);            break;        }        case 5:        {            outputFile(vec);            break;        }        case 6:        {            inputFile(vec);            break;        }        case 7:        {            showAllParam(vec);            break;        }        case 8:        {            cout << "kill process .. " << endl;            exit(0);            break;        }        }        system("pause");        system("cls");        par->showMenu();    }    return 0;}

以上就是关于“基于C++如何实现信息管理系统”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网其他教程频道。

--结束END--

本文标题: 基于C++如何实现信息管理系统

本文链接: https://lsjlt.com/news/325119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于C++如何实现信息管理系统
    这篇“基于C++如何实现信息管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于C++如何实现信息管理系统”文章吧。使...
    99+
    2023-06-29
  • 基于C++实现信息管理系统
    基于c++设计的信息管理系统,供大家参考,具体内容如下 1、使用类+函数实现2、使用STL容器的vector3、fstream的文件存储方式4、xls文件读入 写出5、数据的四大功能...
    99+
    2024-04-02
  • C++实现信息管理系统
    本文实例为大家分享了C++实现信息管理系统的具体代码,供大家参考,具体内容如下 有一个信息管理系统,要求检查每一个登录系统的用户(User)的用户名和口令,系统检查合格以后方可登录系...
    99+
    2024-04-02
  • 如何使用C++实现信息管理系统
    小编给大家分享一下如何使用C++实现信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下有一个信息管理系统,要求检查每一个登录系统的用户(Use...
    99+
    2023-06-29
  • C++如何实现学生信息管理系统
    本篇内容主要讲解“C++如何实现学生信息管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++如何实现学生信息管理系统”吧!实现功能上面的功能基本完全实现目前的程序其实还存在两个问题:无法...
    99+
    2023-06-30
  • 基于Python实现简易学生信息管理系统
    目录一、系统简介二、步骤分析三、需求实现四、具体实现4.1 添加学生信息的函数4.2 删除学生信息的函数4.3 修改学生信息的函数4.4 查询学生信息的函数4.5 显示所有学生信息五...
    99+
    2024-04-02
  • 基于Springboot实现送水公司信息管理系统
    项目编号:BS-XX-014 项目描述 springboot实现的送水后台管理系统 运行环境 jdk8+tomcat7+mysql+IntelliJ IDEA+maven 项目技术(...
    99+
    2024-04-02
  • 基于C++如何实现职工管理系统
    这篇文章主要介绍了基于C++如何实现职工管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于C++如何实现职工管理系统文章都会有所收获,下面我们一起来看看吧。1、管理系统需求职工管理系统可以用来管理公司内...
    99+
    2023-06-30
  • 基于C#如何实现宿舍管理系统
    本篇内容主要讲解“基于C#如何实现宿舍管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于C#如何实现宿舍管理系统”吧!一、项目创建首先通过创建C#的Windows窗体应用程序,名字可以自...
    99+
    2023-07-02
  • 基于php+MySql实现学生信息管理系统实例
    php大作页,使用php+mysql技术,实现了基本的分页,信息查询,修改,增加,删除操作 有以下几个基本页面 登录页面 首页 修改学生基本信息 修改学生学籍信息 修改学生成绩信息 增加学生信息 ...
    99+
    2022-05-21
    php学生信息管理系统 php MySql 信息管理系统
  • C/C++实现图书信息管理系统
    本文实例为大家分享了c/c++实现图书信息管理系统的具体代码,供大家参考,具体内容如下 程序流程图 源代码 #include <stdio.h> #include ...
    99+
    2024-04-02
  • Python如何实现信息管理系统
    本文小编为大家详细介绍“Python如何实现信息管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现信息管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。具体代码如下"&qu...
    99+
    2023-06-30
  • C++实现简单信息管理系统
    本文实例为大家分享了C++实现简单信息管理系统的具体代码,供大家参考,具体内容如下 信息管理系统 因为学校布置了写一个信息管理系统的作业,所以写下了这个信息管理系统,这是用cpp写的...
    99+
    2024-04-02
  • C++实现图书信息管理系统
    本文实例为大家分享了C++实现图书信息管理系统的具体代码,供大家参考,具体内容如下 1.题目: 类型有:编号:ISBN书名:name价格:price 完成如下的功能: ①录入:从键盘...
    99+
    2024-04-02
  • C++实现职工信息管理系统
    本文实例为大家分享了c++实现职工信息管理系统的具体代码,供大家参考,具体内容如下 1、项目需求 2、功能实现的具体思路为: (1) 经行职工信息的读入,用while循环进行读入,...
    99+
    2024-04-02
  • C++如何实现景区旅游信息管理系统
    这篇文章主要介绍C++如何实现景区旅游信息管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下1 问题描述如今生活水平提高,大家都喜欢在假期中到一个旅游景点参观,在旅游景区中经常听到游客打听从一个景点到...
    99+
    2023-06-29
  • 如何使用C++实现图书信息管理系统
    小编给大家分享一下如何使用C++实现图书信息管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1.题目:类型有:编号:ISBN书名:name价格:price完成如下的功能:①录入:从键盘输入(或从文件读入)...
    99+
    2023-06-29
  • 如何实现基于Java SpringBoot的前后端分离信息管理系统
    这篇文章主要介绍了如何实现基于Java SpringBoot的前后端分离信息管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。主要功能说明用户登录、修改密码、首...
    99+
    2023-06-21
  • 基于php的图书信息管理系统
    本系统采用phpstudy开发平台,采用PHP和MySQL数据库进行开发,开发工具为HBuilder。 phpStudy是一个PHP调试环境的程序集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,...
    99+
    2023-10-03
    php mysql apache
  • 基于JAVA的学生信息管理系统
    目录 前言 一、需求分析 二、开发环境、工具 1.开发语言 2.开发模式 三、系统需求分析 3.1系统的背景 3.2系统的功能需求 四、系统设计概要 4.1系统体系结构设计 4.2功能模块结构设计 五、数据库设计 1.学生信息数据表 2.班...
    99+
    2023-10-05
    java mysql eclipse 课程设计
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作