Wie kann man das lösen c++ erwartet primäre expression-Fehler?

So, ich bin neu in c++ Programmierung, und als eine Abtretung mein Lehrer hat uns eine app erstellen. Ich begann mit der Programmierung und das ist, was ich kam mit. Ich habe versucht zu kompilieren Sie den code in CodeBlocks und es hat mir schon ein paar Fehler:

Fehler: expected primary-expression before 'petProfile'
in int main() im Fall 1 bis Fall 3 der switch-Anweisung.

error: no match for 'operator=' in '(*(petProfile + ((sizetype) ((unsigned int)petIndex) * 4u))))->Pet::vaccNames = nextVaccN'
Es kommt aus dieser code-Zeile: petProfile[petIndex]->vaccNames = nextVaccN;

Gleiche Art von Fehler für: petProfile[petIndex]->vaccDates = nextVaccD;

Und petProfile[petIndex]->timeBetween = nextTimeDiff;

Jede Hilfe, die ich bekommen konnte, würde wirklich zu schätzen, Danke.

//Constant

const int maxNumOfPet = 8;

//Functions

void newProfile(Pet petProfile);

void updateExist(Pet petProfile);

void viewPetFile(Pet petProfile);

void howToUse();

int main()
{
    int usersOption;
    int* optionPointer = &usersOption;
    Pet petProfile[maxNumOfPet];

    //the do while loop will start here, it will display the start menu, and  direct to the different functions
    //until the user selects to exit.
    do
    {
        //Displays the different options to the user.
        cout << "\n1) Create New Pet Profile" << endl;
        cout << "2) Update A Existing Profile" << endl;
        cout << "3) View A Pet Profile" << endl;
        cout << "4) How To Use" << endl;
        cout << "5) Quit" << endl;

        cout << "Please pick the option you wish to do." << endl;
        cin >> *optionPointer;

        switch (usersOption)
        {
        case 1:
            newProfile(Pet petProfile);
            break;
        case 2:
            updateExist(Pet petProfile);
            break;
        case 3:
            viewPetFile(Pet petProfile);
            break;
        case 4:
            howToUse();
            break;
        case 5:
            cout << "Bye, Bye!";
            return 0;
        }   //End of Switch Statement
    } while (usersOption >= 1 || usersOption < 5);

    return 0;
}

void newProfile(Pet *petProfile[], const int maxNumOfPet)
{
    int changeOp;
    int nextVaccD;
    char correct;
    double nextTimeDiff;
    string nextVaccN;
    int petIndex = 0;

    while (petIndex <= maxNumOfPet)
    {
        //check if Pet is empty
        while (petProfile[petIndex]->petNames.empty())
        {
            //Will receive the users input for the following topics, and add it   to their vectors.

            cout << "Please enter your pet's name, Or enter 0 to quit. " <<   endl;
            if ( cin.peek() == '\n' )
                cin.ignore();

            string nextPetN;
            getline(cin, nextPetN);

            if (nextPetN == "0")
                return;

            //Will add an element to the vector petNames and save the users input to it.
            petProfile[petIndex]->petNames = nextPetN;

            cout << "Please enter the type of animal you have:" << endl;
            if ( cin.peek() == '\n' )
                cin.ignore();

            string nextAnimalT;
            getline(cin, nextAnimalT);

            //Will add an element to the vector animalType and save the users input to it.
            petProfile[petIndex]->animalType = nextAnimalT;

            cout << "Please enter the name of a vaccine the pet has got: " << endl;
            cin >> nextVaccN;

            //Will add an element to the vector vaccNames and save the users input to it.
            petProfile[petIndex]->vaccNames = nextVaccN;

            cout << "Please enter the date " << nextVaccN << " was given, in this format MMDDYYYY." << endl;
            cin >> nextVaccD;

            //Will add an element to the vector vaccDates and save the users input to it.
            petProfile[petIndex]->vaccDates = nextVaccD;

            cout << "Please enter the time difference between each administration of this vaccine: " << endl;
            cin >> nextTimeDiff;

            //Will add an element to the vector timeBetween and save the users input to it.
            petProfile[petIndex]->timeBetween = nextTimeDiff;

            //Recap the information entered, and change if it is necessary.
            cout << "\nSo far you entered: " << endl;
            cout << nextPetN << endl;
            cout << nextAnimalT << endl;
            cout << nextVaccN << endl;
            cout << nextVaccD << endl;
            cout << nextTimeDiff << endl;

            cout << "Is this information correct?" << endl;
            cout << "Answer T if this is true or F if this is false" << endl;
            cin >> correct;

            if (correct == 'F' || correct == 'f')
            {
                cout << "What do you wish to change: " << endl;
                cout << "1) " << nextPetN << endl;
                cout << "2) " << nextAnimalT << endl;
                cout << "3) " << nextVaccN << endl;
                cout << "4) " << nextVaccD << endl;
                cout << "5) " << nextTimeDiff << endl;
                cin >> changeOp;

                switch (changeOp)
                {
                case 1:
                    cout << "Please enter your pets' name: " << endl;
                    getline(cin, nextPetN);
                    break;

                case 2:
                    cout << "Please enter the type of animal you have:" << endl;
                    getline(cin, nextAnimalT);
                    break;

                case 3:
                    cout << "Please enter the name of the vaccines the pet has got: " << endl;
                    getline(cin, nextVaccN);
                    break;

                case 4:
                    cout << "Please enter the date " << nextVaccN << " was given, in this format MMDDYYYY." << endl;
                    cin >> nextVaccD;
                    break;

                case 5:
                    cout << "Please enter the time difference between each administration of this vaccine: " << endl;
                    cin >> nextTimeDiff;
                    break;
                } //end switch
            } //end if statement
        }//end second while loop
    } //end first while loop

    petIndex++;
} //end newProfile function
  • Lernen Sie Getter und setter. Lernen Sie Referenzen verwenden. Lernen Sie die Verwendung auf const
Schreibe einen Kommentar