一道数学难题解答求解答

有一道题,图书管理程序看不懂 求解答_c++吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:270,664贴子:
有一道题,图书管理程序看不懂 求解答收藏
#include &iostream& #include &string& #include &fstream&class
Book { public:
char bookname[40];
char publicname[40];
char name[20];
Book() { num=0; bookname[0]=0;publicname[0]=0; name[0]=0;}
char *Getbookname() {}
Getnum() {} void Setdata(int,char *,char *,char *);
void Show();
Book(int, char *,char *,char *); }; void
Book::Setdata(int nu,char *bn,char *p,char *n) {num =
strcpy(bookname,bn); strcpy(publicname,p); strcpy(name,n); } void
Book::Show() { cout&&num&&" "&&bookname&&publicname&&" "&&name&& }
char bn[40];
char pn[40];
char na[20];
for(i=0;i&5;i++){cin&&
b1.Setdata(nu,bn,pn,na);
file3.open("book.dat",ios::app|ios::binary);file3.write((char*)&b1,sizeof(b1));
file3.close();}
file1.open("book.dat",ios::in | ios::binary); while(!file1.eof() ){
file1.read((char *)&b1,sizeof(Book));
n=file1.gcount();
if(n==sizeof(Book)){if(strcmp(b1.Getbookname(),bn)==0)
b1.Show();
}file1.close();
票牛教你如何买到热门、便宜、真实的演出门票!
艹,怎么成这样了。。。就是,中间要输入5本书的信息,用了for循环,但是后面读取的时候没有用for循环,是个什么原理?还有gcount那个是什么意思,,,反正大概就是从输入查找书名之后就没看懂。。求高手
cin&& file1.open("book.dat",ios::in | ios::binary); while(!file1.eof() ){ file1.read((char *)&b1,sizeof(Book)); n=file1.gcount(); if(n==sizeof(Book)){if(strcmp(b1.Getbookname(),bn)==0) b1.Show(); } }file1.close(); } 就是这一段吧
在你用for循环输入书本信息后,书本信息就按一定的格式被存入了一个文件中,之后你直接读取整个文件,所以不需要循环了。gcount() 函数返回的是最后一个非格式化的抽取方法读取的字符数 n=file1.gcount();if(n==sizeof(Book))是为了验证文件是否正确读取,如果正确读取,则最后一次读取的字符数肯定与book类所占的字符数相等,所以用来验证。最后比较输入的名字与之前存储的书名,有相同的则输出。最后关闭文件。就是这样一个过程。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或来问一个问题求解答_守望先锋吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,204,780贴子:
来问一个问题求解答
这里是美服玩家,寒假期间借到了朋友的国服账号并且帮他打完定级还上了300多分,后来就去专心打美服了。之后有一天想要去国服再打一打结果正好前一阵子战网更新,之后我就完全无法登陆国服战网界面,连加载都加不出来,最后连账号输入界面都没有了。请问我还有什么办法从外国连国服吗?(用的是国服账号,肯定不是美服账号转国服)
你们都是用什么牌子的姨...
在别的吧看到这样一个帖...
我就是喜欢怎么看着你~...
        他的微...
转自李毅吧 PS:不许百...
接下来,我问你答,楼中...
请问大家有多了解一飞夫...
新生有什么问题都可以问...
票牛教你如何买到热门、便宜、真实的演出门票!
贴吧热议榜
使用签名档&&
保存至快速回贴下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
一个难题,求解答乾代表天,坤代表地,坎代表水,离代表火,震代表雷,艮代表山,巽代表__,兑代表__。修道老君答题中最难的一道,无语~~~
咸蛋超人°fgc
巽代表风,兑代表泽 我国古代的一套有象征意义的符号。用“一”代表阳,用“--”代表阴,用三个这样的符号,组成八种形式,叫做八卦。每一卦形代表一定的事物。乾代表天,坤代表地,坎代表水,离代表火,震代表雷,艮(gèn)代表山,巽(xùn)代表风,兑代表泽。八卦互相搭配又得到六十四卦,用来象征各种自然现象和人事现象。在中医中,八卦指围绕掌心周围八个穴位的总称
为您推荐:
扫描下载二维码

我要回帖

更多关于 注塑成型技术难题解答 的文章

 

随机推荐