Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

MAM taki program(a wlasiwie dopiero jego poczatek :/)

 #include 
#include 
using namespace std;
struct GOSC
{
      char nazwisko[20];
      char imie[10];       // tutaj nie wiem czy imie i nazwisko ma byc w jednej tablicy 
      int ile_dni;         // chyba tak ma byc ale nie wiem czy nie bedzie problemu pozniej w tej aktualizacji
      float cena_za_dobe;
      float rozmowy_tele;
      float konsumpcja;
      float koszt;
      bool obcokrajowiec;
};
int main()
{
   fstream plik;  // koniecznie ma byc plik binarny
   GOSC gosc;
   int wybor;
   cout    cout    cout    cout    cout    cout    cout    do {
   cout>wybor;
   switch(wybor)
   {
                case 1: plik.open("hotel.dta", ios::out | ios::binary);  // tutaj trzeba zastosowac raczej tryb app czyli dopisywania ale mi nie wychodzi
                        if(!plik) cout                         else
                        {
                        cout                         cout                         // nie mam pojecia dlaczego mi nie chce zapisac imienia
                        cout                         cout>gosc.ile_dni;
                        cout>gosc.cena_za_dobe;
                        cout>gosc.rozmowy_tele;
                        cout>gosc.konsumpcja;
                        cout>gosc.obcokrajowiec;
                        plik.write((char*)&gosc, sizeof(GOSC));
                        plik.close();
                        } break;
                case 2: 
                        plik.open("hotel.dta", ios::in | ios::binary);
                        plik.read((char*)&gosc, sizeof(GOSC));
                        cout                                                  plik.close();
                        break;
                case 3: cout                 case 4: cout                 case 5: cout                 case 6: cout                 default: cout    };
   } while(wybor!=6);
   system("PAUSE");
   return 0;
}

/* skonstruowac baze danych opisywaną przez strukture GOSC zlozona z nastepujacych pol:
               * Nazwisko i imie goscia
               * Nr pokoju
               * ile dni pobytu
               * cena za dobe
               * rozmowy telefoniczne
               * konsumpcja
               * koszt=cenazadobe*ilednipobytu+rozmowytelef+konsumpcja

W programie uwzglednic nastepujace opcje:

1. Nowy element (dopisanie na koniec pliku HOTEL)
2. Wyswietlenie wszystkich elementow
3. Wyswietlenie gosci zagranicznych
4. Wyszukanie goscia, ktory sednio zaplacil najwiecej za jeden dzien pobytu
5. KONIEC PROGRAMU */

 

mianowicie nie mam pojecia co zrobic aby dane byly dopisywane do konca pliku a nie ciagle od poczatku (case1).

probowalem zmienic tryb otwarcia na app(ale wtedy mam blad otwarcia pliku)

probowalem tez cos takiego seekg(0, ios::end) ale to wpisalem albo nie w tym miejscu albo nie wiem czemu nie dziala;;

Bardzo prosilbym tez o rade jesli chodzi o case2 gdzie trzeba wypisac caly plik.

Narazie tyle pytan bo za aktualizacje i tam dalej sie jeszcze nie biore jak nie bede mial tego

bardzo prosze o szybka odpowiedz

  • Odpowiedzi 2
  • Wyświetleń 1,6k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

Dodanie flagi ios::app powinno wystarczyc. Po otwarciu w ten sposob:

plik.open("hotel.dta", ios::out | ios::binary | ios::app);

moglem bez problemu dopisywac. No chyba ze wpisywales samo ios::app, wtedy wiadomo ze bedzie blad.

Co do case2 to musisz czytac i wypisywac kolejnych gosci do momentu napotkania znaku konca pliku.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.