witam , wiem że tytuł i pytanie może niezbyt dokładne ale mam problem. nie za bardzo nawet rozumiem tego błędu . robiłem spokojnie sobie obiektową aplikacje w konsoli z użyciem c++ kiedy kod przestał się kompilować , nie wiem dlaczego. opisy błędów też nie mówią za wiele. oto kod:
//KOPIA ZAPASOWA BO TO WAŻNE RZECZY:
//bylo wczesniej w oddzielnym pliku ale mialem problem z includowaniem
//char sp = 152; // ś si sp = polskie s
//char ap = 165; // ą oł sp = polskie a
//char ep = 169; // ę eł ep = polskie e
//char zi = 171; // ź zi zi = po prostu zi
//char lp = 136; // ł ly lp = polskie l
//char op = 162; //ó u op = polskie o
//char cp = 134; //ć ci cp = polskie c
//char np = 228; //ń ni np = polskie n
#include <iostream>
#include <Windows.h>
#include "elementy.h"
#include <cwchar>
using namespace std;
void startup();
int main() {
//Naglowek n1;
//n1.wczytaj();
return 0;
}
void startup() { // te rzeczy na poczatku
system("cls");
cout << "KREATOR STRON INTERNETOWYCH !" << endl;
cout << "\t\t made by antek :)" << endl;
Sleep(1000);
enter();
system("cls");
bool czynowosc = false;
while (czynowosc == false) {
cout << "kreator stron internetowych jest teraz obiektowy!" << endl << "1.wi" << ep << "cej" << endl << "2.pomi" << np;
}
}
#include <iostream>
#include <Windows.h>
#include <string>
#include <conio.h>
using namespace std;
//bylo wczesniej w oddzielnym pliku ale mialem problem z includowaniem
char sp = 152; // ś si sp = polskie s
char ap = 165; // ą oł sp = polskie a
char ep = 169; // ę eł ep = polskie e
char zi = 171; // ź zi zi = po prostu zi
char lp = 136; // ł ly lp = polskie l
char op = 162; //ó u op = polskie o
char cp = 134; //ć ci cp = polskie c
char np = 228; //ń ni np = polskie n
void enter();
class Naglowek {
private:
string nazwa; //name (tresc)
int rozmiar; //size (wielkosc)
string kolor; // color (kolor)
string bcgkolor; // background-color (kolor tla)
public:
void wczytaj();
};
#include "elementy.h"
using namespace std;
void enter() { // po prostu enter aby kontynuowac :)
cout << endl << "(enter aby kontynuowa" << cp << ")";
_getch();
}
void Naglowek::wczytaj() {
system("cls");
cout << "WCZYTYWANIE KREATORA NAG"<<lp<<op<<"WKA...";
Sleep(500);
system("cls");
cout << "wpisz tresc nag"<< lp << op << "wka: ";
getline(cin, nazwa);
enter();
system("cls");
wielkoscnaglowkagoto:
string size; // zabezpieczenia jakby uzytkownik wpisal litere zamiast liczby
cout << "wpisz wielko"<<sp<<cp<<" naglowka od 1 najmniejszy do 5 najwiekszy: ";
getline(cin, size);
// zamiana odpowiedzi na gotowy wynik
// w HTML jest tak ze najwiekszy naglowek to h1 a najmniejszy to 5 , z tad te ify
if (size == "1") rozmiar = 5;
else if (size == "2") rozmiar = 4;
else if (size == "3") rozmiar = 3;
else if (size == "4") rozmiar = 2;
else if (size == "5") rozmiar = 1;
else { system("cls"); cout << "wprowad" << zi << " odpowiedni" << ap << " liczb" << ep << "! "; Sleep(1000); goto wielkoscnaglowkagoto; system("cls"); }
enter();
system("cls");
naglowekkolor:
cout << "wybierz kolor t" << lp << "a: ";
cout << endl << "1.czarny";
cout << endl << "2.czerwony";
cout << endl << "3.z"<<op<<lp<<"ty";
cout << endl << "4.zielony";
cout << endl << "5.niebieski";
cout << endl << endl << "wpisz odpowiedni" << ap << " liczb" << ep << ": ";
int kolorek = 0; // tymczasowy bufor , po zakończeniu funkcji zostanie zniszczony
cin >> kolorek;
if (((((kolorek == 1) || (kolorek == 2)) || (kolorek == 3)) || (kolorek == 4)) || (kolorek == 5)) {} // kolejne zabezpieczenie (twm razem sprytniejsze)
else {
system("cls"); cout << "wpisz odpowiedni" << ap << " LICZB" << ep << "!"; Sleep(1500); goto naglowekkolor; system("cls");
}
switch (kolorek) {
case 1: kolor = "black"; break;
case 2: kolor = "red"; break;
case 3: kolor = "yellow"; break;
case 4: kolor = "green"; break;
case 5: kolor = "blue"; break;
}
enter();
system("cls");
cout << "wybierz kolor tekstu:";
cout << endl << "1.czarny";
cout << endl << "2.czerwony";
cout << endl << "3.z" << op << lp << "ty";
cout << endl << "4.zielony";
cout << endl << "5.niebieski";
cout << endl << endl << "wpisz odpowiedni" << ap << " liczb" << ep << ": ";
int bgc; // tymczasowy bufor , po zakończeniu funkcji zostanie zniszczony. background color
cin >> bgc;
if (((((bgc == 1) || (bgc == 2)) || (bgc == 3)) || (bgc == 4)) || (bgc == 5)) {} // kolejne zabezpieczenie (twm razem sprytniejsze)
else {
system("cls"); cout << "wpisz odpowiedni" << ap << " LICZB" << ep << "!"; Sleep(1500); goto naglowekkolor; system("cls");
}
switch (bgc) {
case 1: bcgkolor = "black"; break;
case 2: bcgkolor = "red"; break;
case 3: bcgkolor = "yellow"; break;
case 4: bcgkolor = "green"; break;
case 5: bcgkolor = "blue"; break;
}
enter();
system("cls");
//zakonczenie
cout << "naglowek pomy" << sp << "lnie dodany!" << endl;
enter();
system("cls");
}
oraz jeszcze plik .log
main.obj : error LNK2005: Element "char sp" (?sp@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char ap" (?ap@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char ep" (?ep@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char zi" (?zi@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char lp" (?lp@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char op" (?op@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char cp" (?cp@@3DA) jest już zdefiniowany w elemencie elementy.obj
main.obj : error LNK2005: Element "char np" (?np@@3DA) jest już zdefiniowany w elemencie elementy.obj
C:\Users\Antek\source\repos\kreator stron internetowych 3\Debug\kreator stron internetowych 3.exe : fatal error LNK1169: znaleziono co najmniej jeden wielokrotnie zdefiniowany symbol
nie rozumiem za bardzo tych błędów i nie wiem czego mogą dotyczyć , te polskie znaki zadeklarowałem raz i tylko raz , sprawdzałem kilka razy kod i nic nie wypatrzyłem. dlatego piszę tu pytanie o co może chodzić i jak to naprawić. jeśli czegoś brakuje proszę napisać w komentarzu , jestem początkującym i nie za wiele wiem jeszcze o programowaniu obiektowym . z góry dziękuję za wszystkie odpowiedzi
i jeszcze może ta informacja się przyda. programuję w Visual Studio 2019