blastermak

Algo3_v0.5

May 15th, 2013
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. class koers {
  8.     public:
  9.     koers();
  10.     void berekenkoers();
  11.     void leesbestand();
  12.     void kiesaandelen(int dag, int bedrag);
  13.     int bitstring(int dag);
  14.    
  15.     ifstream invoer;
  16.     string invoernaam;
  17.     int n, doeldag, dag;        //int voor n en Tw en huidige dag
  18.     float bedrag;           //float voor B0
  19.     int aandelen;
  20.     float koersmatrix[100][100];    //matrix voor koersen van de dagen [dag][koers[
  21.     float rente[100];       //array voor het opslaan van de rentes [dag]
  22.     bool bezit[10];         //array voor bezit van aandelen
  23.    
  24. }; //class koers
  25.  
  26.  
  27. koers::koers(){
  28.     invoernaam = "";
  29.     dag = 0;
  30.     bedrag = 0;
  31.     for(int i = 0; i < 10; i++){
  32.         bezit[i] = false;
  33.     }//for
  34. }//koers::koers
  35.  
  36. void koers::kiesaandelen(int dag, int bedrag){
  37.     int tijdelijk = 0;
  38.     for(int i = 0; i < n; i++){
  39.         if(koersmatrix[dag+1][i] > koersmatrix[dag][i] && bedrag > koersmatrix[dag][i]){
  40.             tijdelijk = bedrag - koersmatrix[dag][i];
  41.             cout << "Koop " << i << endl;
  42.             for(int j = i+1; j < n; j++){
  43.                 if(koersmatrix[dag+1][j] > koersmatrix[dag][j] && bedrag > koersmatrix[dag][j]){
  44.                     tijdelijk = tijdelijk - koersmatrix[dag][j];
  45.                     cout << "Koop " << j << endl;
  46.                 }//if
  47.             }//for
  48.         }//if
  49.     }//for
  50. }//void kiesaandelen
  51.  
  52. int koers::bitstring(int dag){
  53.     int tijdelijk = 0;
  54.     for(int i = 0; i < n; i++){
  55.         if(bezit[i] == true){
  56.             tijdelijk = tijdelijk + koersmatrix[dag][i];
  57.             bezit[i] = false;
  58.             cout << "Verkoop " << i << endl;
  59.         }//if
  60.     }//for
  61.     return tijdelijk;  
  62. }//void bitstring
  63.  
  64. void koers::berekenkoers(){
  65.     for(int dag = 0; dag < doeldag + 1; dag++){
  66.         cout << "Dag " << dag << endl;
  67.         bedrag = bedrag * rente[dag];
  68.         bedrag = bedrag + koers::bitstring(dag);
  69.         koers::kiesaandelen(dag, bedrag);  
  70.     }//for
  71.     cout << bedrag;
  72. }//void berekenkoers
  73.  
  74. //functie voor het inlezen van een doelbestand met daarin de benodigde waardes
  75. //invoernaam wordt dynamisch bepaald, en de waardes worden naar de goede
  76. //variabelen weggeschreven
  77. void koers::leesbestand(){
  78.     cout << "Welk bestand wil je openen?" << endl;
  79.     cin >> invoernaam;
  80.     invoer.open(invoernaam.c_str(), ios::in);
  81.         if( !invoer ){
  82.             cout << "Bestand bestaat niet";
  83.             return;
  84.         }//if
  85.     invoer >> doeldag; 
  86.     invoer >> n;
  87.     invoer >> bedrag;
  88.     for(int i = 0; i < (doeldag + 1); i++){
  89.         for(int j = 0; j < n; j++){
  90.             invoer >> koersmatrix[i][j];
  91.         }
  92.     }
  93.     for(int i = 0; i < (doeldag ); i++){
  94.         invoer >> rente[i];
  95.     }//for
  96. }//void leesbestand
  97.  
  98. int main (){
  99.     koers start;
  100.     start.leesbestand();
  101.     start.berekenkoers();
  102.  
  103. }//main
Advertisement
Add Comment
Please, Sign In to add comment