找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1124|回复: 0

大家帮我看看有什么问题!

[复制链接]
发表于 2009-11-3 03:22:53 | 显示全部楼层 |阅读模式 IP:江苏扬州
也不知道什么原因 一个很简单的代码 但每次结果都会出现乱码问题 请高手指教!
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class book
{
private:
int bookID;
string bookName;
string bookAuthor;
string bookPress;
float bookPrice;
public:
void get()
{
  cout<<endl<<"输入书的编号"<<endl;
  cin>>bookID;
  cout<<endl<<"输入书的名字"<<endl;
  cin.ignore();
  cin>>bookName;
  cout<<endl<<"输入书的作者"<<endl;
  cin.ignore();
  cin>>bookAuthor;
  cout<<endl<<"输入书的出版社"<<endl;
  cin.ignore();
  cin>>bookPress;
  cout<<endl<<"输入书的价钱"<<endl;
        cin>>bookPrice;
}
void check()
{
  cout<<endl<<"书的编号"<<endl;
  cout<<bookID<<endl;
  cout<<endl<<"书的名字"<<endl;
  cout<<bookName<<endl;
  cout<<endl<<"书的作者"<<endl;
  cout<<bookAuthor<<endl;
  cout<<endl<<"书的出版社"<<endl;
  cout<<bookPress<<endl;
  cout<<endl<<"书的价钱"<<endl;
  cout<<bookPrice;
}
/*void flcheck(int)
{
  ifstream ifile("F:\\book.dat");
  int a;
  string b;
  string c;
  string d;
  float e;
  ifile>>a>>b>>c>>d>>e;
  int h;
  cin>>h;
  switch(h)
  {
  case 1:
   cout<<"输入ID"<<endl;
   cin>>a;
   if(a==bookID)
   {
      cout<<bookName<<endl<<bookAuthor<<endl<<bookPress<<endl<<bookPrice<<endl;
    break;
   }
  }
}*/
void idcheck(int q)
{
  ifstream ifile("F:\\fa.dat");
  int a;
  string b;
  string c;
  string d;
  float e;
  ifile>>bookID>>bookName>>bookAuthor>>bookPress>>bookPrice;
  if(q==bookID)
  {
   cout<<endl<<"查询结果:"<<endl<<bookID<<bookName<<bookAuthor<<bookPress<<bookPrice<<endl;
  }
  if(q!=bookID)
  {
   cout<<endl<<"查询结果:"<<endl<<"没有该书记录"<<endl;
  }
}
};
int main()
{
int haha;
book FeinaAen;
while(1)
{
  cout<<endl<<"0.退出"<<endl;
  cout<<endl<<"1.插入书信息"<<endl;
  cout<<endl<<"2.查看书信息"<<endl;
  cout<<endl<<"3.删除书信息"<<endl;
  cout<<endl<<"4.分类查找"<<endl;
  cout<<endl<<"选择(0-4)"<<endl;
  cin>>haha;
  if(haha==1)
  {
   ofstream ofile("F:\\fa.dat",ios::app);
   char reply='Y';
   while(reply=='Y'||reply=='y')
   {
    cout<<endl<<"按以下提示输入"<<endl;
    FeinaAen.get();
    ofile.write((char *)&FeinaAen,sizeof(book));
    cout<<endl<<"是否继续插入书信息[y/n][Y/N],按其他键退出程序"<<endl;
    cin>>reply;
    ofile.close();
   }
   if(reply=='N'||reply=='n')
    continue;
   if(reply!='N'||reply!='n'||reply!='y'||reply!='Y')
    break;
   //ofile.close();
  }
  if(haha==2)
  {
   ifstream ifile("F:\\fa.dat");
   while(ifile)
   {
    FeinaAen.check();
    ifile.read((char *)&FeinaAen,sizeof(book));
   }
   ifile.close();
  }
  if(haha==4)
  {
   int haha1;
   cout<<endl<<"1.按ID查找"<<endl;
   cout<<endl<<"2.按书名查找"<<endl;
   cout<<endl<<"3.按作者查找"<<endl;
   cout<<endl<<"4.按出版社查找"<<endl;
   cin>>haha1;
   if(haha1==1)
   {
    cout<<"输入ID"<<endl;
       int u;
       cin>>u;
                FeinaAen.idcheck(u);
   }
  }
  if(haha==0)
   break;
}
return 0;
}
删除部分还没写 不用去看 查找方面不知道出了什么问题 我用链表形式写了一个同样的程序 就没有乱码情况 现在非常的不解!!

[[italic] 本帖最后由 Freeness 于 2007-11-25 17:52 编辑 [/italic]]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 13:17 , Processed in 0.259037 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表