Skocz do zawartości

gsmfun

Użytkownicy
  • Postów

    2
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia gsmfun

Chicken

Chicken (1/13)

0

Reputacja

  1. dzieki append dziala;)) tylko teraz mam problem z ''znajdz'' w ogole nie dziala tylko ostatni element dopisany od pliku jest wyszukiwany a reszta nie wchodzi w gre...... a zmienilem to ofstream plik_zap(Nazwa, std::ios::app); moglby ktos to przebudowac albo podac wskazowki gdzie co zmienic(taka prosba:)).. bo juz sil nie mam ja kcos zmienie w jednym miejscu to drugie nie dziala;/ ..a to pilna sprawa!! Pozdrawiam
  2. Mam problem z zapisem do pliku w ponizszym programie.......zamiast dopisac do pliku to program nadpisuje go....tzn po uruchomieniu programu ''dodamy abonenta'' zapiszemy i odczytamy to poprzedni abonenci nam znikną a zostana zapisani ci wpisanie ''przed chwila w programie''.....a drugie: ... jak uruchomimy program zczytamy z pliku i chcemy uruchomic wyszukiwarke to wywala polecenie ''lista jest pusta'' a w pliku txt mamy zapisanego abonenta..... Prosilbym o pomoc w ten sprawie #include <iomanip> #include <iostream> #include <cstdlib> #include <cstring> #include <cctype> #include <fstream> #include <conio.h> #include <stdio.h> #include <windows.h> using namespace std; const int MAX = 100; const int STUD = 100; const char* Nazwa = "osoby.txt"; int licz_abonent = 0; extern "C" void __stdcall Sleep(DWORD dwMilliseconds); struct abonent { char nazwisko[MAX], imie[MAX]; int telefon; }; abonent *tablica_ab[sTUD]; void Dodaj() { abonent *nowy_abonent; nowy_abonent = new abonent; cout << "Podaj nazwisko: ";cin.getline(nowy_abonent->nazwisko, MAX); cout << "Podaj imie: ";cin.getline(nowy_abonent->imie, MAX); int i, dlug = strlen(nowy_abonent->nazwisko); nowy_abonent->nazwisko[0] = toupper(nowy_abonent->nazwisko[0]); for (i = 1;i < dlug;i++) nowy_abonent->nazwisko = tolower(nowy_abonent->nazwisko); nowy_abonent->imie[0] = toupper(nowy_abonent->imie[0]); dlug = strlen(nowy_abonent->imie); for (i = 1;i < dlug;i++) nowy_abonent->imie = tolower(nowy_abonent->imie); cout << "Podaj Nr.telefonu: "; cin >> nowy_abonent->telefon; cin.get(); tablica_ab[licz_abonent] = nowy_abonent; licz_abonent++; } void Znajdz() { char szukaj[MAX]; if (licz_abonent == 0) {cout << "Lista jest pusta" << endl;} else { cout << "Podaj szukane nazwisko "; cin >> szukaj;cin.get(); szukaj[0] = toupper(szukaj[0]); cout << setw(10) << "Nazwisko" << setw(10) << "Imie" << setw(10) << "Telefon" << endl; for (int i = 0; i < licz_abonent; i++) { if (strcmp(tablica_ab->nazwisko, szukaj) == 0) { cout << setw(10) << tablica_ab->nazwisko << setw(10) << tablica_ab->imie << setw(10) << tablica_ab->telefon << endl; } else cout << "Nie ma takiego abonenta" << endl; } } } void Usun() { char usun[MAX]; cout << "Podaj nazwisko do usuniecia" << endl; cin >> usun; cin.get(); int i, dlug = strlen(usun); usun[0] = toupper(usun[0]); for (int i = 1;i < dlug;i++) usun = tolower(usun); for (int i = 0; i < licz_abonent; i++) { if (strcmp(tablica_ab->nazwisko, usun) == 0) { delete tablica_ab; for (int j = i;j < licz_abonent;j++) tablica_ab[j] = tablica_ab[j+1]; licz_abonent--; } } } void fnZapisz(char* Nazwa = "osoby.txt") { if (licz_abonent == 0) { cout << "Nie ma czego zapisac" << endl; return; } ofstream plik_zap(Nazwa); if (!plik_zap) { cerr << "\n\aPliku " << Nazwa << " nie udalo sie otworzyc\n" << endl; } else { cout << "zapisuje do pliku:\n"; for (int i = 0;i < licz_abonent;i++) { plik_zap << tablica_ab->nazwisko << "," << tablica_ab->imie << "," << tablica_ab->telefon << endl; cout << tablica_ab->nazwisko << ' ' << tablica_ab->imie << ' ' << tablica_ab->telefon << endl; } plik_zap.close(); } } void fnOdczyt(char *Nazwa = "osoby.txt") { ifstream plik_odcz; plik_odcz.open(Nazwa); if (!plik_odcz) { cerr << "\nBRAK PLIKU: " << Nazwa << endl; } else { cout << "Odczytuje z pliku:\n"; cout << plik_odcz.rdbuf(); plik_odcz.close(); } } int main() { char z; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_INTENSITY); while (1) { cout << "\n==M===E===N===U===" << endl; Sleep(100); cout << "\n1 - Dodaj abonenta ksiazki" << endl; Sleep(100); cout << "\n2 - Znajdz abonenta" << endl; Sleep(100); cout << "\n3 - Usun abonenta ksiazki" << endl; Sleep(100); cout << "\n4 - Zapisz do pliku" << endl; Sleep(100); cout << "\n5 - Odczytytaj z pliku" << endl; Sleep(100); cout << "\nW - Wyjscie" << endl; z = getch(); switch (z) { case 'W': return EXIT_SUCCESS; case 'w': return EXIT_SUCCESS; case '1': Dodaj();break; case '2': Znajdz();break; case '3': Usun();break; case '5': fnOdczyt(); break; case '4': fnZapisz(); break; } } system("PAUSE"); return EXIT_SUCCESS; }
×
×
  • Dodaj nową pozycję...