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

problem z programem (operacje na plikach)

Object Storage Arubacloud
0 głosów
174 wizyt
pytanie zadane 29 stycznia 2018 w C i C++ przez Artur313 Użytkownik (790 p.)

witam mam następujący program:

 

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <ctime>
#include <string>
#include <conio.h>
#include <windows.h>

using namespace std;
int zlicz()
{
     int nr_lini =0;

    ifstream plik;
    plik.open("test.txt");
    string linia;
    while(getline(plik,linia))
    {
        nr_lini++;

    }


return nr_lini;
}


void create_user(string *nick)
{
    cout<<"podaj nick:";
cin>>*nick;
}





void w(string &odp)
{
int i=zlicz();
  ifstream plik;
     string linia;
plik.open("test.txt");
int n=0;
int k=5;
while(!plik.eof())
{


while(n!=k)
{
    getline(plik,linia);
    {
        cout<<linia<<endl;

    }
    n++;

}



 cout <<"podaj odpowiedz ";

cin>>odp;


n=n+5;
k=k+11;
}

}

void sprawdz(string odp,int &punkt)
{
    punkt=0;
int n=zlicz()/6-4;
string linia;
ifstream plik;
plik.open("test.txt");

    for (int i=0;i<n-1;i++)
    {
    getline(plik,linia);


    }
        getline(plik,linia);
        {
            if (linia==odp)
            {
            punkt++;
            }

        }
}
void podsumowanie(int punkt,string &nick)
{
    cout<<nick<<" zdobyles  "<<punkt<<"  punktow";
}
void ranking(int punkt,string&nick)
{
    fstream ranking("ranking.txt",ios::app);
    ranking<<  nick<<"         "<<   punkt<<" PKT."<<endl;
    ranking.close();
}
void dodaj()
{
    string tresc;
    string odpwiedz_A;
    string odpwiedz_B;
    string odpwiedz_C;
    string odpwiedz_D;
    string odpwiedz_poprawna;

        fstream dod_pytanie("test.txt",ios::app);
        cout <<"wpisz tresc pytania";
        getline(cin,tresc);





        dod_pytanie<<tresc<<endl;
        cout <<"podaj odpowiedz A";
        getline(cin,odpwiedz_A);

        dod_pytanie<<"A. "<<odpwiedz_A<<endl;
        dod_pytanie<<"B. "<<odpwiedz_B<<endl;
        dod_pytanie<<"C. "<<odpwiedz_C<<endl;
        dod_pytanie<<"D. "<<odpwiedz_D<<endl;
        dod_pytanie<<odpwiedz_poprawna<<endl;

      dod_pytanie.close();
}

void wywolaj()
{
cout<<"wytaj w tescie ze znajomosci lektor szkolnych na poziomie szkoly sredniej"<<endl
<<"----------------------------------------------------------------------------------"<<endl;
cout <<"wybierz opcje: "<<endl
<<"============================="<<endl
<<"1. Rozpocznij test"<<endl
<<"2. Dodaj pytanie "<<endl
<<"3. Usun pytanie "<<endl
<<"4. Zobacz Ranking "<<endl
<<"ESC. Zakoncz program";
char wybor;
wybor=getchar();
switch (wybor)
{


case '1':
    {
string usr;
create_user(&usr);
cout<<"za chwile rozpocznie sie test...";
Sleep(600);
string odp;
int p;
zlicz();
w(odp);
sprawdz(odp,p);
podsumowanie(p,usr);
ranking(p,usr);
break;

}
case '2':
    {
       dodaj();
       break;
    };
}
}






nie wiem czemu nie przekazuje zmiennej odp do  funkcji sprawdź mam też problem z dodawaniem i usuwaniem pytań z góry dziękuje za pomoc 

komentarz 29 stycznia 2018 przez j23 Mędrzec (194,920 p.)
A skąd wiesz, że nie przekazuje? Może machnąłeś się z czytaniem linii z pliku...

 

I używaj interpunkcji, bo ciężko się czyta.

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

Podobne pytania

0 głosów
0 odpowiedzi 311 wizyt
pytanie zadane 8 grudnia 2018 w C i C++ przez matiibal Użytkownik (620 p.)
0 głosów
1 odpowiedź 121 wizyt
0 głosów
2 odpowiedzi 144 wizyt
pytanie zadane 6 listopada 2018 w PHP przez Rick_Sanchez Nowicjusz (160 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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!

...