标题:c中二进制文件读取问题
只看楼主
chunchunge
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-1-12
结帖率:0
已结贴  问题点数:20 回复次数:9 
c中二进制文件读取问题
各位帮忙看一下,有什么建议提提。让我头疼好久了。第四个不会写,哪位帮我补充一下。。。

#include <fstream>
#include <string>
using namespace std;
void input(void)
void clear(void)
void main()
{ struct phone
    {string mane;
     int num;
    }man[50];
 phone *p[50];
 
 int i,j,k,s,t;
for (i=0;i<=49;i++)
    p[i]=&man[i];
 while(true)
 {cout<<"请输入要进行的操作"<<endl;
 cout<<"1.输入电话记录"<<endl;
 cout<<"2.删除电话记录"<<endl;
 cout<<"3.查询电话记录"<<endl;
 cout<<"4.保存电话记录"<<endl;
 cout<<"5.读取电话记录"<<endl;
 cout<<"6.退出"<<endl;
 }
 cin >>i;
 switch(i)
 {case(1):{for(j=0;j<=49;j++)
             {if (p[j]->name=NULL& p[j]->nun=NULL)input(j);
            }
                break;
            }
 case(2):cout<<"请输入你要删除的编号:">>endl;
         cin>>k;
         if(p[k]->name=NULL& p[k]->nun=NULL)
             for(s=k;s<=50;s++)
                 p[k]=p[k+1];
 case(3):{ofstream outfile("file1.dat",ios::app|ios::binary);
         outfile.close()
         }
 case(4):
 case(5):{struct phone people[50]
            ifstream infile("file1.dat",ios::init|ios::binary);
            for(t=0;t<50;t++)
                infile.read(char*)&(people[t],sizeof(people[t]));
            infile.close();
            for(t=0;t<50;t++)
                cout<<people[t];
         }
 case(6):abort();
 }
}
void input(j)
{cin>>p[j]->name;
 cin>>p[j]->num;
 break;
}
搜索更多相关主题的帖子: 二进制 include 电话 void 
2013-01-12 13:59
cqu0914
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-11-1
得分:3 
先把你的目的写下来

我思故我在。
2013-01-12 14:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:3 
你这一坨代码烂到家了,=和==的不同我不说,我只问:你到底是想用C还是用C++?
2013-01-12 14:52
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
得分:3 
cout都来了,算c++

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-01-13 11:22
痴情的猪
Rank: 2
等 级:论坛游民
帖 子:20
专家分:36
注 册:2013-1-12
得分:3 
应该是C++吧

像猪一样痴情!!!但我不是猪!!!
2013-01-13 11:25
liqingqinger
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:69
专家分:163
注 册:2013-1-2
得分:3 
貌似  学了C++半学期 输出确实用cout

求布喷。。。
我是菜鸟。。。。。
2013-01-13 20:06
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:3 
楼上的手机不错啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-13 23:11
liu137800
Rank: 2
等 级:论坛游民
帖 子:21
专家分:24
注 册:2012-12-25
得分:3 
学习一下文件的读写吧!程序员必过的一关,不会不行的,不要总想着求代码!
2013-01-14 10:18
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:3 
回复 7楼 yaobao
版主意思是人长得不错吧,嘿
2013-01-14 20:05
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:0 
回复 楼主 chunchunge
代码分格有点不规范,还有我不赞成来这里叫人帮写的,如果自己写了遇到什么问题可以帮你解决这也是为了你好
就初略之处一点问题吧,再输入选择时应该确保输入的值在1---6之间,而且输入的不能是负数可以这样
do{
cout<<"1.输入电话记录"<<endl;
 cout<<"2.删除电话记录"<<endl;
 cout<<"3.查询电话记录"<<endl;
 cout<<"4.保存电话记录"<<endl;
 cout<<"5.读取电话记录"<<endl;
 cout<<"6.退出"<<endl;
cout<<"Please input your choise(1---6):";
cin>>i;
}while(i<1&&i>6);
还有不知道是不是我见识少,case有这样写的吗?case(1):?是case 1:的吧。
其它的就没时间看了


2013-01-14 20:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-396378-1-1.html




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

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