I meant to post this in the C forum and not the C++ forum.

Below is the link to a picture of the debug error window

http://www.flickr.com/photos/7629837...in/photostream

It's a program that i'm doing and I keep getting this error here's a link to the programming problem. Its' Number 3

http://books.google.com/books?id=bSy...%2B%2B&f=false

Why am i getting this error. I'm clueless. Thanks :D:D

#include <iostream>
#include <string>
#include<stdio.h>

using namespace std;

#define numItems     8
#define numSalesP   10

// the product prices 
float prices  [numItems] = {345.0,  853.0, 471.0, 933.0, 721.0, 663.0, 507.0, 259.00};

// the product numbers
int   prodNum [numItems] = {7,      8,     9,     10,    11,    12,    13,    14};

// the salespersons IDs
int   salesP  [numSalesP] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

// the output file pointers
FILE * filePtrs[numSalesP];

// sales totals for every salespersons
float totals  [numSalesP];

//get the product index from the prodNum array
int getProdIndex (int product) {
    int i;
    for (i=0; i< numItems; i++) {
        if (prodNum[i] == product) {
            return i;
        }
    }
    return -1;
}

// get a product price from the product index
float getProdPrice (int prodIndex) {
    return prices[prodIndex];
}

// open a salesperson output file
void openSalesPFiles () {
    int i;
    char fileName[16];;
    
    for (i=0; i<numSalesP; i++) {
        sprintf_s(fileName, "salespers%d.dat", i+1);
//DEBUG         cout << fileName << endl;
        filePtrs[i] = fopen(fileName, "r");
    }
}

// close Salespersons files
void closeSalesPFiles () {
    int i;
    for (i=0; i<numSalesP; i++) {
        fclose(filePtrs[i]);
    }
}

// get sales person index from its ID
int getSalesPIndex (int salesPerson) {
    int i;
    for (i=0; i< numSalesP; i++) {
        if (salesP[i] == salesPerson) {
            return i;
        }
    }
    return -1;
}



int main () {
    int i;                  // generic counter
    FILE * salesFile;       // the input file with all sales
    int salesPId;           // salesperson ID
    int salesPIndex;        // salesperson index in array
    int prodId;             // product ID
    int pIndex;             // product index in array
    int qty;                // quantity
    float total;            // total for one sale
    
    // open all salespersons output files
    openSalesPFiles();

    // open the input file
    salesFile = fopen("sales.dat", "r");

    // read all record in the input file
    while (!feof(salesFile)) {

        fscanf(salesFile, "%d %d %d", &salesPId, &prodId, &qty);
//DEBUG        cout << salesPId << " --- " << prodId << " --- " << qty << endl;

        // validate sales person
        salesPIndex = getSalesPIndex (salesPId);
        if (salesPIndex < 0) {
            cout << "Invalid Sales person ID " << salesPId << endl;
            continue;
        }

//DEBUG        cout << "Salesperson index : " << salesPIndex << endl;

        // validate product id
        pIndex = getProdIndex (prodId);
        if (pIndex < 0) {
            cout << "invalid product id : " << prodId << endl;
            fprintf(filePtrs[salesPIndex], "Invalid Product ID %d\n", prodId);
            continue;
        } 
        else {
            // compute the sale total
            total = qty * prices[pIndex];
//DEBUG            cout << "total : " << total << endl;;

            // add it to the totals for this salesperson
            totals[salesPIndex] += (qty * prices[pIndex]);

            // write the sale to the salesperson file
            fprintf(filePtrs[salesPIndex], "%d %d %2.2f\n", prodId, qty, total);
        }
    }

    // print totals in salespersons files
    for (i=0; i< numSalesP; i++) {
        fprintf(filePtrs[i], "Total Sales : %8.2f\n", totals[i]);
    }

    // close all files
    closeSalesPFiles();
    fclose(salesFile);

    
}

Recommended Answers

All 3 Replies

Your post links are not working for me and a quick scan of the code shows no obvious problem (not to me again at least)

The links don't work. Its better to just use he Advanced Editor (link at the underneath the message editor) and upload the pictures to your thread.

#include <iostream>
#include <string>

Those are c++ header files, not C. You can't compile that program with a C compiler.

Thanks You guys.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.