>  기사  >  백엔드 개발  >  C++를 사용하여 데이터 관리 기능 구현

C++를 사용하여 데이터 관리 기능 구현

little bottle
little bottle원래의
2019-04-02 16:25:522648검색


이 글에서는 주로 C++를 사용하여 데이터를 추가, 삭제, 쿼리 및 정렬하는 방법에 대해 설명합니다.


C++를 사용하여 데이터 관리 기능 구현

여기서 학생 데이터 관리를 예로 들어 보겠습니다.

에는 다음 기능이 필요합니다.


1. 정보 입력: 학생 성적 정보(학생 번호, 이름, 각 항목 포함)를 입력합니다.

2. 정보조회 : 학번을 입력하고, 각 과목의 성적을 조회하여 조회합니다.

3. 정렬: 각 과목의 평균 점수를 기준으로 정렬하여 표시합니다.

4. 정보삭제 및 수정 - 학생번호를 입력하면 학생의 성적정보가 삭제됩니다.

단계별 구현:

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++를 사용하여 데이터 관리 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C++ 제어문 사용다음 기사:C++ 제어문 사용