J'ai essayé d'enlever diverses pièces et constructions, mais rien ne fait disparaître l'erreur lnk2019, ou même produit des erreurs normales.Erreur lnk2019 dans un programme C++ très simple
Tout est dans le fichier en ce moment (ce ne sera pas plus tard quand il sera terminé). Le programme a trois listes de mots et en fait une expression de jargon, et vous êtes censé pouvoir ajouter des mots, supprimer des mots, afficher les listes, restaurer les valeurs par défaut, enregistrer les modifications dans le fichier et charger les modifications du fichier.
#include "stdafx.h"
#include <iostream>
#include <string.h>
using namespace std;
const int maxlist = 20;
string adj1[maxlist], adj2[maxlist], noun[maxlist];
void defaultlist(int list)
{
if(list == 1)
{
adj1[0] = "green";
adj1[1] = "red";
adj1[2] = "yellow";
adj1[3] = "blue";
adj1[4] = "purple";
int i = 5;
while(i != maxlist)
{
adj1[i] = "";
i = i + 1;
}
}
if(list == 2)
{
adj2[0] = "shiny";
adj2[1] = "hard";
adj2[2] = "soft";
adj2[3] = "spiky";
adj2[4] = "furry";
int i = 5;
while(i != maxlist)
{
adj2[i] = "";
i = i + 1;
}
}
if(list == 3)
{
noun[0] = "cat";
noun[1] = "dog";
noun[2] = "desk";
noun[3] = "chair";
noun[4] = "door";
int i = 5;
while(i != maxlist)
{
noun[i] = "";
i = i + 1;
}
}
return;
}
void printlist(int list)
{
if(list == 1)
{
int i = 0;
while(!(i == maxlist))
{
cout << adj1[i] << endl;
i = i + 1;
}
}
if(list == 2)
{
int i = 0;
while(!(i == maxlist))
{
cout << adj2[i] << endl;
i = i + 1;
}
}
if(list == 3)
{
int i = 0;
while(!(i == maxlist))
{
cout << noun[i] << endl;
i = i + 1;
}
}
return;
}
string makephrase()
{
int num1 = rand()%maxlist;
int num2 = rand()%maxlist;
int num3 = rand()%maxlist;
int num4 = rand()%1;
string word1, word2, word3;
if(num4 = 0)
{
word1 = adj1[num1];
word2 = adj2[num2];
}
else
{
word1 = adj2[num1];
word2 = adj1[num2];
}
word3 = noun[num3];
return word1 + " ," + word2 + " " + word3;
}
string addword(string word, int list)
{
string result;
if(list == 1)
{
int i = 0;
while(!(adj1[i] == "" || i == maxlist))
{
i = i + 1;
}
if(i == maxlist) result = "List is full. Please try again.";
if(adj1[i] == "")
{
adj1[i] = word;
result = "Word was entered successfully.";
}
}
if(list == 2)
{
int i = 0;
while(!(adj2[i] == "" || i == maxlist))
{
i = i + 1;
}
if(i == maxlist) result = "List is full. Please try again.";
if(adj2[i] == "")
{
adj2[i] = word;
result = "Word was entered successfully.";
}
}
if(list == 3)
{
int i = 0;
while(!(noun[i] == "" || i == maxlist))
{
i = i + 1;
}
if(i == maxlist) result = "List is full. Please try again.";
if(noun[i] == "")
{
noun[i] = word;
result = "Word was entered successfully.";
}
}
return result;
}
string removeword(string word, int list)
{
string result;
if(list == 1)
{
int i = 0;
while(!(adj1[i] == word || i == maxlist))
{
i = i + 1;
}
if(i == maxlist) result = "Word is not on the list. Please try again.";
if(adj1[i] == word)
{
adj1[i] = "";
result = "Word was removed successfully.";
}
}
if(list == 2)
{
int i = 0;
while(!(adj2[i] == word || i == maxlist))
{
i = i + 1;
}
if(i == maxlist) result = "Word is not on the list. Please try again.";
if(adj2[i] == word)
{
adj2[i] = "";
result = "Word was removed successfully.";
}
}
if(list == 3)
{
int i = 0;
while(!(noun[i] == word || i == maxlist))
{
i = i + 1;
}
if(i == maxlist) result = "Word is not on the list. Please try again.";
if(noun[i] == word)
{
noun[i] = "";
result = "Word was removed successfully.";
}
}
return result;
}
/////////////////////////////main///////////////////////////////////
int main()
{
string mainselection;
string makeselection;
string phrase;
defaultlist(1);
defaultlist(2);
defaultlist(3);
cout << "This program generates jargon phrases made of two adjectives and one noun,";
cout << " on three lists. Each list may contain a maximum of " << maxlist << "elements.";
cout << " Please choose from the following menu by typing the appropriate number ";
cout << "and pressing enter." << endl;
cout << endl;
cout << "1. Make a jargon phrase." << endl;
cout << "2. View a list." << endl;
cout << "3. Add a word to a list." << endl;
cout << "4. Remove a word from a list." << endl;
cout << "5. Restore default lists." << endl;
cout << "More options coming soon!." << endl;
cin >> mainselection
if(mainselection == 1)
{
phrase = makephrase();
cout << "Your phrase is " << phrase << "." << endl;
cout << "To make another phrase, press 1. To go back to the main menu,";
cout << " press 2. To exit the program, press 3." << endl;
cin >> makeselection;
while(!(makeselection == "1" || makeselection == "2" || makeselection == "3"))
{
cout << "You have entered an invalid selection. Please try again." << endl;
cin >> makeselection;
}
while(makeselection == "1")
{
phrase = makephrase();
cout << "To make another phrase, press 1. To go back to the main menu,";
cout << " press 2. To exit the program, press 3." << endl;
}
if(makeselection == "2") main();
if(makeselection == "3") return 0;
}
return 0;
}
//Rest of the options coming soon!
http://msdn.microsoft.com/fr-fr/library/799kze2z(VS.80).aspx –
De quels symboles manquants l'éditeur de liens se plaint-il? Quel est le message d'erreur exact? – sth