2

我为我的班级编写了这段代码,当我调试它运行但在几秒钟内关闭我不知道我在这里做错了什么。我对 C++ 真的很陌生,所以。

这是代码:

#include "stdafx.h"
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
 {
  double gallons;
  double startmile;
  double endmile;
  double totalmilestravelled;

  cout << "This Program Calculates your vehicle's gas mileage on this trip\n" << endl;
  cout << "What is the number of gallons consumed on the trip: ";
  cin  >> gallons;
  cout << "\nWhat was your ending mile?";
  cin  >> endmile;
  cout << "\nWhat was your starting mile?";
  cin  >> startmile;

  totalmilestravelled = endmile-startmile;
  double mpg = totalmilestravelled/gallons;

  cout << "your gas mileage is: " << mpg << endl;
  return 0;
  }

这就是错误:程序“[9848] gasmileage.exe:Native”已退出,代码为 0 (0x0)。

4

1 回答 1

1

那不是错误。程序正常退出。当您运行一个程序时,它会执行并以程序指定的退出代码退出。在这种情况下,您返回 0,因此程序以代码 0 退出。如果您希望程序“暂停”以允许您在程序关闭之前查看程序的结果,请在 return 语句之前添加:

cin.ignore(128, '\n');

cin.get();

第一行丢弃留在标准输入中的换行符。在您了解有关输入流的更多信息之前不要太担心这一点,但如果您在读取用户的数字输入后尝试读取字符串,则需要这样做。第二行将提示用户进行一些输入(推回)。你不关心输入是什么,你不会对输入做任何事情。您只想强制程序等待用户输入,以便在继续执行程序之前查看正在发生的事情(在这种情况下程序立即退出)。

想想那些说“按任意键”的程序。这和我们在这里做的事情是一样的。给用户一点时间来查看输出。

于 2013-09-13T04:07:40.190 回答