Відлагодження прикладу з англійськими відстанями

Далі приведена програма 26.1 здійснює перевірку введених користувачем в клас Distance даних на наявність помилок. Зараз нам не потрібні раніше розроблені методи переведення відстаней з одних одиниць в інші. Програма повинна тільки одержувати дані та виводити їх на дисплей, якщо ж користувач помилився, то потрібно відхилити дані, пояснити користувачу, в чому полягає його помилка, і попросити ввести дані знову.

 

 

#include<iostream>

#include<string>

#include<stdlib>

using namespace std;

int isFeet(string);

///////////////

class Distance

{

private:

int feet;

float inches;

public:

Distance(): feet(0),inches(0.0)

{ }

Distance (int ft,float in):feet(ft),inches(in)

{ }

void showdist()

{cout <<feet << "\' "<< inches <<"\''";}

void getdist();

};

////////////////

void Distance::getdist()

{string instr;

while (true)

{

cout <<"\n\nVvedit futy: ";

cin.unsetf(ios::skipws);

cin>>instr;

if(isFeet(instr))

{

feet=atoi(instr.c_str()); //перевести

Значення в цілочисельне

break;

}

cout<<"Futy povynni buty cilymy <1000\n";

Кінець циклу while для футів

while(true)

{

cout<<"Vvedit dujmy: ";

cin.unsetf(ios::skipws);

cin>>inches;

if(inches>=12.0||inches<0.0)

{cout<< "Dujmy povynni buty miz 0 i 11.99\n";

Cin.clear(ios::failbit); //штучне встановлення прапору помилки

}

If (cin.good() )//чи все гаразд з cin








Дата добавления: 2015-08-26; просмотров: 584;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.