Contact book

Hello!
I'm very new to programming and need some help with my code. I'm working on a contact book where you can add contacts, remove contacts and search for a contact. right now I'm getting this error
"g++ -std=c++11 -o contact contact.cpp
contact.cpp: In function ‘void addContact()’:
contact.cpp:75:31: error: too many arguments to function ‘void WriteToFile()’
WriteToFile(FullName.c_str());
^
contact.cpp:10:6: note: declared here
void WriteToFile();
^
make: *** [contact] Error 1"

and i have no idea what to do.
please help me.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <fstream>
#include <iostream>
#include <string>

using namespace std;

void addContact();
void removeContact();
void editContact();
void WriteToFile();

string GetName();
string GetAdress();

int main()
{
  int yesNo;
  int ansChoice;

  do
  {
    cout << "Här är dina alternativ: "<< endl;
    cout << " 1. Skapa en kontakt"<< endl;
    cout << " 2. Radera en kontakt"<< endl;
    cout << " 3. Redigera en kontakt"<< endl;
    cout << " 0. Avsluta " << endl;
    cin >> ansChoice;

    switch(ansChoice)
    {
      case 1:
              addContact();
              break;
      case 2:
              removeContact();
              break;
      case 3:
              editContact();
              break;
      case 0:
              cout << "Avslutar programmet"<< endl;
              break;
      default:
              cout << "Avslutar programmet!"<< endl;
              break;

    }

    cout << "Vill du göra något mer?(1 för ja, 0 för nej): ";
    cin >> yesNo;
  }
  while(yesNo);
}

void addContact()
{
  string FullName, PersonAdress, getEmail;
  int getDateOfBirthYear, getDateOfBirthMonth, getDateOfBirthDay;
  long getPhoneNumber;

  FullName = GetName();
  PersonAdress = GetAdress();

  cout << "Ange vilket år " << FullName << " är född: ";
  cin >> getDateOfBirthYear;
  cout << "Ange vilken månad: ";
  cin >> getDateOfBirthMonth;
  cout << "Ange vilken dag: ";
  cin >> getDateOfBirthDay;
  cout << "\n" << "Ange personens telefonnummer: ";
  cin >> getPhoneNumber;
  cout << "\n" << "Ange e-postadress: ";
  cin >> getEmail;

  WriteToFile(FullName.c_str());
}

void WriteToFile(string FullName, string PersonAdress, string getEmail, int getDateOfBirthYear, int getDateOfBirthMonth, int getDateOfBirthDay, long getPhoneNumber)
{
  ofstream contactFile (FullName.c_str());
  if(contactFile.is_open())
  {
    contactFile << "Namn: " << FullName << "\n";
    contactFile << "Adress: " << PersonAdress << "\n";
    contactFile << "Personnummer: " << getDateOfBirthYear << "-" << getDateOfBirthMonth << "-" << getDateOfBirthDay << "\n";
    contactFile << "Telefonnummer: " << getPhoneNumber << "\n";
    contactFile << "E-postadress: " << getEmail << "\n";
  }
  else
  {
    cout <<"Error något har gått snett..." << endl;
  }
}
void removeContact()
{

}
void editContact()
{

}
string GetName()
{
  string FirstName, LastName, FN;

  cout << "Personens förnamn: ";
  cin >> FirstName;
  cout << "Personens efternamn: ";
  cin >> LastName;


  FN = FirstName + " " + LastName;

  return FN;
}
string GetAdress()
{
  int adressNumber;
  string streetName, Fin;

  cout << "Ange gatnamn: ";
  cin >> streetName;
  cout << "Ange husnummer: ";
  cin >> adressNumber;

  Fin = adressNumber + " " + streetName;

  return(Fin);
}
This is how you prototyped your Function:
void WriteToFile();

This is how you defined it:
1
2

void WriteToFile(string FullName, string PersonAdress, string getEmail, int getDateOfBirthYear, int getDateOfBirthMonth, int getDateOfBirthDay, long getPhoneNumber)


And this is how you used it:
WriteToFile(FullName.c_str());

They all have to be identical. Which they're not at all right now.
Last edited on
Oh i see, what do you suggest i do? should i make them all empty?
should i make them all empty?

No. That would force the use of globals. Using globals should be avoided.

Since WriteToFile() uses all 7 arguments, change your function prototype to have the same 7 arguments and change your call to pass 7 arguments.
Topic archived. No new replies allowed.