Member 13435443 Ответов: 1

Привет всем! У меня есть пара ошибок в программе, приведенной ниже.


Ошибки заключаются в следующем:

main. cpp: 43:1: error: expected unqualified-id before 'for'
for (int j=0; !). eof (); j++)
^
main. cpp:43:14: error: expected unqualified-id before'! ' token
for (int j=0; !). eof (); j++)
^
main. cpp: 43:27: ошибка: 'j' не называет тип
for (int j=0; !). eof (); j++)
^
main. cpp: 48:1: error: expected unqualified-id before 'for'
for (int i=0; i< j; i++)
^
главная.КПП:48:14: ошибка: 'Я' не называет типа
for (int i=0; i< j; i++)
^
main. cpp: 48:19: ошибка: 'i' не называет тип
for (int i=0; i< j; i++)
^
main. cpp:58:5: error: expected unqualified-id before 'for'
for (int i=0;! trans. eof (); i++)
^
main. cpp:58:19: error: expected unqualified-id before'! ' token
for (int i=0;! trans. eof (); i++)
^
main. cpp: 58:33: ошибка: 'i' не называет тип
for (int i=0;! trans. eof (); i++)

Что я уже пробовал:

#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;

struct masterfile
{
    double custnum;
    string name;
    float balance;
    
};
struct transactionfile
{
    char transtype;
    double custnum;
    string name [20];
    int transnum;
    string item;
    int quantity;
    double price;
    double amountpaid;
 
};

int main();

double prevbalance[10];
double orderamount = 0;
masterfile masterf [7];
transactionfile transactionf[35];
ifstream mast ("MASTER.TXT");
fstream trans ("TRANSACTION.TXT");

for(int j=0; !mast.eof(); j++)
{
    mast >> masterf [j].custnum >> masterf[j].name >> masterf[j].balance;
}

for(int i=0; i<j; i++)
{
    cout<< masterf[i].custnum <<"";
    cout<< masterf[i].name <<"";
    cout<< masterf[i].balance <<"";

     prevbalance[i] = masterf[i].balance;
    
    }

    for (int i=0; !trans.eof(); i++)
    {
        trans>> transactionf[i].transtype;
        cout<< transactionf[i].transtype<<"";
        
        if (transactionf[i].transtype == 'O')
        
        {
            trans>>transactionf[i].transtype;
            cout<<transactionf[i].transtype;
            
            trans>>transactionf[i].transnum;
            cout<<transactionf[i].transnum;
            
            trans>>transactionf[i].item;
            cout<<transactionf[i].item;
            
            trans>>transactionf[i].quantity;
            cout<<transactionf[i].quantity;
            
            trans>>transactionf[i].price;
            cout<<transactionf[i].price;
            
            cout<< endl;
            
            orderamount = transactionf[i].price * transactionf[i].quantity;
            
            masterf[j].balance+ = orderamount;
            
            companybalance+ = masterf[j].balance;
            
        }
        
        else if(transactionf[i].transtype == 'P')
            
        {
            trans>>transactionf[i].custnum;
            cout<<transactionf[i].custnum;
            
            trans>>transactionf[i].transnum;
            cout<<transactionf[i].transnum;
            
            trans>>transactionf[i].amountpaid;
            cout<<transactionf[i].amoundpaid;
            
            cout<<endl;
            
            main[j].balance = main[j].balance - trans[i].amountpaid;
            companybalance + = main[j].balance;
            
        }
        
        for(int i=0; i<35; i++)
        {
            cout<<"Name:"<< masterf[i].name <<"Customer Numer:"<< masterf[i].custnum<<endl;
            cout<<"Previous Balance "<<prevbalance[i]<<endl;
        }
        for(int j=0; j<7; j++)
        {
                cout<<"Transaction Number: "<<transactionf[j].transnum<<"    "<<transactionf[j].item<<"   $"<<orderamount<<endl; }
            cout<<"Balance Due: "<<masterf[i].balance<<endl;
        }

1 Ответов

Рейтинг:
2

OriginalGriff

Посмотрите на свой код:

int main();

double prevbalance[10];
double orderamount = 0;
Уберите точку с запятой после main и добавьте открытую фигурную скобку:
int main()
   {
   double prevbalance[10];
   double orderamount = 0;

Многие из ваших ошибок исчезнут ...