| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:文件怎么弄?希望大家指出我的错误。先谢谢大家啦
只看楼主 加入收藏
jinmyan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-1-6
结帖率:0
收藏
 问题点数:0 回复次数:2 
文件怎么弄?希望大家指出我的错误。先谢谢大家啦
#include "iostream.h"
#include "fstream.h"
#include "string.h"
#define MAX 100
struct WORD
{
    char english[10];
    char chinese[20];
};
class dic
{
private:
    WORD word[MAX];
public:
    int n;
    dic();
    void input();
    void check();
    void show();
};

dic::dic()
{
    n=1;
}
void dic::input()
{
    cout<<"english:";
    cin>>word[n].english;
    cout<<"chinese:";
    cin>>word[n].chinese;
    ofstream file("dictionary.dat",ios::out|ios::app);
    file.write((char*)&word[n],sizeof(WORD));
    n++;
}
void dic::check()
{
    int j=1;
    bool isfind=false;
    char checkname[10];
    cout<<"checkname;";
    cin>>checkname;
    ifstream checkfile("dictionary.dat");
    if(!checkfile)cout<<"open error!";
    while(checkfile.read((char*)&word[j],sizeof(WORD)))
    {
        if(strcmp(checkname,word[j].english)==0)
        {
            cout<<"chinese:"<<word[j].chinese;
            isfind=true;
        }
        else j++;
    }
    if(!isfind)cout<<"没有找到!"<<endl;
}
void dic::show()
{
    int j=1;
    ifstream infile("dictionary.dat");
    if(!infile)cout<<"open error!"<<endl;
    while(infile.read((char*)&word[j],sizeof(WORD)))
    {
        cout<<word[j].english<<word[j].chinese<<endl;
        j++;
    }
}
void main()
{
    dic dictionary;
    int N,m=1;
    cout<<"...............字典..........................."<<endl;
    cout<<"1..............输入单词......................."<<endl;
    cout<<"2..............查找单词......................."<<endl;
    cout<<"3..............显示字典库....................."<<endl;
    cout<<"4..............退出..........................."<<endl;
    while(m)
    {
        cin>>N;
        switch(N)
        {
           case 1:  dictionary.input();break;
           case 2:  dictionary.check();break;
           case 4:  dictionary.show();break;
           case 5:  m=0;break;
        }
    }
}
搜索更多相关主题的帖子: 文件 
2010-01-15 19:16
jinmyan
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-1-6
收藏
得分:0 
编译的时候没有错误,但是运行的时候,当显示字典的时候没有显示。。。为什么啊,谢谢大家多多指点小弟啊
2010-01-15 19:32
linrchang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-1-25
收藏
得分:0 
你的switch语句那里是1.2.4.5.改成1.2.3.4就行了吧
switch(N)
        {
           case 1:  dictionary.input();break;
           case 2:  dictionary.check();break;
           case 3:  dictionary.show();break;
           case 4:  m=0;break;
        }
2010-01-25 13:39
快速回复:文件怎么弄?希望大家指出我的错误。先谢谢大家啦
数据加载中...
 
   



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

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