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

otwieranie pliku .exe

Object Storage Arubacloud
0 głosów
462 wizyt
pytanie zadane 25 czerwca 2020 w Systemy operacyjne, programy przez Marcinuq Użytkownik (640 p.)
edycja 25 czerwca 2020 przez Marcinuq

Witam!

Mimo to, że przed returnem mam napisane getch(); , program po uruchomieniu i po napisaniu tekstu w tym programie, zamyka się odrazu mimo, tego że na codeblocks działa normalnie ten program. Jak mogę to naprawić?

Tu jest kod: 

#include <iostream>
#include <list>
#include <cstdlib>
#include <windows.h>
#include <fstream>
#include <conio.h>
using namespace std;

list <string> lista;

void dodajpocz()
{
    string n;
    cout<<"Podaj imie i nazwisko osoby, która chesz dodac: ";
    cin.ignore();
    getline(cin, n);
    lista.push_front(n);
}
void dodajkon()
{
    string n;
    cout<<"Podaj imie i nazwisko osoby, która chesz dodac: ";
    cin.ignore();
    getline(cin, n);
    lista.push_back(n);
}
void usunpocz()
{
    lista.pop_front();
    cout<<"Pomyslnie usunales/usunelas osobe z listy"<<endl;
    Sleep(2000);
}
void usunkon()
{
    lista.pop_back();
    cout<<"Pomyslnie usunales/usunelas osobe z listy"<<endl;
    Sleep(2000);
}
void rozmiar()
{
    cout<<"Liczba osob na liscie: "<< lista.size()<<endl;
    Sleep(2000);
}
void sortowanie()
{
    lista.sort();
}
void wyswietl()
{
    int a=0;
    for(list <string>::iterator i=lista.begin(); i!=lista.end();i++)
        {
            a++;
            cout<<a<<". "<<*i<<endl;
        }
}

int main()
{
    setlocale(LC_ALL,"");
    string lokalizacja; ///u¿ytkownik podaje lokalizacjê swojego pliku
    cout<<"Podaj lokalizacje pliku: ";
    cin>>lokalizacja;
    fstream plik;
    plik.open(lokalizacja);
    if(plik.is_open())
    {
        cout<<"Udalo sie otworzyc plik"<<endl;
    }
    else
    {
        cout<<"Cos poszlo nie tak..."<<endl;
        exit(0);
    }

    int wybor=0;
    while(wybor!=7)
    {
        cout<<"\tLISTA OSOB"<<endl;
        cout<<"--------------------------------"<<endl;
        wyswietl();
        cout<<"--------------------------------"<<endl;


        cout<<"Menu"<<endl;
        cout<<"1.Dodaj osobe na koniec listy."<<endl;
        cout<<"2.Dodaj osobe na poczatek listy."<<endl;
        cout<<"3.Usun osobe z konca listy."<<endl;
        cout<<"4.Usun osobe z poczatku listy."<<endl;
        cout<<"5.Sprawdz rozmiar listy."<<endl;
        cout<<"6.Posortuj liste alfabetycznie."<<endl;
        cout<<"7.Wyjdz z aplikacji."<<endl;
        cout<<"Wybierz opcje: ";
        cin>>wybor;
        switch(wybor)
        {
            case 2:
                {
                    dodajpocz();

                    break;
                }
            case 1:
                {
                    dodajkon();

                    break;
                }
            case 4:
                {
                    usunpocz();

                    break;
                }
            case 3:
                {
                    usunkon();
                    break;
                }
            case 5:
                {
                    rozmiar();

                    break;
                }
            case 6:
                {
                    sortowanie();

                    break;
                }
            case 7:
                {
                    cout<<"Czekaj trwa zapisywanie listy do pliku..."<<endl;
                    int a=0;
                    plik<<"Lista Wycieczkowiczow"<<endl;
                    for(list <string>::iterator i=lista.begin(); i!=lista.end();i++)
                    {
                        ++a;
                        plik<<a<<". "<<*i<<endl;
                    }

                    exit(0);
                    break;
                }
        }
        system("cls");
    }
    plik.close();
    
    getch();
    return 0;
}

 

komentarz 25 czerwca 2020 przez tkz Nałogowiec (42,000 p.)
Może coś jest w buforze. Bez kodu trudno stwierdzić.
komentarz 25 czerwca 2020 przez Marcinuq Użytkownik (640 p.)
Dodałem kod :).
komentarz 25 czerwca 2020 przez tkz Nałogowiec (42,000 p.)
Nigdy nie dojdziesz do tego momentu, przez Twoje exit(0)(co nie jest najlepszym pomysłem). W ogóle dlaczego masz break'i w casach?
komentarz 25 czerwca 2020 przez Marcinuq Użytkownik (640 p.)
A ok, a te break'i po to by funkcje z tych dalszych przypadków się nie wykonywały.
komentarz 25 czerwca 2020 przez tkz Nałogowiec (42,000 p.)
Z zasady stawia się je za ostatnim nawiasem.
komentarz 25 czerwca 2020 przez Marcinuq Użytkownik (640 p.)
no dobra, ale mi działa. Tylko co mam zrobić zamiast tego exita żeby mi ten program.exe pokazywał wszystko, a nie zamykał się po napisaniu tej lokalizacji.
komentarz 25 czerwca 2020 przez tkz Nałogowiec (42,000 p.)
W którym momencie się zamyka? Zmień pozycje  getch(); na tam, gdzie chcesz by się zatrzymało.
komentarz 25 czerwca 2020 przez Marcinuq Użytkownik (640 p.)

Ok dziękuje za pomoc. Wszystko działalaugh

1 odpowiedź

0 głosów
odpowiedź 25 czerwca 2020 przez BlayUng Początkujący (260 p.)

Mi to działa jak zrobię tak:

int pause;
pause=getch();
return 0;
komentarz 25 czerwca 2020 przez Marcinuq Użytkownik (640 p.)
To nic nie dało :( nadal się zamyka
komentarz 25 czerwca 2020 przez BlayUng Początkujący (260 p.)
A przed zamknięciem coś klikałeś?
komentarz 25 czerwca 2020 przez Marcinuq Użytkownik (640 p.)
Enter, żeby zatwierdzić tekst który napisałem

Podobne pytania

0 głosów
2 odpowiedzi 1,937 wizyt
pytanie zadane 11 września 2015 w C i C++ przez C☺ndzi Stary wyjadacz (12,100 p.)
+3 głosów
1 odpowiedź 134 wizyt
pytanie zadane 31 marca w C# przez ross Nowicjusz (150 p.)
+1 głos
0 odpowiedzi 539 wizyt
pytanie zadane 21 lipca 2020 w C i C++ przez student33 Początkujący (250 p.)

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

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

...