Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z Code Block

Ostatnio zmodyfikowano 2017-10-15 13:33
Autor Wiadomość
Bob
Temat założony przez niniejszego użytkownika
Problem z Code Block
» 2017-10-15 01:22:36
Witam, otóż spotkałem się z nie typowym problemem, którego rozwiązania nie udało mi się znaleźć. Miałem za zadanie napisać program, który co 5 wyraz z tekstu wstawiłby wyraz wpisany przez użytkownika.
Wszystko fajnie, ale zauważyłem, że gdy odpalam program w Code Blocku, to on zamiast dopisać wyraz pisze go na "włączonym insert".
Np: W pliku znajduje się: Bob Bob2 Bob3 Bob4 Bob5 Bob6 Bob7 Bob8 Bob9 Bob10, program wpisuje co 5 wyraz "trzy", a o to wynik:
Bob Bob2 Bob3 Bob4 Bob5 trzyBob6 Bob7 Bob8 Bob9 trzy0.
Dodam, że na komputerze mojego kolegi, ze świeżo pobranym Code Blockiem (ja swój z tego powodu z reinstalowałem), ten błąd nie wyskakuje i on otrzymuje poprawny wynik:
Bob Bob2 Bob3 Bob4 Bob5 trzy Bob6 Bob7 Bob8 Bob9 Bob10 trzy
Kiedy wysłał mi swój main.exe, a ja odpaliłem również otrzymałem poprawny działanie programu, ale jak odpalam poprzez swój main.exe/kompilator otrzymuje powyższy błąd. Skoro program identyczny, zakładam, że przyczyna
tkwi w kompilatorze, ale, że go usunąłem i pobrałem na nowo, nie mam pojęcia co może być przyczyną. Czy ktoś się z takim czymś spotkał/ma pomysł na rozwiązanie tego problemu?
Byłbym bardzo wdzięczny.
P-165752
YooSy
» 2017-10-15 09:18:54
Na przykład kodu można liczyć, czy mamy zgadywać co jest źle napisane. Nie jest to wina CB jak w tytule.
P-165753
Bob
Temat założony przez niniejszego użytkownika
» 2017-10-15 12:08:50
Nie jest to też wina kodu, co wynika z tego co napisałem powyżej. Ja i kolega mieliśmy dokładnie TEN SAM kod. Przed chwilą nawet napisał mi on totalnie uproszczoną wersję kodu, żeby się upewnić i problem jest dokładnie ten sam. Mu działa, a mi nie z dokładnie tym samym problemem, mi "pisze na insert", a mu działa jak powinno. Przykład kodu, na którym to sprawdziliśmy:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    fstream bob,bob2;

    bob.open("bob.txt",ios::in);
    bob2.open("bob2.txt",ios::out);
    if(bob.good() == true) cout<<"koks";
    while(!bob.eof()){
        string b1,b2,b3,b4,b5,cos;
        cin>>cos;
        bob>>b1;
        bob>>b2;
        bob>>b3;
        bob>>b4;
        bob>>b5;
        if(bob.eof()){
            if(b1!=""){
                bob2<<b1<<endl;
            }
            if(b2!=""){
                bob2<<b2<<endl;
            }
            if(b3!=""){
                bob2<<b3<<endl;
            }
            if(b4!=""){
                bob2<<b4<<endl;
            }
            if(b5!=""){
                bob2<<b5<<endl;
            }
            break;
        }

        bob2<<b1<<endl<<b2<<endl<<b3<<endl<<b4<<endl<<b5<<endl<<cos<<endl;
    }
    return 0;
}
P-165758
Luq
» 2017-10-15 12:38:06
Nie jest to też wina kodu, co wynika z tego co napisałem powyżej.
I tu się mylisz, bo ten kod nie ma prawa działać tak jak go opisałeś.
P-165759
Bob
Temat założony przez niniejszego użytkownika
» 2017-10-15 12:39:23
Źle skopiowałem. Wpisz ponownie. Dlatego, że jest to pętla w tym przypadku musisz napisać ten wyraz x razy, dopóki nie dojdziesz do końca tekstu.
P-165760
Luq
» 2017-10-15 12:47:21
Plik wynikowy będzie się różnił w zależności od tego czy za ostatnim wyrazem w pliku wstawisz jakiś znak biały np. przejście do nowej linii. Może stąd te różnice między wynikami twoimi a twojego kolegi.
P-165761
Bob
Temat założony przez niniejszego użytkownika
» 2017-10-15 13:33:38
Dobra, ja nie wiem co napisać. To jest coś czego nigdy nie zrozumiem. Skopiowałem ten powyższy kod jeszcze raz odpaliłem i... wszystko działa!?. Odpaliłem ten wczorajszy, który miał problem ze wstawianiem z "insertem" i... on też działa. Zmieniło się nic. Tak jak moja historia na informatyce, gdzie kod nie działał, a ja nie mogłem doszukać się błędu, po dwóch dniach na kolejnej informatyce już działał...
Dzięki za pomoc. Temat można zamknąć.
P-165765
« 1 »
  Strona 1 z 1