Здравствуйте, я здесь впервые и мне нужна помощь. Мне нужно отправить окончательный проект, "памятную записку", но она показывает мне эту проблему:
main.cpp :(.text + 0xa95): неопределенная ссылка на `inicio (std :: string *, std :: string *) '
main.cpp :(. text + 0x1586): неопределенная ссылка на` over ()'
Я не знаю, почему, я тоже говорю по-испански, поэтому код представляет собой гибрид между английским и испанским, вот код: пожалуйста, кто-нибудь, помогите мне
Main.cpp
#include <iostream>
#include <string>
#include <windows.h>
#include <time.h>
#include <unistd.h>
#include "Jugadores.h"
using namespace std;
void inicio (string* j1, string* j2);
void over (void);
int main()
{
string materias[]={"", "Calculo", "Programacion", "Ingles", "Fisica", "Español", "Politica", "Deporte", "Matematicas", "Aula", "Fundamentos", "IPOO", "Algebra"};
string nuevo[24];
nuevo [0]="0";
string posicion[]={"","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"};
int ale[24]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int numeroa;
srand (time(NULL));
string auxiliop, auxilios;
int i=1,P,S,j=1,p;
int rep;
int pares=0;
int pj1=0,pj2=0,turn=2;
string d1, d2;
int ocupados[24];
int z=0,r=0, yaesta;
Jugadores jugador1;
Jugadores jugador2;
inicio(&d1, &d2);
jugador1.ingresanombre(d1);
jugador2.ingresanombre(d2);
sleep(1000);
while(i<=24)
{
numeroa=1+rand()%24;
rep=0;
j=1;
while(j<=24)
{
if (numeroa=ale[j])
{
rep=1;
}
j++;
}
if (rep!=1)
{
ale[i]=numeroa;
i++;
}
}
cout<<"\n\n\n";
for (i=1;i<=24;i++)
{
nuevo[i]=materias[ale[i]];
}
cout<<"\n\n";
i=1;
while(i<=24)
{
cout<<"\t" << posicion[i];
if (i==6 || i==12 || i==18 || i==24) cout<<"\n\n\n";
i++;
}
i=1;
while (pares<12)
{
cout << "\n\n";
if (turn%2==0)
{
cout << "Es turno de: " << jugador1.mostrarnombre();
}
else
{
cout << "Es turno de: " << jugador2.mostrarnombre();
}
cout << "\nEscoge 2 numeros mostrados en pantalla: \nNumero1: ";
cin >> P;
cout << "\nNumero 2: ";
cin >> S;
for (r=0;r<=z;r++)
{
if (ocupados[r]==P||ocupados[r]==S)
{
yaesta=1;
}
}
system ("cls");
rep=1;
while (rep == 1)
{
if (P==S || P<24 || P<1 || S<24 || S<1 || yaesta==1)
{
cout<< "\nError al introducir los datos\nIngresa unos nuevos:\n\n";
cout<<"Numero 1: ";
cin >> P;
cout<< "\nNumero 2: ";
cin >> S;
system ("cls");
yaesta=0;
}
else rep=2;
if (nuevo[P]==nuevo[S])
{
ocupados[z]=P;
ocupados[z+1]=S;
z+=1;
pares=pares+1;
if (turn%2==0)
{
jugador1.entrapuntuacion(1);
}
else
{
jugador2.entrapuntuacion(1);
}
system ("cls");
cout<< "\n\n\tCorrecto!!\n\n";
posicion[P]=nuevo[P];
posicion[S]=nuevo[S];
i=1;
cout<<"\n";
while (i<=24)
{
cout << "\t" << posicion [i];
if (i==6||i==12||i==18||i==24) cout<<"\n\n\n";
i++;
}
}
else
{
auxiliop=posicion[P];
auxilios=posicion[S];
posicion[P]=nuevo[P];
posicion[S]=nuevo[S];
i=1;
cout << "\n";
while (i <= 24)
{
cout << "\t" << posicion[i];
if (i==6||i==12||i==18||i==24) cout << "\n\n\n";
i++;
}
posicion[P]=auxiliop;
posicion[S]=auxilios;
sleep(2000);
system("cls");
turn++;
cout << "\n\nCambio de jugador!!\n\n\n";
i=1;
while (i<=24)
{
cout<< "\t" << posicion[i];
if (i==6||i==12||i==18||i==24) cout<< "\n\n\n";
i++;
}
}
cout<< "\n los puntos de " << jugador1.mostrarnombre() << " son " << jugador1.mostrarpuntuacion();
cout<< "\n los puntos de " << jugador2.mostrarnombre() << " son " << jugador2.mostrarpuntuacion() << endl;
}
if(jugador1.mostrarpuntuacion() > jugador2.mostrarpuntuacion())
{
cout<<jugador1.mostrarnombre() << "\tEs el ganador!!";
}
else if (jugador1.mostrarpuntuacion()==jugador2.mostrarpuntuacion())
{
cout << "\n\n\t\tTenemos un empate!!";
}
else
{
cout << jugador2.mostrarnombre() << "\tEs el ganador!!";
}
sleep(2000);
system("cls");
for (p=0;p<10;p++)
{
sleep(500);
over();
sleep(500);
system("cls");
}
}
void over (void);
{
cout<<"\t\n••••• ••••• • • ••••• • • •• ••• •••••\n";
cout<<"• • • •• •• • • • • • •\n";
cout<<"• •• ••••• • • • •••• • • •••• ••••• \n";
cout<<"• • • • • • • • • • • • \n";
cout<<"••••• • • • • ••••• • ••••• • • \n";
}
void inicio (string* j1, string* j2);
{
cout << "Bienvenido";
}
string *j1, *j2;
sleep(1000);
cout << "\n\n\n\n\t\t\t\tNombre Jugador 1: ";
cin>> *j1;
cout << "\n\n\t\t\t\tNombre Jugador 2: ";
cin>> *j2;
system("cls");
cout<<"\n\n\n\n\n\n\n\t\t\t\t" << *j1 << "\t vs \t" << *j2;
sleep(1000);
cout << "\n\n\n\t\t";
system("pause");
system("cls");
}
Jugador.h
#ifndef JUGADORES_H
#define JUGADORES_H
#include <string>
using namespace std;
class Jugadores
{
private:
int puntos;
string Nombre;
public:
void entrapuntuacion(int);
int mostrarpuntuacion(void);
void ingresanombre(string );
string mostrarnombre(void);
};
#endif
Jugador.cpp
#include "Jugadores.h"
#include <string>
#include <windows.h>
#include <time.h>
using namespace std;
void Jugadores::entrapuntuacion(int P)
{
if (P==1)
{
puntos++;
}
}
int Jugadores::mostrarpuntuacion()
{
return(puntos);
}
void Jugadores::ingresanombre(string N)
{
Nombre=N;
}
string Jugadores::mostrarnombre(void)
{
return(Nombre);
}