问下这C++错误问题

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
刚学C++,不怎么会用,麻烦高手帮我看下这问题:#include<fstream>#include<iomanip>#include<iostream>#include <cstdlib>using namespace std;struct phone_struct{        char name[9];        char phone[12];};void data_input(); void data_output(); int data_found();void main(){        cout<<"-----------通讯录管理系统-------\\n";         cout<<"增加通讯录信息-----------------------1\\n";         cout<<"显示通讯录信息-----------------------2\\n";
cout<<"查找通讯录信息-----------------------3\\n";        cout<<"退出请选择---------------------------7\\n";         cout<<endl;        for(;;)         {                 int i;                 cout<<"请输入您要选择的选项:";                 cin>>i;                 cout<<endl;                 if(i>0&&i<=7){switch(i)
                { case 1:data_input();break;
case 2:data_output();break;
case 3:data_found();break;case 7:cout<<"--------------------谢谢使用--------------------\\n";
default:return; }cout<<endl;}        } }void data_input(){        phone_structphone_book;        cout<<"请输入姓名:"<<endl;        cin>>phone_book.name;        cout<<"请输入电话号码:"<<endl;        cin>>phone_book.phone;        ofstream fout("phone.txt",ios::app);        fout<<phone_book.name<<" "<<phone_book.phone<<\'\\n\';        fout.close();                cout<<"成功写入信息"<<endl;}void data_output(){        phone_structphone_book;        ifstream fin("phone.txt");        cout<<"姓名
电话号码"<<endl;while(!fin.eof()){        fin>>phone_book.name>>phone_book.phone;
cout<<phone_book.name<<"
";
cout<<phone_book.phone<<endl;}fin.close();}int data_found(){        phone_struct*phone_book;
ifstream fin("phone.txt");         int n=0; while(!fin.eof()) {                fin>>phone_book[n].name;                fin>>phone_book[n].phone;                ++n; }        fin.close();        char nme[9];        cout<<"请输入要查询的姓名"<<endl;        cin>>nme;        int k=0;        while(strcmp(phone_book[k].name,nme)!=0 && k<n )        {                ++k;        }        if(strcmp(phone_book[k].name,nme)==0)                return k;        else                return -1;}就是使用第3个功能的时候,弹出了这个框。        附近那里,麻烦高手帮我看下什么问题,和帮我改改,谢谢       

                                                                                                int data_found() { phone_struct *phone_book; ifstream fin("phone.txt"); 不 能直接用指针,没有分配空间。变成int data_found() { phone_struct p[10], *phone_book=p; ifstream fin("phone.txt"); 或int data_found() { phone_structphone_book[10]; ifstream fin("phone.txt");                                        
提问者对答案的评价:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行