用C++实现图书管理系统(VC++6.0)知识点总结

一、需求分析

1、添加图书
2、浏览图书
3、删除图书

二、实现步骤

1、定义一个Book类,定义书的属性(成员变量)和操作(成员函数),操作包括对属性的设置和获取以及添加和删除操作。
2、实现Book类中的函数。
3、制作窗体,实现人机交互。

三、知识点

1、文件的写入

①打开文件

定义一个fstream类,成员函数open()用来打开文件

void open(const char* filename,int mode,int access);

参数:filename:要打开的文件名;mode:打开文件的方式;access:打开文件的属性。
mode常用的值:
ios::app 以追加的方式打开文件
ios::ate 打开文件后定位到文件尾部
ios::binary 以二进制方式打开文件,缺省以文本方式打开
ios::in 文件以输入方式打开(文件数据输入到内存)
ios::out 文件以输出方式打开(内存数据输出到文件)
ios::nocreat 不建立文件,所以文件不存在时打开失败
ios::noreplace 不覆盖文件,所以文件存在时打开失败
ios::trunc 如果文件存在,把文件长度设为0
属性的连接方式:用 | 连接,如ios::app|ios::binary。
access(打开文件的属性)取值(除第一个外,其余都是首位为1其余为0的二进制数):
0:普通文件,打开访问
1:只读文件
2:隐含文件
4:系统文件
属性连接方式:用 | 连接,如1 | 2。
fstream的两个子类:
ifstream默认以输入方式打开文件
ofstream默认以输出方式打开文件

②关闭文件

函数:fstream提供了成员close()。

③读写文件:

文本文件的读写:
读取文件:
int i;
file>>i;
写入文件:
file<<“something”;
二进制文件的读写
成员函数put(‘a’)写入单个字符
成员函数get()有3中常用重载
a:与put(char &ch)对应,从流中读取一个字符,保存在引用中,如果在文件尾部,返回空指针。
b:int get(),从流中返回一个字符,如果到达文件尾部,返回EOF。
c:ifstream &get(char &buf,int num,char delim=’\n’);其中buf指向的数组,直到读入了num个字符或者遇到了delim指定的字符,默认为‘/n’
例如:file.get(str1,128,‘a’);从文件中读取字符到字符串str1中,当遇到‘a’或读取了128个字符终止。
读写数据块
read(unsigned char *buf,int num);
从文件中读取num个字符到buf中。
write(const unsigned char *buf,int num );
从buf指向的缓存写num个字符到文件中。

④检测EOF

成员函数eof(),若没到达文件尾部,返回0。

⑤文件定位

成员函数seekg()设置读位置;
istream &seekg(streamoff ossset,seek_dir origin);
成员函数seekp()设置写位置;
ostream &seekp(streamoff ossset,seek_dir origin)。
offset:偏移量能取得的最大值。
seek_dir的种类:
ios::beg 文件开头
ios::cur 文件当前位置
ios::ebd 文件结尾

⑥文件删除和重命名(文件关闭后才能使用)

删除:remove(“文件名”)
重命名:rename(“旧文件名”,“新文件名”);

2、sprintf和sscanf

https://www.cnblogs.com/wangtianxj/archive/2009/07/04/1516646.html

总结

作为C++入门的第一个项目,内容较为简单,未使用到C++的继承、重载、多态等知识,重点在于文件操作和需求设计。

你可能感兴趣的:(C++实战总结,总结)