2013-10-03 4 views
-5

Я получаю эту ошибку при попытке запустить этот код и не знаю почему. Любая помощь приветствуется ... Я новичок. 71 42 [Ошибка] слишком много аргументов для функции 'void summary()' Это для класса C++, и я не знаю, что я делаю неправильно.Новый студент ... слишком много аргументов

/* 

Programmer name: Kris Rossman 
date:    9/24/2013 
assignment:   Lab 6 Part 1 

description:  Math Problem continued             

INPUTS: 
    cin - three different career types(string) 
OUTPUTS: 
    cout - The fortune teller's prediction 
*/ 

#include <iostream> 
#include <cstdlib> 
#include <string> 
#include <iomanip> 
#include <time.h> 
#define myDate  "October 1st, 2013    " 
#define myActivity "Lab 6 Part 2     " 
#define line1 " This program will ask for three different  " 
#define line2 " careers, then it will predict the job you are " 
#define line3 " most likely going to have.      " 
#define over2 "\t\t" 
#define over3 "\t\t\t" 
#define over4 "\t\t\t\t" 
#define down5 "\n\n\n\n\n" 
#define down8 "\n\n\n\n\n\n\n\n" 
#define down10 "\n\n\n\n\n\n\n\n\n\n" 
#define down12 "\n\n\n\n\n\n\n\n\n\n\n\n"             

using namespace std; 

void splash(); 
void welcome(); 
void summary(); 

int main(int argc, char *argv[]) 
{ 
    string career1, career2, career3; 
    int num1; 

    splash(); 
    welcome(); 

    system("CLS"); 

    unsigned seed = time(0); 
    srand(seed); 
    num1 = 1 +rand() % 4; 

    cout << down12; 
    cout << over3 << "Enter Career 1: "; 
    getline(cin, career1); 
    system("CLS"); 

    cout << down12; 
    cout << over3 << "Enter Career 2: "; 
    getline(cin, career2); 
    system("CLS"); 

    cout << down12; 
    cout << over3 << "Enter Career 3: "; 
    getline(cin, career3); 
    system("CLS"); 

    cout << down10; 

    if (num1 == 1) 
     summary(career1,career2,career3,career1); 
    else if (num1 == 2) 
     summary(career1,career2,career3,career2); 
    else if (num1 ==3) 
     summary(career1,career2,career3,career3); 
    else 
     summary(career1,career2,career3,"none of these jobs..."); 

    cout << down10; 
    return EXIT_SUCCESS; 

} 

void summary(string car1, string car2, string car2, string carA) 
{ 
    cout << down5; 
    cout << over3 << "The jobs you entered were:" << endl; 
    cout << over3 << "__________________________" << endl; 
    cout << over3 << "1. " << car1 << endl; 
    cout << over3 << "2. " << car2 << endl; 
    cout << over3 << "3. " << car3 << endl; 
    cout << over3 << "Your job will be " << carA <<endl;  
} 
+3

Я считаю, что вы или кто-то другой просто отправил это точно такой же [ код] (http://stackoverflow.com/questions/19168348/new-student-working-with-strings-and-functions) около 5 минут назад – smac89

+2

Ты студент. Вы пишете все эти ужасные '# define'ы. Некоторый профессор, где-то, подтверждает мою уверенность в том, что профессора сосать в преподавании C++. –

+0

Помог ли мой ответ ниже? Если да, можете ли вы нажать галочку рядом с ним, чтобы принять? Это помогает. – 0x499602D2

ответ

10

Прототип вашей функции не имеет аргументов:

void summary(); 

Оно должно быть:

void summary(std::string, std::string, std::string, std::string); 
+0

И в сводке сводки (строка car1, строка car2, строка car2, строка carA) 'second' car2' должен быть' car3' – P0W

Смежные вопросы