이 글에서는 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!