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

Как связать несколько файлов одной программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простые циклы с++ http://www.cyberforum.ru/cpp-beginners/thread732884.html
Ребят, помогите прогу написать по заданию, пожалуйста.
C++ вывести след без исп массивов Вводится матрица чисел. Вывести на экран ее след без использования массивов. Я только начала изучать программирование, помогите пожалуйста с задачей. #include "stdafx.h" int _tmain(int argc,... http://www.cyberforum.ru/cpp-beginners/thread732883.html
C++ Реализация одной интересной формулы
Нужно реализовать формулу:
C++ Чтение данных ф - ей scanf
Добрый вечер. Подскажите, почему в программе не получается правильно считать число ф - ей scanf? #include <iostream> using namespace std; struct book { char title; //наименование книги char...
C++ Взлом простейшего кода http://www.cyberforum.ru/cpp-beginners/thread732836.html
Вот написал предельно простую программку которая при вводе пароля выдает некоторый код. И появился такой вопрос можно ли exe-шник как-то взломать(узнать этот пароль, или узнать код, или как-то...
C++ Что делает эта программа? Требуется написать вызов функции (он есть, но правильно ли написан?) и определить ее назначение - с этим сложнее. #include "stdafx.h" #include <stdio.h> #include <locale.h> void F(int val, int... подробнее

Показать сообщение отдельно
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106

Как связать несколько файлов одной программы - C++

15.12.2012, 20:24. Просмотров 1640. Ответов 9
Метки (Все метки)

есть 3 файла

MainFile.cpp
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <windows.h>
#include <fstream>
#include "BankAccounts.h"
 
using namespace std;
 
int main()
{   
    ofstream out_stream;
    
    system("chcp 1251>text");
    BankAccount account1(190,50,3.5),account2(200,3.6);
    BankAccount account3;
    account3 = account1 + account2;
    account3.output(cout);
   
    account1.update();
    account1.update();
    account2.update();
    
    comparison(account1,account2,account3);
    
        
        
    system("pause");
    return 0;
}

BankAccounts.h
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <windows.h>
#include <fstream>
 
using namespace std;
 
class BankAccount
{
public:
   //Новые функции    
       
   //Конструкторы    
   BankAccount(int new_dollars,int new_cents,double new_rate);    
   BankAccount(int new_dollars,double new_rate);  
   BankAccount();
   //Дружественные функции
   friend bool equal_balance(BankAccount object1, BankAccount object2);
   friend bool equal_rate(BankAccount object1, BankAccount object2);
   friend BankAccount operator + (BankAccount object1, BankAccount object2);  
   /////*********************
   
   //Функции добавленные самостоятельно
   
   //Сравнение на больше
   friend bool bigest_balance(BankAccount object1 , BankAccount object2);
   friend bool bigest_rate(BankAccount object1 , BankAccount object2);
   //Конечная функция на равно и больше
   friend void comparison(BankAccount object1 , BankAccount object2, BankAccount object3);
   
   
   ///////*******************
   void update();
   // Постусловие: к балансу счета прибавлены процентные
   // начисления за один год.
   double get_balance();
   // Возвращает текущий баланс счета.
   double get_rate();
   // Возвращает текущую процентную ставку.
   void output(ostream& outs);
   // Предусловие: если оuts - выходной файловый поток.
   // он уже соединен с файлом.
   // Постусловие: значения баланса счета и процентной ставки
   // записаны в поток оuts.
   //***************************************************
   
private:
   string name;
   double balance;//баланс на счете
   double interest_rate;//процентная ставка
   double fraction(double persent);
   // Преобразует проценты в дробь. Например,
   // функция frаctiоn(50.3) возвращает значение 0.503.
};

и BankAccounts.cpp
Кликните здесь для просмотра всего текста
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#include <iostream>
#include <windows.h>
#include <fstream>
#include "BankAccounts.h"
 
using namespace std;
 
//Конструкторы
 
//Конструктор для первого вклада
BankAccount::BankAccount(int new_dollars,int new_cents,double new_rate)
{
  balance=new_dollars+(0.01*new_cents);
  interest_rate=new_rate;
}
//для второго
BankAccount::BankAccount(int new_dollars,double new_rate)
{
  balance=new_dollars;
  interest_rate=new_rate;
}
//поумолчанию
BankAccount::BankAccount()
{
  balance=0.00;
  interest_rate=0.01;
}
 
//===============//Функции на сравнение
 
//Сравнивает баллансы
bool equal_balance(BankAccount object1, BankAccount object2)
{
  return(object1.balance==object2.balance);
}
 
//Сравнивает процентные ставки
bool equal_rate(BankAccount object1, BankAccount object2)
{
  return(object1.interest_rate==object2.interest_rate);
}
//Сложение баланса первого и второго с процентной ставкой 0.01%
BankAccount operator + (BankAccount object1, BankAccount object2)
{
  BankAccount new_account;
  new_account.balance=object1.balance + object2.balance;
  new_account.interest_rate = 0.01;
  return(new_account);
} 
//Сравнение на больший баланс
bool bigest_balance(BankAccount object1 , BankAccount object2)
{
    return(object1.balance > object2.balance);
}
//Сравнение на больший процент
bool bigest_rate(BankAccount object1 , BankAccount object2)
{
    return(object1.interest_rate > object2.interest_rate);
}
 
 
//Конечная функция на равно и больше
void comparison(BankAccount object1 , BankAccount object2, BankAccount object3)
{
  //Сравнение на равно
    if(equal_balance(object1,object2) && equal_balance(object1,object3))
      { cout.width(100);
        cout.fill('-');
        cout<<"\nВсе вклады равны\n";
        object1.output(cout);
      }
    else 
      if(equal_balance(object1,object2))
      { cout.width(100);
        cout.fill('-');
        cout<<"\nПервый и второй вклады равны "<<endl;
        object1.output(cout);
      }
      else
        if(equal_balance(object1,object3))
        { cout.width(100);
          cout.fill('-');
          cout<<"\nПервый и третий вклады равны "<<endl;
          object1.output(cout);
        }
        else 
          if(equal_balance(object2,object3))
            { cout.width(100);
              cout.fill('-');
              cout<<"\nВторой и третий вклады равны "<<endl;
              object2.output(cout);
            }
    //Сравнение на больше баланс
    if(bigest_balance(object1,object2) && bigest_balance(object1,object3))
    { cout.width(100);
      cout.fill('-');
      cout<<"\nБаланс первого вклада больше всех "<<endl;
      object1.output(cout);
    } 
    else
      if(bigest_balance(object2,object1) && bigest_balance(object2,object3))   
      { cout.width(100);
        cout.fill('-');
        cout<<"\nБаланс второго вклада больше всех "<<endl;
        object2.output(cout);
      }  
      else
         if(bigest_balance(object3,object1) && bigest_balance(object3,object2))   
         { cout.width(100);
           cout.fill('-');
           cout<<"\nБаланс третьего вклада больше всех "<<endl;
           object3.output(cout);
         }   
     //Сравнение на больше процентная ставка
     if(bigest_rate(object1,object2) && bigest_rate(object1,object3))
    { cout.width(100);
      cout.fill('-');
      cout<<"\nУ первого вклада процентная ставка больше всех "<<endl;
      object1.output(cout);
    } 
    else
      if(bigest_rate(object2,object1) && bigest_rate(object2,object3))   
      { cout.width(100);
        cout.fill('-');
        cout<<"\nУ второго вклада процентная ставка больше всех "<<endl;
        object2.output(cout);
      }  
      else
         if(bigest_rate(object3,object1) && bigest_rate(object3,object2))   
         { cout.width(100);
           cout.fill('-');
           cout<<"\nУ третьего вклада процентная ставка больше всех "<<endl;
           object3.output(cout);
         }      
}
//===========//
 
double BankAccount::get_balance()
{
  return balance;
}
 
double BankAccount::get_rate()
{
  return interest_rate;
}
 
void BankAccount::update()
{
  double year_balance=0;
  
  year_balance=((balance*interest_rate)/100);
  balance=balance+year_balance;
}
 
void BankAccount::output(ostream& outs)
{ 
  outs<<"На момент закрытия вклада, на нем было "<<balance<<" долларов, "
      <<"\nпри процентной ставке "<<interest_rate<<" процентов\n"<<endl; 
}


В 10ой студии все работает а вот под dev c++ запускаться нехочет
помогите разобраться что нетак и как с этим бороться ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru