| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1221 人关注过本帖
标题:如何使用String!恳求~(看看我的代码)
只看楼主 加入收藏
gavinming
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-9
收藏
 问题点数:0 回复次数:4 
如何使用String!恳求~(看看我的代码)
最近要写个作业,《航空客运订票系统》,现在暂时的想法是给没个终点站分配一条航线,每条航线的座位(有不同级别仓位)作为一条链表,然后客户预订机票后在相应的座位节点记录下信息,作为对应客户信息的下标!下面是暂时的代码!主要问题是使用String类,为什么在私有中定义了string,在flight的构造函数的初始化中还要在前面加是string才不会报错(使用VC8.0),而且运行查询航线,相应的终点名,航空号,飞机号都无法显示出来!望各位大侠指教!
#include "iostream"
#include "string"
using namespace std;

class flight
{
public:
    flight()
    {
        string endPoint[] = {"beijing","上海","杭州","南京","南宁","武汉","南昌","夏门","安徽","长沙"};
        string planeNum[] = {"SCUT01","SCUT02","SCUT03","SCUT04","SCUT05","SCUT06","SCUT07","SCUT08","SCUT09","SCUT10"};
        string flightNum[] = {"CZ01","CZ02","CZ03","CZ04","CZ05","CZ06","CZ07","CZ08","CZ09","CZ10"};
        string flightDate[] = {"2008-6-25","2008-6-25","2008-6-26","2008-6-25","2008-6-25","2008-6-25","2008-6-25","2008-6-25","2008-6-25","2008-6-25"};
        ration = 200;
        int balance[] = {200,200,200,200,200,200,200,200,200,200};
    }
    ~flight() {}
    void checkAll();
    void checkLane();
    bool book(){return true;}
    bool returnTicket(){return true;}
    bool imformation(){return true;}

private:
    string endPoint[10];
    string planeNum[10];
    string flightNum[10];
    string flightDate[10];
    int ration;
    int balance[10];

};

//查看所有航班
void flight::checkAll()
{
    cout<<"终点站    航班号    飞机号    飞行日期        乘员定额    余票量"<<endl;
    for (int i = 0; i < 10; i++)
    {
        cout<<endPoint[i]<<"     "<<flightNum[i]<<"    "<<planeNum[i]<<"    "<<flightDate[i]<<"    "<<ration<<"    "<<balance[i]<<endl;
    }
}



 //查询航线
void flight::checkLane()
{
    string endP;
    bool check = false;
    cout<<"输入你所要到达的终点站:\n(暂提供北京、上海、杭州、南京、南宁、武汉、南昌、夏门、安徽、长沙的航班)"<<endl;
    cin>>endP;
    for (int i = 0; i < 10; i++)
    {
        if (endP == endPoint[i])
        {
            cout<<"终点站    航班号    飞机号    飞行日期        余票量\n"
                <<endPoint[i]<<"     "<<flightNum[i]<<"    "<<planeNum[i]<<"    "<<flightDate[i]<<"    "<<balance[i]<<endl;
            check = true;
        }
    }
    if (check == false)
    {
        cout<<"没有达到该地点的航班!"<<endl;
    }
}


  

void main()
{
    char choice;
    flight Flight;
    do
    {    
        cout<<"\n\n***************************航空客运订票系统***************************\n"
            <<"*****                                                            *****\n"
            <<"—————————————选择所要进行的操作—————————————\n"
            <<"                            1.查看所有航班                            \n"
            <<"                            2.查询航线                                \n"
            <<"                            3.订购机票                                \n"
            <<"                            4.退订机票                                \n"
            <<"                            5.查看自己订票信息                        \n"
            <<"                            0.退出系统                                \n"
            <<"输入你的选择:  ";
        cin>>choice;
        if (choice != '0')
        switch(choice)
        {
            case '1' : Flight.checkAll();break;
            case '2' : Flight.checkLane();break;
            case '3' : Flight.book();break;
            case '4' : Flight.returnTicket();break;
            case '5' : Flight.imformation();break;
            default :  break;
        }
    }while(choice != '0');
    cout<<"————已退出系统! ";
}

[[it] 本帖最后由 gavinming 于 2008-6-15 18:56 编辑 [/it]]
搜索更多相关主题的帖子: string 
2008-06-15 18:54
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
string endPoint[] = {"..."}这种是重新申明一个变量 endPoint,而非给类的成员变量初始化,
如果不加,如endPoint[]={"..."}是错误的格式,因为只有申明变量时,才能用这种方式,
你代码中,如果不加string,错误原因就在于[]={...}这种方式只能在变量申明时的一种初始化格式
要不用for循环给flight类的变量string endPoint[10]初始化,要不用构造函数后加:方式初始化,但这种方式格式更乱,还是用for循环方式更方便点

2008-06-15 21:37
gavinming
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-9
收藏
得分:0 
唉~只能这样了
用FOR很难定义string类型,怎么把string定义成类中的公有变量都不行,就直接提示:
错误    1    error C2059: syntax error : '{'    
错误    2    error C2334: unexpected token(s) preceding '{'; skipping apparent function body    
就想不明白跟"{"有什么关系,最后只能将其定义成全局变量!晕!
2008-06-18 19:24
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
干脆一个一个直接赋值好了....反正操作起来麻烦,一般数据量大的时候都不直接向你这样赋值,而是保存到文件中,初始化的时候,从文件读取数据初始化

2008-06-18 20:17
lyd253261362
Rank: 1
等 级:新手上路
帖 子:91
专家分:2
注 册:2007-4-26
收藏
得分:0 
尝试一下
把string改成CString!
2008-06-18 20:40
快速回复:如何使用String!恳求~(看看我的代码)
数据加载中...
 
   



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

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