编写一个程序来解决书店的问题:
1.1 问题 :
书店保存所有的销售记录档案,每条记录保存某本书的一次销售 的信息。每条记录包含3个数据项:
0-201-70353-x | 4 | 24.99 |
第一项是书的ISBN号,第二项是售出的册数,最后是单价。
需要考虑以下
1、定义变量
2、进行输入输出
3、使用数据结构保存数据
4、检测两条记录是否具有相同的ISBN
5、包含一个循环处理档案中的每条记录
下面我们来学习。
在书店程序中,我们需要将多条记录合并成单一的汇总记录
#include<iostream>
int main()
{
std::cout<<"Enter two numbers:"<<std::endl;
int v1=0;v2=0;
std::>>v1>>v2;
std::cout<<"The sum of "<<v1<<"and"<<v2<<"is"<<v1+v2<<std::endl;
return 0;
}
这个程序开始时在用户屏幕打印
Enter two numbers:
然后等待用户输入。如果用户输入
3 7
则程序产生如下输出
The sum of 3 and 7 is 10
1.2 向流写入数据
第二个打印endl,这是一个被称为操作符的特殊值。写入endl的效果是结束当前行,并将与缓冲区的内容刷到设备中。缓冲刷新操作可以保证到目前为止的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。
1.3 使用标准库中的名字
前缀std::指出名字cout和endl是定义在std的命名空间中。命名空间可以避免不经意的名字冲突。标准库中的所有名字都在命名空间std中。
::是作用域运算符,通过此运算符我们可以使用定义在命名空间std中的名字cout。
1.4 类简介
为了学习类,我们定义一个类(class)--Sales_item
为了使用类,我们需要了解三件事情:
:类名是什么?
:它是在哪里定义的?
:它支持什么操作?
为了使用一个类,我们不必关心它是如何实现的,我们只需要关心它实现什么操作!!
我们定义一个类型Sales_item
Sales_item item;
除了定义Sales_item item类型的变量之外,我们还可以:
*调用一个名为isbn的函数从Sales_item对象中提取ISBN书号。
*用输入运算符>>和输出运算符<<读写Sales_item 类型的对象。
*用赋值运算符=将一个Sales_item 对象的值赋予另一个Sales_item 类型的对象。
*用加法运算符(+)将两个Sales_item 对象相加。两个对象必须是相同的ISBN。
*使用复合运算符(+=)将一个Sales_item 对象加到另一个对象上。