Zelaron Gaming Forum

Zelaron Gaming Forum (http://zelaron.com/forum/index.php)
-   Tech Help (http://zelaron.com/forum/forumdisplay.php?f=329)
-   -   c++ assignment (http://zelaron.com/forum/showthread.php?t=42442)

osmoses-jones 2007-05-20 07:37 PM

c++ assignment
 
i got the first part done but i have second part that confuse me i have to write a write function that write in outputdata.dat all total of number in inputdata.dat.

here the code i got it work to display what inside inputdata.dat.

Code:

#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
 
#define BUF_SIZE    21
#define IN_FILE        "InputData.dat"
 
extern void main( void )
{
    ifstream    ifInputFile;
    ofstream stream;
    char        sBuffer[BUF_SIZE];
    bool        bDataExists(true);
 
    ifInputFile.open("InputData.dat");
 
    if( ifInputFile.is_open() != 1 )
    {
        cout << "File " << IN_FILE << " could not be opened!" << endl;
        cout << "Exiting program, good bye." << endl;
    }
    else
    {
        while( bDataExists == true )
        {
            ifInputFile.getline( sBuffer, 40 );
            if( ifInputFile.eof() == 1 )
            {
                bDataExists = false;
            }
            else
            {
                cout << sBuffer << endl;
            }
        }
 
        ifInputFile.close();
    }
}

here what it display

23
36
54
75
88
64

i have to write a code that add all this number and use write function to put it in output.dat file. It confuses me i get alot of errors. Thanks for helping me.

slaynish 2007-05-21 05:24 PM

arent u that crazy african guy that was in a tribe

Willkillforfood 2007-05-21 06:06 PM

The only person that knows the answer is Kagom! *queue dramatic music* You're goin to have to earn that answer, too ;).

Demosthenes 2007-05-21 11:49 PM

Could a mod please add some code tags to the OP? It's difficult to follow without them.

Oj, I've never used iostream, but it seems like a fairly trivial assignment. Are you having trouble adding the numbers together or using the write function from IOStream? If it's the latter, I would suggest looking up some documentation on the function at google or going through some code that uses the write function at www.krugle.com or some other code repository. If it's the former, it should be easily doable with a for loop.

It looks to me as if you're saving the input as a string, which seems like a difficult way to go about doing things. I'd use an integer array to store them rather than using a single string to store multiple numbers.

osmoses-jones 2007-05-22 07:15 PM

I figure it out damn it was easy when you finds out but at first is realy hard. Anyway if you guys want to see complete code i can post it.

Lenny 2007-05-23 07:25 AM

I'd be interested to see it, if only for me to try and work out what it does. :p

I think I ended up doing a similar thing in my VB project (well, it was a database - everyone else in both sets did it in Access, apart from a friend and I, who did it in VB) - having to save data in a random access file. Maybe not the exact same thing that you're doing, but a bit similar.

osmoses-jones 2007-05-25 04:01 PM

here

Code:

#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
 
#define BUF_SIZE    21
#define IN_FILE        "InputData.dat"
#define OUT_FILE "OutputData.dat"
 
 
extern void main( void )
{
    ifstream    ifInputFile;
    ofstream output;
    char        sBuffer[BUF_SIZE];
    bool        bDataExists(true);
    int total;
    total = 0;
 
    ifInputFile.open("InputData.dat");
    output.open("OutputData.dat",ios::out);
 
    if( ifInputFile.is_open() != 1 )
    {
        cout << "File " << IN_FILE << " could not be opened!" << endl;
        cout << "Exiting program, good bye." << endl;
    }
    else
    {
        while( bDataExists == true )
        {
            ifInputFile.getline( sBuffer, 40 );
            if( ifInputFile.eof() == 1 )
            {
                bDataExists = false;
            }
            else
            {
                cout << sBuffer << endl;
                total=total+atoi(sBuffer);
            }
        }
        cout << total;
        ifInputFile.close();
 
        if (output.is_open() != 1)
        {
            cout << "File" << OUT_FILE << " could not be opened!" << endl;
            cout << " Exiting program.good bye" << endl;
        }
        else
        {
            output << total;
            output.close();
        }
 
    }
}


Demosthenes 2007-05-25 04:04 PM

PLEASE include some code tags next time.


All times are GMT -6. The time now is 11:06 PM.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
This site is best seen with your eyes open.