• 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

VPS Starter Arubacloud
0 głosów
355 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,300 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,300 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,230 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,230 p.)

Super. smiley

2 odpowiedzi

0 głosów
odpowiedź 8 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,170 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,170 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,170 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,170 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 486 wizyt
pytanie zadane 20 sierpnia 2020 w C i C++ przez Drożdżówka Obywatel (1,870 p.)
0 głosów
0 odpowiedzi 196 wizyt
pytanie zadane 11 stycznia 2017 w Systemy operacyjne, programy przez Akdx Początkujący (310 p.)
+1 głos
4 odpowiedzi 1,138 wizyt
pytanie zadane 22 czerwca 2015 w C i C++ przez Grzyboo Nałogowiec (28,860 p.)

92,452 zapytań

141,262 odpowiedzi

319,080 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...