| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 946 人关注过本帖
标题:有没有人能帮帮我做这题啊,老是出毛病
只看楼主 加入收藏
yqfang310
Rank: 2
等 级:新手上路
威 望:4
帖 子:458
专家分:0
注 册:2006-10-10
收藏
 问题点数:0 回复次数:7 
有没有人能帮帮我做这题啊,老是出毛病
做一个根据学号查名字以及根据名字查学号的程序,名字和学号的对应表从文件中读入学号与名字的数据
搜索更多相关主题的帖子: 出毛病 
2008-03-06 16:20
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
这个程序应该不难啊,你把你的代码给看看啊....

学习需要安静。。海盗要重新来过。。
2008-03-06 16:49
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
你分别把学号和姓名读到no[]和name[]里
两个函数,分别查找两个数组,查学号返回no[i],查姓名返回name[i]

Fight  to win  or  die...
2008-03-06 19:16
tszhao
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-3-4
收藏
得分:0 
我也编写了一下这个程序,结果也是出错了,哪位高手帮帮忙哈!!~
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
class data
{
public:
    data(){};
private:
    string name;
    int num;
};
int main()
{
    vector<data> vec;
    data d;
    void check(int numb,vector<data>);
    void check(string str,vector<data>);
    void input();
    int numb;
    string nam;
    ifstream infile("nam_num.dat",ios::in);    //nam_num.dat  是你存放名字和学号对应表的文件。
    if(!infile)
    {
        cerr<<"open file error!"<<endl;
        exit(0);
    }
    ostream& operator>>(ostream&input,data&d)
    {
        input>>d.num>>d.name;
        return input;
    }
    while(infile>>d)
    vec.push_back(d);
    cout<<"请输入你要查询的学号:";
    cin>>numb;
    check(numb,vec);
    cout<<"请输入你要查询的学生姓名:";
    cin>>nam;
    check(nam,vec);
    return 0;
}
void check(string nam,vector<data> vec)
{
    int i,m;
    int flag(0);
    for(i=0;i!=vec.size();++i)
        if(nam==data.name[i])
        {
            flag=1;
            m=i;
        }
    if(flag)
        cout<<vec[m].num<<"    "<<vec[m].name<<endl;
    else
        cout<<"没有这个学生!"<<endl;
}
void check(int numb,vector<data> vec)
{
    int i,m;
    int flag(0);
    for(i=0;i!=vec.size();++i)
        if(numb==data.num[i])
        {
            flag=1;
            m=i;
        }
    if(flag)
        cout<<vec[m].num<<"    "<<vec[m].name<<endl;
    else
        cout<<"没有这个学生!"<<endl;
}
2008-03-06 21:10
yqfang310
Rank: 2
等 级:新手上路
威 望:4
帖 子:458
专家分:0
注 册:2006-10-10
收藏
得分:0 
有没有人忙看一下啊,小弟C++基础不怎么好

JAVA是什么?我也不清楚......
2008-03-08 14:44
yqfang310
Rank: 2
等 级:新手上路
威 望:4
帖 子:458
专家分:0
注 册:2006-10-10
收藏
得分:0 
[bo]以下是引用 [un]aipb2007[/un] 在 2008-3-6 19:16 的发言:[/bo]

你分别把学号和姓名读到no[]和name[]里
两个函数,分别查找两个数组,查学号返回no,查姓名返回name

从文件里面怎么分别读到数组啊,真的不懂耶

JAVA是什么?我也不清楚......
2008-03-08 14:51
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
找本书看文件流fstream

Fight  to win  or  die...
2008-03-08 15:09
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
把映射信息写入文件了,你读的时候,把一行一行的数据读出来,再自己做好一个映射,再在内存里面进行查找就可以了
当然,如果 文件特别大,是不适合全部读入内存的,这个时候就应该读一部份查一部份

可惜不是你,陪我到最后
2008-03-08 19:14
快速回复:有没有人能帮帮我做这题啊,老是出毛病
数据加载中...
 
   



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

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