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

PROBLEM Z STWORZENIEM PLIKU TXT Z C++ JEST PUSTY

0 głosów
205 wizyt
pytanie zadane 8 kwietnia 2017 w C i C++ przez ewark Nowicjusz (120 p.)

SIEDZIE I NIC MI NIE WYCHODZI. POJAWIA SIE PLIK QUIZ11.TXT  OK STWRZORZONY JESTEM STWORCZYNIA smiley ALE JEST PUSTYangry. NO TO COŚ KIEPSKA ZE MNIE BOGINI crying

CZY KTOS BYLBY NA TYLE UPRZEJMY I OSWIECIL MNIE BO TAKA CIEMNOTA MNIE POGRĄŻA ZE JUZ NIC NIE WIDZE. kombinuje jak koń pod górę może to jest głupie ale już dwa dni z tym siedzę bo chciałam sama ale bez was jestem nikim  proszęlaugh czego brakuje że nic się nie zapisało w pliku????

a po za tym nie wiem jak mam umieścić odpowiedz na poziomie plik

jestem nowicjuszką wiec prosze o wyrozumiałość 

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
string temat, nick;
string pyt1;
string odpowiedz;
string a1,b1,c1,d1;
string poprawna;
int punkty=0;
int main()
{
    cout << "Witaj" << temat<<endl;
    cout<<"ewark"<<nick<<endl;
    cout<<"1. Odleglosc między Ziemią a Ksiezycem wynosi:?"<<pyt1<<"\n";
    cout<< "A. 395 000km"<<a1<<"\n";
    cout<< "B. 384 400km"<<b1<<"\n";
    cout<< "C. 254 400km"<<c1<<"\n";
    cout<< "D. RZUT BERETEM"<<d1<<"\n";

    cin>>odpowiedz;
    cout<<endl;
    if (odpowiedz=="b")
    {
    cout<< "GRATULUJE JESTES WSPANIALY. ZDOBYWASZ PUNKT "<<endl;
    punkty++;
    }
        else cout<<"PRZYKRO, ZLA ODPOWIEDZ. NIE ZDOBYWASZ PUNKU."<<endl;
    cout<<endl;


   fstream plik;
    plik.open("quiz11.txt", ios::out);
   
    plik << temat<< endl;
    plik<<nick<<endl;
    plik<< pyt1<<"\n";
    plik<<a1<<"\n";
    plik<<b1<<"\n";
    plik<<c1<<"\n";
    plik<<d1<<"\n";
//  nie wiem jak mam umiescic odpowiedz???
plik.close();

    return 0;
}

 

komentarz 8 kwietnia 2017 przez Mariusz08 Maniak (62,320 p.)
1. Nie używaj zmiennych globalnych.

2.Nie pisz wielkimi literami
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
co masz na myśli zmienne globalne?
komentarz 8 kwietnia 2017 przez Mariusz08 Maniak (62,320 p.)

Zmienna globalna – zmienna istniejąca przez cały czas życia programu i widziana z wielu miejsc w programie.

Nadużywanie zmiennych globalnych może prowadzić do poważnych problemów

Po prostu zmienne przenieś do klasy. Chyba że oglądasz MZ to za 3-4 odcinki zobaczysz o co chodzi 

komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
ok dzięki tak właśnie jestem na 7 odcinku :)
1
komentarz 8 kwietnia 2017 przez draghan VIP (106,020 p.)
Ja ze swojej strony bardzo proszę o czytelne redagowanie swoich pytań. Zdania zaczynamy wielką literą, kończymy kropką, znakiem zapytania (jeden wystarczy), ewentualnie wykrzyknikiem. Nie piszemy całych zdań wersalikami.

Pozdrawiam i życzę miłego dnia.
1
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
Tak jest. Obiecuję poprawę.
komentarz 8 kwietnia 2017 przez draghan VIP (106,020 p.)

Super. smiley

2 odpowiedzi

0 głosów
odpowiedź 8 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,180 p.)
Przecież zmienne a1, b1, c1, d1 są puste, a ty je wypisujesz, a potem jeszcze zapisujesz do pliku.
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)

ok mówi że są puste ale wydawało mi się że jak określiłam ze np 

 cout<< "A. 395 000km"<<a1<<"\n";

to ta zminna zawiera dan treść tak czy nie bo nie wiem

komentarz 8 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,180 p.)
cout << zmienna1 << "tekst abc" << zmienna2; To wypisze do konsoli i nic nie wpiszę do zmiennych string. Jeśli chcesz umieścić wartość w stringu to:

nazwa_stringa = "Ala ma kota";
komentarz 8 kwietnia 2017 przez Undisputed Gaduła (3,040 p.)

albo wczytać z konsoli

cin >> nazwa_zmiennej;

 

komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)

ok coś mi wyszło dziękuję serdecznie 

ale mam kolejne pytanie

 

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
string temat, nick;
string pyt1;
string odpowiedz;
string a1,b1,c1,d1;
string poprawna;
int punkty=0;
int main()
{
    cout << "Witaj" << temat<<endl;
    cout<<"ewark"<<nick<<endl;
    cout<<"1. Odleglosc między Ziemią a Ksiezycem wynosi:?"<<pyt1<<"\n";
    cout<< "A. 395 000km"<<"\n";
    cout<< "B. 384 400km"<<"\n";
    cout<< "C. 254 400km"<<"\n";
    cout<< "D. RZUT BERETEM"<<"\n";
a1="A. 395 000km";
b1="B. 384 400km";
c1="C. 254 400km";
d1= "D. RZUT BERETEM";
    cin>>odpowiedz;
    cout<<endl;
    if (odpowiedz=="b")
    {
    cout<< "GRATULUJE JESTES WSPANIALY. ZDOBYWASZ PUNKT "<<endl;
    punkty++;
    }
        else cout<<"PRZYKRO, ZLA ODPOWIEDZ. NIE ZDOBYWASZ PUNKU."<<endl;
    cout<<endl;


   fstream plik;
    plik.open("quiz11.txt", ios::out);

    plik << temat<< endl;
    plik<<nick<<endl;
    plik<< pyt1<<"\n";
    plik<<a1<<"\n";
    plik<<b1<<"\n";
    plik<<c1<<"\n";
    plik<<d1<<"\n";
//  nie wiem jak mam umiescic odpowiedz???
plik.close();

    return 0;
}

nie rozumiem dlaczego jak umieszcze a1,b1,c1,d1 np.: pod poleceniem  fstream juz tego nie widzi. gdzie się to poprawinie umieszcza ja wcisnelam pod cout-em? wiem ze zadaje pytanie nie używając języka programistów proszę o wyrozumiałość :)

komentarz 8 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,180 p.)
Nie rozumiem pytania. Zadaj je jeszcze raz i najlepiej to daj kod w którym ci to nie działa.
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
zmienne a1 i reszta nie są już puste mają wartość. wszystko działa. ale z ciekawośći umieściłam zmienne pod poleceniem   fstream plik; i tu po otwarciu pliku txt znów był pusty.

pytanie: w którym miejscu poprawnie to- zmienne należy wpisać przed int main() czy tak jak ja  w linia 20-23 ?
komentarz 8 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,180 p.)
Linie 15-19 to możesz wcześniej nadać wartości tym zmiennym a1 itd. i je wypisywać np. std::cout << a1 << "\n" zamiast cout<< "A. 395 000km"<<"\n"; A najlepiej to odczytywać z pliku to wszystko. Nadanie wartości zmiennym przed otwarciem - nie wiem czemu nie zadziałało.
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
Dziękuję za światło w tunelu.
0 głosów
odpowiedź 8 kwietnia 2017 przez Undisputed Gaduła (3,040 p.)
Zacznijmy od początku :)

Co masz w zmiennych "temat" "nick" "pyt1" oraz "a1" "b1" "c1" "d1" ? Wg mnie to nie ma tam nic, dlatego do pliku nic nie zapisujesz.
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
edycja 8 kwietnia 2017 przez ScriptyChris
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
string temat, nick;
string pyt1;
string odpowiedz;
string a1,b1,c1,d1;
string poprawna;
int punkty=0;
int main()
{
    cout << "Witaj" << temat<<endl;
    cout<<"ewark"<<nick<<endl;
    cout<<"1. Odleglosc między Ziemią a Ksiezycem wynosi:?"<<pyt1<<"\n";
    cout<< "A. 395 000km"<<"\n";
    cout<< "B. 384 400km"<<"\n";
    cout<< "C. 254 400km"<<"\n";
    cout<< "D. RZUT BERETEM"<<"\n";
a1="A. 395 000km";
b1="B. 384 400km";
c1="C. 254 400km";
d1= "D. RZUT BERETEM";
nick="ewark";
temat="Witaj";
    cin>>odpowiedz;
    cout<<endl;
    if (odpowiedz=="b")
    {
    cout<< "GRATULUJE JESTES WSPANIALY. ZDOBYWASZ PUNKT "<<endl;
    punkty++;
    }
        else cout<<"PRZYKRO, ZLA ODPOWIEDZ. NIE ZDOBYWASZ PUNKU."<<endl;
    cout<<endl;

   fstream plik;
    plik.open("quiz11.txt", ios::out);

    plik << temat<< endl;
    plik<<nick<<endl;
    plik<< pyt1<<"\n";
    plik<<a1<<"\n";
    plik<<b1<<"\n";
    plik<<c1<<"\n";
    plik<<d1<<"\n";
    plik<<odpowiedz;//dziala jest ok ale czy to jest własciwe postepowanie

plik.close();

    return 0;
}


ok super udało się

czy teraz jak ju mi działa czy to jest poprawne czy coś można innaczej zrobić

fajnie że jesteście:)

komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
string temat, nick;
string pyt1;
string odpowiedz;
string a1,b1,c1,d1;
string poprawna;
int punkty=0;
int main()
{
    cout << "Witaj" << temat<<endl;
    cout<<"ewark"<<nick<<endl;
    cout<<"1. Odleglosc między Ziemią a Ksiezycem wynosi:?"<<pyt1<<"\n";
    cout<< "A. 395 000km"<<"\n";
    cout<< "B. 384 400km"<<"\n";
    cout<< "C. 254 400km"<<"\n";
    cout<< "D. RZUT BERETEM"<<"\n";
a1="A. 395 000km";
b1="B. 384 400km";
c1="C. 254 400km";
d1= "D. RZUT BERETEM";
nick="ewark";
temat="Witaj";
    cin>>odpowiedz;
    cout<<endl;
    if (odpowiedz=="b")
    {
    cout<< "GRATULUJE JESTES WSPANIALY. ZDOBYWASZ PUNKT "<<endl;
    punkty++;
    }
        else cout<<"PRZYKRO, ZLA ODPOWIEDZ. NIE ZDOBYWASZ PUNKU."<<endl;
    cout<<endl;


   fstream plik;
    plik.open("quiz11.txt", ios::out);

    plik << temat<< endl;
    plik<<nick<<endl;
    plik<< pyt1<<"\n";
    plik<<a1<<"\n";
    plik<<b1<<"\n";
    plik<<c1<<"\n";
    plik<<d1<<"\n";
    plik<<odpowiedz;//dziala jest ok ale czy to jest własciwe postepowanie

plik.close();

    return 0;
}

 

komentarz 8 kwietnia 2017 przez Undisputed Gaduła (3,040 p.)
Możesz jeszcze dodać to, że osoba rozwiązująca twój quiz będzie wprowadzała z klawiatury duże litery. Czyli jak masz teraz że prawdziwa odp jest "b" to zrób, żeby "B" też była prawdziwa :)
komentarz 8 kwietnia 2017 przez ewark Nowicjusz (120 p.)
ok dzięki

a jeżeli teraz dodam kilka pytać to w którym miejscu umieścić wielkość litery. to się robi za każdym razem czy jest opcja hurtowa :)
komentarz 8 kwietnia 2017 przez Undisputed Gaduła (3,040 p.)
jest opcja hurtowa :)

Podobne pytania

–1 głos
3 odpowiedzi 259 wizyt
pytanie zadane 20 sierpnia 2020 w C i C++ przez Mati49 Obywatel (1,930 p.)
0 głosów
0 odpowiedzi 136 wizyt
pytanie zadane 11 stycznia 2017 w Systemy operacyjne, programy przez Akdx Początkujący (310 p.)
+1 głos
4 odpowiedzi 937 wizyt
pytanie zadane 22 czerwca 2015 w C i C++ przez Grzyboo Nałogowiec (28,880 p.)

89,134 zapytań

137,737 odpowiedzi

307,746 komentarzy

59,182 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...