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

include algorithm - too many functions

VPS Starter Arubacloud
0 głosów
303 wizyt
pytanie zadane 7 października 2016 w C i C++ przez frishu Nowicjusz (120 p.)

Witam wszystkich bardzo serdecznie, korzystam z poradnika c++ (od Mirosława Zelenta) i tak się stało, że utknąłem na 7.
Podczas kompliacji quizu otwiera mi się nowa karta o nazwie stl_algo.h przez którą oczywiście nie mogę skompilować pliku. Wszystko widać dokładnie na zdjęciu zamieszczonym ponizej. Jak to naprawić, co mogę zrobić?



 

komentarz 7 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
a moze twoj kod zobaczymy?

 

W bledzie pisze ze jest podane zbyt duzo argumentow, wiec pokaz kod
komentarz 7 października 2016 przez frishu Nowicjusz (120 p.)
Kod jest z poradnika, ale proszę tutaj jeszcze link.
http://miroslawzelent.pl/kurs-c++/pliki-tekstowe-zapis-odczyt-fstream/
komentarz 7 października 2016 przez DragonCoder Nałogowiec (36,500 p.)
Ten sam kod? Nic nie zmieniales?

Ja nie mam z tym problemu zadnego kopilacja ok i zero bledow
komentarz 7 października 2016 przez criss Mędrzec (172,590 p.)
Nie możesz go tu wrzucić? .. mało komu chce się ściągać pliki, otwierać ide itd.. Btw kliknij na "required from here" i pokaże ci do czego konkretnie w twoim kodzie się czepia.
komentarz 7 października 2016 przez frishu Nowicjusz (120 p.)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>

using namespace std;

string temat, nick;
string tresc[5];
string odpA[5], odpB[5], odpC[5], odpD[5];
string poprawna[5];
string odpowiedz;
int punkty=0;

int main()
{
    int nr_linii=1;
    string linia;
    int nr_pytania=0;

    fstream plik;
    plik.open("quiz.txt",ios::in);

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

    while(getline(plik,linia))
    {
        switch(nr_linii)
        {
            case 1: temat=linia;                     break;
            case 2: nick=linia;                      break;
            case 3: tresc[nr_pytania] = linia;       break;
            case 4: odpA[nr_pytania] = linia;        break;
            case 5: odpB[nr_pytania] = linia;        break;
            case 6: odpC[nr_pytania] = linia;        break;
            case 7: odpD[nr_pytania] = linia;        break;
            case 8: poprawna[nr_pytania] = linia;    break;
        }

        if (nr_linii==8) {nr_linii=2; nr_pytania++;}
        nr_linii++;
    }

    plik.close();

    for (int i=0; i<=4; i++)
    {
        cout<<endl<<tresc[i]<<endl;
        cout<<"A. "<<odpA[i]<<endl;
        cout<<"B. "<<odpB[i]<<endl;
        cout<<"C. "<<odpC[i]<<endl;
        cout<<"D. "<<odpD[i]<<endl;

        cout<<"Twoja odpowiedz: ";
        cin>>odpowiedz;

        transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::tolower);

        if (odpowiedz==poprawna[i])
        {
            cout<<"Dobrze! Zdobywasz punkt!"<<endl;
            punkty++;
        }
        else cout<<"Zle! Brak punktu! Poprawna odpowiedz: "<<poprawna[i]<<endl;

    }

    cout<<"Koniec quizu. Zdobyte punkty: "<<punkty;

    return 0;
}
komentarz 7 października 2016 przez criss Mędrzec (172,590 p.)
tolower przyjmuje 1 arg a transform przekazuje przekazanej funkcji 2 arg. Stąd błąd.
komentarz 7 października 2016 przez criss Mędrzec (172,590 p.)
Ale dlaczego to ja nie wiem... transform powinien przyjmowac 1 argumentowe funkcje... Napisz swoje tolower z dwoma argumentami (ten drugi tylko żeby byl) :-:
1
komentarz 7 października 2016 przez frishu Nowicjusz (120 p.)
rozumiem, dziękuje ślicznie za pomoc.
1
komentarz 7 października 2016 przez criss Mędrzec (172,590 p.)
http://www.cplusplus.com/reference/algorithm/transform/?kw=transform
Z jakiegoś powodu kompilator twierdzi, ze chcesz wywołać 5argumentowe transform, ale przekazujesz przecież 4 argumenty. I powinno wszystko działać. I powina oczekiwac jednoargumentowej (unary) funkcji... Nie wiem o co chodzi. Jakiś bug kompilatora czy co..

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

Podobne pytania

+1 głos
2 odpowiedzi 574 wizyt
pytanie zadane 12 czerwca 2019 w C i C++ przez k222 Nałogowiec (30,150 p.)
–1 głos
0 odpowiedzi 190 wizyt
pytanie zadane 10 lutego 2020 w C i C++ przez Nabuchadonozor Gaduła (3,120 p.)
0 głosów
0 odpowiedzi 137 wizyt
pytanie zadane 28 kwietnia 2019 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)

92,947 zapytań

141,899 odpowiedzi

321,118 komentarzy

62,283 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...