Я работаю, хотя Программирование: принципы и практика с использованием C ++.И я не могу заставить свою программу принимать двойные строки.Он заканчивается, как только я ввожу строку.
Если я ввожу любое число, например 100, оно будет работать, как и ожидалось, и выдает самое маленькое и самое большое.
Если я введу 100 м, 100m, 100, m программа выводит наименьшее на данный момент и самое большое, но я не могу заставить его вывести строковую единицу «m».
Я учу себя такому вводу вообще, даже если онне имеет отношения к этому вопросу, будет принята с благодарностью.
Спасибо
Я попытался ввести val1, затем введите строку.Я попытался https://github.com/bewuethr/stroustrup-ppp/blob/master/chapter04/chapter04_drill.cpp, и я даже не могу заставить эту программу работать на NetBeans. Я добавил общую строку "unit"
#include "std_lib_facilities.h"
int main ()
{
double val1 = 0; // initialized
double val1_conv = 0; //intialized
double smaller = INFINITY; // initialized
double larger = -INFINITY; // initialized
vector<double> compare; // empty vector of doubles
string unit = ""; // Added this to see if it would allow a string, I've also tried removing the = ""
string meter = "m";
string centi = "cm";
string foot = "ft";
string inch = "in";
cout << "Please input a value follow by unit (ie cm,m, in,ft), us | to stop" << endl; // put into
while (cin >> val1 >> unit) // cin "get from"
{
compare.push_back(val1);
if (unit == "m") // Just trying to get the program to accept a string after an double
{
cout << val1 << unit;
}
if (val1 < smaller)
{
smaller = val1; // assignment giving a variable a new value
cout << val1 << " is the smallest so far \n";
compare.push_back(smaller);
}
if (val1 > larger)
{
larger = val1; // assignment giving a variable a new value
cout << val1 << " is the largest so far \n";
compare.push_back(larger);
}
}
return 0; // The book doesn't have us adding this line to everything but I tried it.
}
Она действует так, как будто я неt добавить любую строку или единицу к значению