0

0

用C++实现数据的管理功能

little bottle

little bottle

发布时间:2019-04-02 16:25:52

|

2994人浏览过

|

来源于php中文网

原创

本文主要讲述了通过c++实现对数据的增加,删除,查询以及按规则排序。

1554188612236924.jpg

这里,我用学生数据管理来举个栗子:

要求实现以下功能:

1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);

2、信息查询:输入学号,查询学生各门课程的成绩,并显示。

立即学习C++免费学习笔记(深入)”;

3、排序:按各门课程的成绩平均分进行排序,并显示。

4、信息删除与修改——输入学号,删除该学生的成绩信息。

同徽B2C电子商务软件系统
同徽B2C电子商务软件系统

开发语言:java,支持数据库:Mysql 5,系统架构:J2EE,操作系统:linux/Windows1. 引言 32. 系统的结构 32.1 系统概述 33. 功能模块设计说明 43.1 商品管理 43.1.1 添加商品功能模块 53.1.2 商品列表功能模块 83.1.3 商品关联功能模块 93.

下载

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。

2、建立一个文件,将每位学生的信息写入文件中并能显示于屏幕上。

3、完成上述信息查询(学生学号、姓名等)、排序、信息删除与修改功能。

#include <iostream>
#include <string.h>
using namespace std;
#define MAX 100
class CStudent
{private:    char *name;              // 姓名
    bool sex;                // 性别
    CDate date;              // 出生日期,类对象作数据成员
    public:    static int num;          // 学生人数
    CStudent();    void InputData();    
    friend void Sort();      // 排序
    friend void FindName();  // 按姓名查询
    friend void Statistic(); // 按性别统计
    friend void Display();   // 显示全部信息} stu[MAX];
    int CStudent::num=0;    //static 初始化
    CStudent::CStudent() {} //构造函数// 输入信息
void CStudent::InputData()
{    
    int p;    char s[41];    
    cout<<"请输入学生信息(NO."<<num<<"):\n";    
    cout<<"姓名:";    cin>>s;
    name=new char[strlen(s)+1];    
    strcpy(name,s);    
    cout<<"性别(1-男,0-女):";    
    cin>>p;    
    if (p)  sex=true;    
    else sex=false;    cin>>date;//操作符重载->istream &operator>>(istream &in,CDate &d)
    cout<<endl;
}// 排序 根据data从小到大排序
void Sort()
{    
    int i,j,p,num;    char *tn;    bool ts;
    CDate td;
    num=CStudent::num;    
    for(i=1; i<num; i++)
    {
        p=i;        
    for(j=i+1; j<=num; j++)            
    if (stu[j].date<stu[p].date) p=j;//找到当前未排序元素中年龄最小的对象的下标
        if (p==i) continue;        //下面交换stu[i]和stu[p]
        tn=stu[i].name;
        stu[i].name=stu[p].name;
        stu[p].name=tn;
        ts=stu[i].sex;
        stu[i].sex=stu[p].sex;
        stu[p].sex=ts;
        td=stu[i].date;
        stu[i].date=stu[p].date;
        stu[p].date=td;
    }
}// 按姓名查询
void FindName()
{    
    char name[41];    
    int i,num;    
    cout<<"请输入姓名:";    
    cin>>name;
    num=CStudent::num;    
    for(i=1; i<=num; i++)        
    if (strcmp(stu[i].name,name)==0) break;    
    if (i>num)
    {        
    cout<<"查无此人!"<<endl<<endl;        
    return;
    }    //如果查到了,显示学生信息
    cout<<"姓名:"<<stu[i].name<<endl;    
    cout<<"性别:";    if (stu[i].sex)        
    cout<<"男"<<endl;    else
    cout<<"女"<<endl;    
    cout<<"生日:"<<stu[i].date<<endl;    
    cout<<endl;
}// 按性别统计
void Statistic()
{    
    int i,num,s1,s0;
    num=CStudent::num;
    s1=0;
    s0=0;    for(i=1; i<=num; i++)        
    if (stu[i].sex==1)s1++;        
    else s0++;    
    cout<<"男生人数:"<<s1<<endl;    
    cout<<"女生人数:"<<s0<<endl;    
    cout<<endl;
}// 显示全部信息
void Display()
{    
    int i,num;
    num=CStudent::num;    for(i=1; i<=num; i++)
    {        
    cout<<stu[i].name<<"\t";        
    if (stu[i].sex)            
    cout<<"男";        
    else cout<<"女";        
    cout<<"\t"<<stu[i].date<<endl;
    }    
    cout<<endl;
}
    int main1()
{    char *menu[]= { "","输入信息","排序","按姓名查询","按性别统计","显示全部信息","退出" };    
    int i,p;    bool end;
    end=false;    while(!end)
    {        for(i=1; i<7; i++)            
    cout<<i<<"  "<<menu[i]<<endl;        
    cin>>p;        
    switch(p)
        {        
    case 1:                          // 输入信息
            CStudent::num++;
            stu[CStudent::num].InputData();            break;        
    case 2:                          // 排序
            Sort();            break;        
    case 3:                          // 按姓名查询
            FindName();            break;        
    case 4:                          // 按性别统计人数
            Statistic();            break;        
    case 5:                          // 显示全部信息
            Display();            break;        
    case 6:                          // 退出
            end=true;            break;
        }
    }    return 0;
}

以上就是有关C++的数据管理实现的详细内容,更多请关注php中文网其它相关文章!

【推荐课程:C++视频教程

相关文章

c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

c++

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

作者最新文章

jq是指什么?

2019-05-31 16:04

vue是做什么的

2019-05-31 16:58

mysql能干什么

2019-05-31 17:15

怎么用cmd进入mysql

2019-05-31 17:24

mysql怎么输入

2019-05-31 17:41

mysql免费版好用么

2019-05-31 17:53

mysql慢查询是什么

2019-05-31 18:00

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

3

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

12

2026.03.03

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

69

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

59

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

46

2026.02.28

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

24

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

20

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

4

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

348

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 10.6万人学习

C 教程
C 教程

共75课时 | 5.2万人学习

C++教程
C++教程

共115课时 | 20.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号