当前位置:编程学习 > C/C++ >>

请教一个C++程序的实现,多少分随便说

1. 学生通讯录管理系统(20分)

  使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。

基木要求:

(1)学生信息包括:学号,姓名,所在专业和年级、性别,出生年月,手机,QQ 、家庭住址等

(2)查询学生时,可以按照学号或姓名完成查询

(3)修改或删除学生时,可按照学号或姓名找到学生后完成相应修改

(4)显示学生信息时,要求可以按照学写或姓名的升序或降序分别进行显示

 (5)该系统的一首页信息如下

 

答案:  #include<iostream>
#include<string>
using namespace std;
class Data
{
 private:
string num;
 string name;
 char sex;
 float mark;
 string course;
public:
void menu;
void add;
void show;};
void Data::menu()
{  cout<<"\n\n请选择以下操作:\n";
  cout<<"(1)添加学生的基本信息(包括:学号、姓名、性别);  注: f: 女   m: 男\n";
  cout<<"(2)按学号或姓名进行课程的选择(课程分别是:C、Java、VB、Delphi)\n";
  cout<<"(3)按学号输入所选课程的分数;\n"; 
  cout<<"(4)输入一选修课程名称,输出选修该课程所有的学生姓名或学号。\n";
  cout<<"(5)输出所有数据。\n";
  cout<<"(6)结束程序\n";
  cout<<"===================================================================\n";
  cout<<"请输入您的选择(1,2,3,4,5,6)}
 void Data::add()
{ cin>>k;
  switch(k)
  {
  case 1:
   {
    cout<<"\n请依次输入学号、姓名、性别:";
    cin>>nu>>na>>se;
    n=n+1;
    student[n].num=nu;
    student[n].name=na;
    student[n].sex=se;
    student[n].course='\0';
    student[n].mark=-1;
    cout<<"输入数据成功!\n";
   } break;
  case 2:
   {
    cout<<"\n请选择学号或姓名进行课程选择(1.学号,2.姓名):";
    cin>>j;
    if(j==1)
    {
     cout<<"请输入学号:";
     cin>>nu;
     x=0;
     for(i=0;i<=n;i++)
      if(student[i].num==nu)
      {
       cout<<"请输入选择的课程(选择四门课程之一,课程分别是:C、Java、VB、Delphi):";
       cin>>co;
       if(co!="C"&&co!="Java"&&co!="VB"&&co!="Delphi")
       {
        cout<<"输入课程名称有误!\n";
        x=3;
       }
       else
       {
        student[i].course=co;
        x=1;
       }
      }
      if(x==0) cout<<"输入学号有误,该生不在数据库中!\n";
    }
    else if(j==2)
    {
     cout<<"请输入姓名:";
     cin>>na;
     x=0;
     for(i=0;i<=n;i++)
      if(student[i].name==na)
      {
       cout<<"请输入选择的课程(课程分别是:C、Java、VB、Delphi):";
       cin>>co;
       if(co!="C"&&co!="Java"&&co!="VB"&&co!="Delphi")
       {
        cout<<"输入课程名称有误!\n";
        x=3;
       }
       else
       {
        student[i].course=co;
        x=1;
       }
      }
      if(x==0) cout<<"输入姓名有误,该生不在数据库中!\n";
    }
    if(j!=1&&j!=2) cout<<"输入的选择有误!\n";
   } break;
  case 3:
   {
    cout<<"\n请输入学号:";
    cin>>nu;
    x=0;
    for(i=0;i<=n;i++)
     if(student[i].num==nu)
     {
      cout<<"请输入"<<student[i].name<<"的"<<student[i].course<<"成绩:";
      cin>>ma;
      student[i].mark=ma;
      x=1;
     }
     if(x==0) cout<<"输入学号有误,该生不在数据库中!\n";
   } break;
  case 4:
   {
    cout<<"\n请输入选修课程名:";
    cin>>co;
    cout<<"选修"<<co<<"学生名单:"<<endl;
    cout<<"学号"<<"\t\t"<<"姓名"<<endl;
    x=0;
    for(i=0;i<=n;i++)
     if(student[i].course==co)
     {
      cout<<student[i].num<<"\t\t"<<student[i].name<<endl;
      x=1;
     }
     if(x==0) cout<<"输入课程名有误或无人选修该门课程,该课程不在数据库内!\n";
    
   } break;}
  void Data::show()
   {
   cout<<"\n所有数据:\n";
   cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"性别"<<'\t'<<"选修课程"<<'\t'<<"分数\n";
   for(i=0;i<=n;i++)
   {
    cout<<student[i].num<<'\t'<<student[i].name<<'\t'<<student[i].sex<<'\t'<<student[i].course<<"\t\t";
    if(student[i].mark!=-1) cout<<student[i].mark;
    cout<<endl;
   }
   } break;
  default:break;
  }
 
 }while(k>=1&&k<6);
 
 cout<<"\n程序结束,欢迎使用,再见!"<<endl;
void main()
{  menu;
return 0;}

上一个:利用c++设计一个算法解决对单链表的操作
下一个:VC、VC++、C++、C它们有什么区别

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,