| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 535 人关注过本帖
标题:请大家帮我看看这个程序怎么改动一下?
取消只看楼主 加入收藏
vqgxie
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-5-1
收藏
 问题点数:0 回复次数:2 
请大家帮我看看这个程序怎么改动一下?
定义类Student,
类中的私有变量为:学号(no),姓名(name),年龄(age), 专业(major)
    给每个私有变量定义公有的get和set函数:
        例: public:
                    void setNo(string  stuNo)
{
    no = stuNo;
}
                    string  getNo()
                    {
                        return no;
}
… …
    get和set函数即为对私有变量进行赋值和取值的外部接口。

实现功能:
        std::map<string, Student>  stuMap;     // 存储的形式为<学号,该学号对应的对象>
        提示用户输入(学号,姓名,年龄,专业),将获得的信息保存为一个Student对象,将该对象存入到容器map中,根据用户的输入不断保存为对象存入map中,直到用户输入exit为止。
        用户输入exit后,系统提示用户输入查询学号,接收用户输入的学号后,遍历查询map容器,取出与该学号对应的Student对象,并且显示该对象的姓名,年龄,专业。

下面这个是想让大家帮忙看的程序
程序代码:
#include<iostream>
using namespace std;
int A,B;
struct student
{
    int num;
    char name[20];
    char cou[20];
    double sum;
    double ave;
    double score[20];
}stu[100];
void nav(int M,int N);
void input(student stu[],int M,int N);
void work(student stu[],int M,int N);
void look(student stu[],int M,int N);
void run(student stu[],int M,int N);

int main()
{
    cout<<"请输入学生数和某学号对应的对象数:";
    cin>>A>>B;
    int M,N;
    M=A,N=3;
    input(stu,M,N);
    work(stu,M,N);
    run(stu,M,N);
    nav(M,N);
    system("pause");
    return 0;
}

void input(student stu[],int M,int N)
{    int i;
    cout<<"请输入"<<N<<"对象名称:"<<endl;
    for(i=0;i<N;i++)
        cin>>stu[i].cou;
    cout<<"-----请按照下列格式输入-----"<<endl;
    cout<<"学号";
    for(i=0;i<N;i++)
        cout<<"   "<<stu[i].cou;
    cout<<endl;
    for(i=0;i<M;i++)
    {
        cin>>stu[i].num>>stu[i].name;
        for(int j=0;j<N;j++)
            cin>>stu[i].score[j];
    }
}


void run(student stu[],int M,int N)
{
     int i;
    student t;
    for( i=0;i<N-1;i++)
        for(int j=0;j<N-1-i;j++)
            if(stu[j].sum<stu[j+1].sum)
            {
                t=stu[j];
                stu[j]=stu[j+1];
                stu[j+1]=t;
            }
    cout<<"学号 ";
    for(i=0;i<N;i++)
        cout<<"   "<<stu[i].cou;
    cout<<" 年龄 专业";
    cout<<endl;
    for(i=0;i<M;i++)
    {
        cout<<stu[i].num<<"\t"<<stu[i].name<<"\t";
        for(int j=0;j<N;j++)
            cout<<stu[i].score[j]<<"\t";
        cout<<stu[i].sum<<"\t"<<stu[i].ave<<endl;
    }
}


void look(student stu[],int M,int N)
{
    int t,j;
    cout<<"请输入要找的学生学号:";
    cin>>t;
    for(int i=0;i<M;i++){
        if(t==stu[i].num)
        {
            cout<<"学号   姓名   ";
            for(j=0;j<N;j++)
                cout<<"   "<<stu[i].cou;
            cout<<"   总分   平均分";                 //此处肯定不对
            cout<<endl;
                cout<<stu[i].num<<"\t"<<stu[i].name<<"\t";
                for(int k=0;k<N;k++){
                    cout<<stu[i].score[k]<<"\t";
                }
                cout<<stu[i].sum<<"\t"<<stu[i].ave;
                cout<<endl;
        }
    }
}

void nav(int M,int N)
{
    int t;
    for(int i=0;i<3;i++){
    cout<<"请输入数字:1、查找,2、删除。3,停止,4,继续";
    cin>>t;
    switch(t){
        case 1:
            look(stu,M,N);
            break;
       case 2:
            del(stu,M,N);
            break;
       case 3:
            cout<<"mistake!"<<endl;
            break;
      case 4:    
           nav(M,N);
           break; 

    }
   

 }       
   
} 

 
搜索更多相关主题的帖子: return 姓名 用户 
2011-05-18 16:56
vqgxie
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-5-1
收藏
得分:0 
有人吗?我那个程序大家不用看了,改起来挺麻烦的
有谁能帮忙看看这个题怎么编?
求助啊!!!
2011-05-18 18:01
vqgxie
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-5-1
收藏
得分:0 
回复 3楼 无名可用
是的,然后?编程序
2011-05-18 19:47
快速回复:请大家帮我看看这个程序怎么改动一下?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031763 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved