回 帖 发 新 帖 刷新版面

主题:结构体的字符串判断问题

[size=5]现在我用结构体来编写图书信息管理程序,怎么[b]查询功能[/b]不能实现啊!诸位,帮帮忙![/size]
程序如下:
       


 /*图书信息包括:图书的等。
   试设计图书信息管理系统,使之能提供一下功能:
   1  图书录入功能;
   2  图书信息的删除和修改;
   3  图书信息的浏览功能;
   4  按书名、作者名查询 */

#include"iostream.h"
void main()
{
    cout<<"欢迎进入图书信息管理系统"<<endl;
    
    
    cout<<"0:录入功能"<<endl;
    cout<<"1:浏览功能"<<endl;
    cout<<"2:按书名、作者名查询功能"<<endl;
    cout<<"3:删除,修改功能"<<endl;

    
    int  n=0;
    struct book{
        int denglu;         //图书的登录号
        char name[100];      // 书名
        char zuozhe[100];    //作者名
        int fenlei;          //分类号
        char pub[100];      //出版单位
        int year,month,day; //出版时间(年、月、日)
        float price;       //价格
    }book[100];

    
        
        for(;;)
        {
            cout<<"请按编号选择功能:"<<endl;
            int a;    
            cin>>a;
            switch(a)
            {
                case 0:           //录入功能
        
        
                    {
                       int i;int t;
                        i=n;
                        for(;;)
                        {
                              cout<<"输入要录入图书的登录号、书名、作者名、分类号、出版单位、出版时间(年、月、日)、价格:"<<endl;
                              cin>>book[i].denglu>>book[i].name>>book[i].zuozhe>>book[i].fenlei>>book[i].pub>>book[i].year>>book[i].month>>book[i].day>>book[i].price;cout<<endl;
                           
                             i++;       
                              cout<<"继续录入请按0,完毕请按1";
                              cin>>t;
                               if(t==1)break;
                               else continue;//if(t==0){n=i;}
                        }
                      n=i;
                    cout<<"idhsfiuhdufyheiufhisufh"<<n;//else if(t!=0){n=i;break;}}cout<<"n="<<n<<endl;
                               
              
                    }    break;
                case 1:                 //图书信息的浏览功能;
                    {
                        cout<<"登录号 书名 作者名 分类号 出版单位 出版时间(年、月、日) 价格"<<endl;
                        n=n-1;
                        for(int k=0;k<=n;k++)
                        {
                             cout<<book[k].denglu<<" "<<book[k].name<<" "<<book[k].zuozhe<<" "<<book[k].fenlei<<" "<<book[k].pub<<" "<<book[k].year<<" "<<book[k].month<<" "<<book[k].day<<" "<<book[k].price<<endl;
                        }
                        n++;
                    }break;

                case 2:          //按书名、作者名查询;
                    {
                        char x[100];char y[100];
                        cout<<"请输入要查询的书名以及作者名:"<<endl;
                        cin>>x>>y;int E=0;int g=0;
                        for(int i=0;i<=n;i++)
                        {
                            for(int j=0;j<=100;j++)
                            {
                                if((book[i].name[j]==x[j])&&(book[i].zuozhe[j]==y[j]))
                                {
                                    g++;
                                }
                            }

                            if(g==101) 
                            {
                                cout<<"符合的信息有:"<<endl;
                                cout<<"登录号 书名 作者名 分类号 出版单位 出版时间(年、月、日) 价格"<<endl;
                                 cout<<book[i].denglu<<" "<<book[i].name<<" "<<book[i].zuozhe<<" "<<book[i].fenlei<<" "<<book[i].pub<<" "<<book[i].year<<" "<<book[i].month<<" "<<book[i].day<<" "<<book[i].price<<endl;
                                E++;
                            }
                            
                        }
                        if(E=n+1) cout<<"没有符合要求的书籍"<<endl;
                    }break;
            }
        }
}
    

回复列表 (共7个回复)

沙发

我说这几天老下雨呢,lz天国的他肯定在流泪

板凳

大家看怎么样 我认为很好.

3 楼


什么意思啊?不懂

4 楼


不能达到功能,这还叫好

5 楼

又抽抽上了,记号一个,过两年再看
[img]http://i3.6.cn/cvbnm/b6/68/15/ba15e755a09e6f8368e7299951b7a7ca.jpg[/img]

6 楼

这世上本没有布裤,穿的人多了,也就有了布裤

7 楼

哈,关键时候死机了……
[img]http://i3.6.cn/cvbnm/8d/b4/e7/e4d6fdf1573fc709e7f21f428921d389.jpg[/img]

我来回复

您尚未登录,请登录后再回复。点此登录或注册