Форум программистов, компьютерный форум CyberForum.ru

Переделать готовый пример - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Значение знака "%" http://www.cyberforum.ru/cpp-beginners/thread155388.html
Доброго времени суток! Знатоки вопрос к Вам (так как С++ не поддается изучению методом нахрапа) Что означает знак "%" перед именем переменной? Не могу понять для чего он вообще нужен и его смысл (или наоборот)
C++ Работа с файлами. Убрать пустые строки Дан текстовый файл, в котором встречаются пустые строки. Надо написать программу которая эти пустые строки из текстового файла удалит, и оставит просто текст. Лазил на форуме ничего подобного нету. Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread155374.html
C++ Структуры
Проблема при выводе на экран за место тех чисел которые вводил выводит 6 значиные и не выводит на русском языке отпишитесь если знаете=) #include <iostream> #include <conio.h> #include <stdio.h> #include <locale.h> #include <string.h> #include <stdlib.h> #define n 1 #define stp ""
C++ Решение уравнения
Дано уравнение: Х в квадрате+У в квадрате=К в квадрате Найти все целочисленные решение если х,у,к = от 1 до 30 #include <iostream> using namespace std; void main () { for (int x=1;x<30;x++)
C++ Вывести текст http://www.cyberforum.ru/cpp-beginners/thread155298.html
Имеется текстовой файл с несколькими строчками разных размеров. Нужно вывести текст на экран с помощью fopen Буду благодарен за помощь :)
C++ Квадратное уравнение в с Здравствуйте. Надо найти корни квадратного уравнения или показать что один корень или нет корней. Нужно сделать в с, а не в с++. Please, help подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
23.07.2010, 19:57     Переделать готовый пример
Лови всю прогу...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//stonewt.h
// stonewt.h 
#ifndef STONEWT_H_
#define STONEWT_H_
class Stonewt
{
private:
    enum {Lbs_per_stn = 14};      // фунтов на стоун
    int stone;                    // всего стоунов
    double pds_left;              // дробное число фунтов
    double pounds;                // общий вес в фунтах
public:
    Stonewt(double lbs);          // конструктор в фунтах
    Stonewt(int stn, double lbs); // конструктор в стоунах, lbs
    Stonewt();                    
    ~Stonewt();
    void show_lbs() const;        // просмотр веса в фунтах
    void show_stn() const;        // ------- в стоунах
    bool operator < (Stonewt&);
    bool operator > (Stonewt&);
    bool operator == (Stonewt&);
    bool operator != (Stonewt&);
    bool operator <= (Stonewt&);
    bool operator >= (Stonewt&);
};
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//stonewt.cpp
// stonewt.cpp 
#include <iostream>
using std::cout;
#include "stonewt.h"
 
Stonewt::Stonewt(double lbs)
{
    stone = int (lbs) / Lbs_per_stn;    // целочисленное деление
    pds_left = int (lbs) % Lbs_per_stn + lbs - int(lbs);
    pounds = lbs;
}
 
Stonewt::Stonewt(int stn, double lbs)
{
    stone = stn;
    pds_left = lbs;
    pounds =  stn * Lbs_per_stn +lbs;
}
 
Stonewt::Stonewt()          
{
    stone = pounds = pds_left = 0;
}
 
Stonewt::~Stonewt()         // destructor
{
}
 
void Stonewt::show_stn() const
{
    cout << stone << " stone, " << pds_left << " pounds\n";
}
 
void Stonewt::show_lbs() const
{
    cout << pounds << " pounds\n";
}
bool Stonewt::operator <(Stonewt &Ob)
{
    return (pounds<Ob.pounds);
}
bool Stonewt::operator >(Stonewt &Ob)
{
    return (pounds>Ob.pounds);
}
bool Stonewt::operator ==(Stonewt& Ob)
{
    return (pounds==Ob.pounds);
}
bool Stonewt::operator !=(Stonewt& Ob)
{
    return (pounds!=Ob.pounds);
}
bool Stonewt::operator <=(Stonewt &Ob)
{
    return (pounds<=Ob.pounds);
}
bool Stonewt::operator >=(Stonewt &Ob)
{
    return (pounds>=Ob.pounds);
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//stoun.cpp
#include <iostream>
using std::cout;
#include "stonewt.h"
void display(const Stonewt & st, int n);
int main(int argc, char *argv[])
{
    const int Size=6;
    int count=0;
    Stonewt Arr[Size]={250, 500, 300};
    double array[Size];
    for(int i=Size-3;i<Size;i++)
    {
        std::cout<<"Enter value\n";
        std::cin>>array[i];
        Arr[i]=array[i];
    }
    for(int i=0;i<Size;i++)
    {
        display(Arr[i], 1);
    }
    Stonewt Max=154;
    for(int i=0;i<Size;i++)
    {
        if(Arr[i]>=Max)
            count++;
    }
    std::cout<<"Num of object: "<< count <<'\n';
    Max=Arr[0];
    for(int i=0;i<Size;i++)
    {
        if(Arr[i]>Max)
            Max=Arr[i];
    }
    for(int i=0;i<Size;i++)
    {
        if(Max==Arr[i])
        {
            std::cout<<"Max element is: \n";
            display(Arr[i],1);
        }
    }
    Stonewt Min=Arr[0];
    for(int i=0;i<Size;i++)
    {
        if(Arr[i]<Min)
            Min=Arr[i];
    }
    for(int i=0;i<Size;i++)
    {
        if(Min==Arr[i])
        {
            std::cout<<"Min element is: \n";
            display(Arr[i], 1);
        }
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
void display(const Stonewt & st, int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << "Wow! ";
        st.show_stn();
    }
}
Хотя я бы перегрузил операторы ввода-вывода... Но тебе лучше знать. Рабочая.

Добавлено через 10 минут
А можно и так:

C++
1
2
3
4
5
6
7
8
9
10
    for(int i=Size-3;i<Size;i++)
    {
        double pounds=0, stones=0;
        std::cout<<"Enter value or values\n";
        std::cin>>stones>>pounds;
        if(stones==0)
            Arr[i]=Stonewt(pounds);
        else
            Arr[i]=Stonewt(stones, pounds);
    }
 
Текущее время: 16:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru