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

互联网 19-4-2
本文主要讲述了通过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++的数据管理实现的详细内容,更多内容请关注技术你好其它相关文章!

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

以上就是用C++实现数据的管理功能的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: C++
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C ++控制语句的使用

相关资讯