当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>C++发蒙之用C++制作程序</b>[VC/C++编程]

赞助商链接



  本文“<b>C++发蒙之用C++制作程序</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

目前我们已包办理了原始的书店问题了:我们必须读取贩卖记录文件并生成一个报告,显示出每本书的总共收入、平均售价和贩卖数目.

操练24:

编写一个程序来读取几个事件记录.关于每个新读取的事件记录,检测它的ISBN能否与前面的相同,计算每个ISBN有多少个事件记录.通过给出几条事件记录来测试这个程序.这些事件应当有多个ISBN,但是每个ISBN的记录应当调集在一同.

我们假定某个给定的ISBN的全部事件记录是在一同呈现的.我们的程序将把每个ISBN的数据组合到Sales_item对象total中.我们从尺度输入中读取的每个事件都被保存在第二个Sales_item对象trans中.每次读取新事件的时刻,我们城市把它与total中的Sales_item对象对比.假如两个对象的ISBN相同,我们就更新total.不然我们就打印total中的值,并把它设置为方才读取的事件记录的值.

#include <iostream>
#include "Sales_item.h"
int main()
{
 // 定义变量来保存举行中的和与下一个记录
 Sales_item total, trans;
 // 需求处理数据吗?
 if (std::cin >> total) {
  // 是的,读取事件记录
  while (std::cin >> trans)
   if (total.same_isbn(trans))
    // 匹配,更新total
    total = total + trans;
   else {
    // 不匹配,打印和赋值
    std::cout << total << std::endl;
    total = trans;
   }
   // 记得打印最后的记录
   std::cout << total << std::endl;
 } else {
  // 没有输入!提醒用户
  std::cout << "No data?!" << std::endl;
  return -1; // 表示失利
 }
 return 0;
}

这个程序是我们到目前为止见到的最复杂的一个,但是它只利用了我们已经碰到的一些工具.像普通一样,我们开始包含了尺度类库中的iostream和自己的类中的Sales_item.h头文件.

在main中我们定义了所需求的对象:total用于统计给定ISBN的数据和,trans将保存我们读取的事件记录.我们先把一个事件读入total中并测试读取能否成功.假如读取失利了,那么就没有记录了,我们跳到最表面的else分支,打印一条消息告诫用户没有输入信息.

假定成功地读取了一条记录,我们将履行if分支中的代码.第一个语句是while,它将在全部剩余的记录中举行循环.与前面的例子中的操作近似,我们的while条件从尺度的输入中读取值并测试能否读取了有效的数据.在例子中,我们把Sales_item对象读入trans.只要读取成功,我们就履行while的主体.

While的主体是一个if语句.我们测试两个ISBN能否相同,假如相同,我们就把两个对象相加并把后果存储在total中.假如ISBN差别,我们就打印出total中存储的值并把trans赋给total.在履行if之后,我们返回while条件,读取下一个事件记录,直到读完记录.

一旦while完成了,我们仍旧必须写出与最后的ISBN关联的数据.当while完毕的时刻,total包含了文件中最后的ISBN,但是我们没有机会打印它.我们在最后的语句代码块实现这个功效,它包含了最表面的if语句.

操练25:

利用Web站点中的Sales_item.h头文件,编译和履行这一部份中的书店程序.

操练26:

在书店程序中我们利用了加操作符而没有利用符合赋值操作符把trans加上total.为什么我们没有利用符合赋值操作符?


  以上是“<b>C++发蒙之用C++制作程序</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .