• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Mac OS linkowanie nie działa OOP C++

Object Storage Arubacloud
0 głosów
165 wizyt
pytanie zadane 24 kwietnia 2021 w C i C++ przez gugol9 Nowicjusz (140 p.)
edycja 24 kwietnia 2021 przez Eryk Andrzejewski

POMOCY nie chce mi się uruchomić program na Mac OS Big sur w Visual Studio code program jest pana Mirosława z kursu c++. Jakich linkowań używać w Mac OS #include ? z góry dziękuję za pomoc męczę się z tym kilka godzin

// plik main.cpp
#include <iostream>
#include "pytanie.h"

using namespace std;

int main()
{

   Pytanie p[5];
   int suma=0;
   for(int i=0; i<=4; i++)
   {
      p[i].nr_pytania=i+1;
      p[i].wczytaj();
      p[i].zadaj();
      p[i].sprawdz();
      suma+=p[i].punkt;
   }

   cout<<"KONIEC QUIZU! PUNKTY = "<<suma;

   return 0;
}
// plik pytanie.cpp
#include <iostream>
#include "pytanie.h"
#include <fstream>
#include <cstdlib>

using namespace std;

void Pytanie::wczytaj()
{
   fstream plik;
   plik.open("quiz.txt",ios::in);

   if(plik.good()==false)
   {
      cout<<"Nie udalo sie otworzyc pliku!";
      exit(0);
   }

   int nr_linii=(nr_pytania-1)*6+1;
   int aktualny_nr=1;
   string linia;

   while(getline(plik,linia))
   {
      if(aktualny_nr==nr_linii) tresc=linia;
      if(aktualny_nr==nr_linii+1) a=linia;
      if(aktualny_nr==nr_linii+2) b=linia;
      if(aktualny_nr==nr_linii+3) c=linia;
      if(aktualny_nr==nr_linii+4) d=linia;
      if(aktualny_nr==nr_linii+5) poprawna=linia;
      aktualny_nr++;
   }

   plik.close();

}

void Pytanie::zadaj()
{
   cout<<endl<<tresc<<endl;
   cout<<a<<endl;
   cout<<b<<endl;
   cout<<c<<endl;
   cout<<d<<endl;
   cout<<"------------------------"<<endl;
   cout<<endl<<"Odpowiedz: ";
   cin>>odpowiedz;
}

void Pytanie::sprawdz()
{
   if(odpowiedz==poprawna)
   {
      punkt=1;
   }
   else punkt=0;
}

 

// plik pytanie.h
#include <iostream>

using namespace std;

class Pytanie
{
   public:

   string tresc;
   string a,b,c,d;
   int nr_pytania;
   string poprawna;
   string odpowiedz;
   int punkt;

   void wczytaj(); //wczytuje pytania z pliku
   void zadaj(); //pokazuje pytanie, czyta odpowiedz
   void sprawdz(); //sprawdza poprawnosc odpowiedzi
};

komentarz 24 kwietnia 2021 przez Oscar Nałogowiec (29,290 p.)
Po prostu musisz zlinkować dwa pliki. Na razie próbujesz z samego main.cpp zrobić program. Używasz jakiegoś IDE więc powinna tam być możliwość wymienienia plików, które wchodzą w skład projektu.
komentarz 24 kwietnia 2021 przez gugol9 Nowicjusz (140 p.)
Czyli #include... .h/.cpp jest dobrze i powinno działać na Mac OS  ? Czyli spróbować na innym IDE np  Xcode stworzyć te pliki i uruchomić ?
komentarz 24 kwietnia 2021 przez tkz Nałogowiec (42,000 p.)
include to nie linkowanie. Samo polecenie powinno wyglądać mniej więcej tak - clang main.cpp pytanie.cpp. Oczywiście jeżeli Twoje pliki nazywają się tak jak podałem. Możesz też stworzyć pliki obiektowe, ale nie widzę sensu na ten moment.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 472 wizyt
pytanie zadane 27 października 2018 w Systemy operacyjne, programy przez Maciek Nayko Wiśniew Początkujący (350 p.)
0 głosów
1 odpowiedź 634 wizyt
pytanie zadane 17 kwietnia 2017 w C i C++ przez timrh Mądrala (6,030 p.)
0 głosów
1 odpowiedź 1,790 wizyt
pytanie zadane 23 lutego 2017 w C i C++ przez MisterVento3 Użytkownik (830 p.)

92,565 zapytań

141,417 odpowiedzi

319,601 komentarzy

61,950 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...