Hey igen. Nu har jeg et lille problem med min ofstream.
Det jeg gerne vil have den til er følgende:
1) Læs tal fra fil og læg tallet over i en double. Dette er gjort.
2) Spørge en bruger om han vil lægge penge ind i banken. Hvis ja: Tag tallet fra Filen og plus det med det tal du vil overføre til banken.
3) Skrive resultatet over i en fil.
Det problem jeg har indtil vidre er:
Når jeg skriver til filen skriver den følgende til filen: -9.25596e+061
Min kode er således:
Struct.h
#ifndef GUARD_Struct_h
#define GUARD_Struct_h
#include <iostream>
struct InsertRegnSkab {
double deposit; // Deposit
double withdraw; // Withdraw
double BankInput; // Number from file
double AmountOfMoney; // Number when File's number and entered value is plussed
void WriteInsertRegnSkab();
};
#endif
BankFuncProto.h
#ifndef GUARD_BankOption_h
#define GUARD_BankOption_h
#include <iostream>
double Deposit(double ValueToDeposit, double FilenumberToPlus, double Result);
double FirstTimeDeposit(double Value);
double Withdraw(double WithdrawResult);
bool ReadIntBinary(int& someInt, const char* fileName);
bool WriteIntBinary(int& someInt, const char* fileName);
#endif
BankFunctions.cpp
#include <iostream>
#include <fstream>
#include <stdexcept>
#include "BankFuncproto.h"
#include "Struct.h"
using namespace std;
// Give the structure a name
InsertRegnSkab Regnskab;
// _________________________
double Deposit(double ValueToDeposit, double FilenumberToPlus, double Result)
{
if(FilenumberToPlus == 0)
throw domain_error("Unable to plus Bank deposit with entered value");
Result = ValueToDeposit + FilenumberToPlus;
return Result;
}
double FirstTimeDeposit(double Result)
{
Result = Regnskab.AmountOfMoney;
return Result;
}
main.cpp
cout << "Would you like to view your money? \nYes\nNo ";
string YesNo;
cout << endl;
cin >> YesNo;
// ___________
// Stringstream to ReadBank's input
string Indhold;
stringstream SS;
// ReadBank
if(YesNo == "Yes" || YesNo == "yes")
{
system("CLS");
ReadBank.open("Bank.txt");
if(ReadBank.is_open() )
{
while(! ReadBank.eof() )
{
getline (ReadBank, Indhold);
}
// File size function
long end, begin;
begin = ReadBank.tellg();
ReadBank.seekg (0, ios::end);
end = ReadBank.tellg();
// __________________
SS << Indhold;
SS >> regnskab.BankInput;
cout << "Money: " << regnskab.BankInput << endl;
cout << endl << endl << "File size is: " << (end-begin) << ". Bytes" << endl;
Sleep(5000);
ReadBank.close();
}
else
{
cout << "Unable to open file!" << endl;
ReadBank.close();
}
}
// ________
system("CLS");
cout << "Would you like to Withdraw, or deposit money to your bank? \n1) Deposit\n2) Withdraw" << endl;
int Dep_or_With;
cin >> Dep_or_With;
if(Dep_or_With == 1)
{
cout << endl << "Enter value you want to deposit: ";
double DepValue;
cin >> DepValue;
*DepositPointer = DepValue;
if(regnskab.BankInput >= 1)
{
Deposit(regnskab.deposit, regnskab.BankInput, regnskab.AmountOfMoney);
cout << "First option availeable" << endl;
}
else
{
FirstTimeDeposit(regnskab.deposit);
cout << "Second option availeble" << endl;
}
WriteBank.open("Bank.txt");
if(WriteBank.is_open() )
{
WriteBank << regnskab.AmountOfMoney;
WriteBank.close();
}
}
Nogen der kan hjælpe? Ville være dejligt