Kurs "Przestrzenie nazw" - Problem z przesłaniem struktury do funkcji
Ostatnio zmodyfikowano 2016-10-31 20:22
grego Temat założony przez niniejszego użytkownika |
Kurs "Przestrzenie nazw" - Problem z przesłaniem struktury do funkcji » 2016-10-31 18:30:01 Dlaczego nie mogę przenieść struktury do funkcji? #include <iostream> #include <fstream> #include <conio.h> #include <string> using std::cout; using std::cin; using std::endl; using std::fstream; using std::string; using std::ios; namespace DDR { struct Uzytkownicy { string imie; string nazwisko; string pochodzenie; string wyksztalcenie; string email; int wiek; }; } void Zapisz( const DDR::Uzytkownicy * Dane[] ); int main() { using DDR::Uzytkownicy; Uzytkownicy Persona[ 3 ]; fstream plik; plik.open( "Plik.txt" ); if( plik.is_open() | ios::trunc | ios::out | ios::app ) { cout << "Wszystkie dane dotyczacze uzytkownikow zostana zapisane " << "w pliku o \nnazwie \"Plik.txt\"" << endl; } cout << "Prosimy o podanie danych 3 uzytkownikow naszego serwisu.\n\n"; for( int i = 0, z = 1; i < 3; i++, z++ ) { cin.clear(); cin.sync(); cout << "Dane uzytykownika " << z << endl << endl; cout << "Podaj imie lub imiona (jesli posiada wiecej niz jedno): "; getline( cin, Persona[ i ].imie ); cout << "Podaj nazwisko: "; getline( cin, Persona[ i ].nazwisko ); cout << "Podaj miejsce zamiekszania oraz nazwe kraju: "; getline( cin, Persona[ i ].pochodzenie ); cout << "Podaj email:"; getline( cin, Persona[ i ].email ); cout << "Podaj wiek: "; cin >> Persona[ i ].wiek; cout << endl; Zapisz( & Persona[ i ] ); } return 0; getch(); } |
|
BadBullPL |
» 2016-10-31 18:33:56 void Zapisz( const DDR::Uzytkownicy * Dane[] ); Usuń '[]' |
|
grego Temat założony przez niniejszego użytkownika |
» 2016-10-31 19:56:20 No a teraz błąd krytyczny przy zapisie danych do pliku tekstowego. :) #include <iostream> #include <fstream> #include <conio.h> #include <string> using std::cout; using std::cin; using std::endl; using std::fstream; using std::string; using std::ios; namespace DDR { struct Uzytkownicy { string imie; string nazwisko; string pochodzenie; string wyksztalcenie; string email; int wiek; }; } void Zapisz( const DDR::Uzytkownicy * Dane, fstream & plik, int liczba ); int main() { int liczba = 0; using DDR::Uzytkownicy; Uzytkownicy Persona[ 3 ]; fstream plik; plik.open( "Plik.txt" ); if( plik.is_open() | ios::trunc | ios::out | ios::app ) { cout << "Wszystkie dane dotyczacze uzytkownikow zostana zapisane " << "w pliku o \nnazwie \"Plik.txt\"" << endl; } cout << "Prosimy o podanie danych 3 uzytkownikow naszego serwisu.\n\n"; for( int i = 0, z = 1; i < 3; i++, z++ ) { cin.clear(); cin.sync(); cout << "Dane uzytykownika " << z << endl << endl; cout << "Podaj imie lub imiona (jesli posiada wiecej niz jedno): "; getline( cin, Persona[ i ].imie ); cout << "Podaj nazwisko: "; getline( cin, Persona[ i ].nazwisko ); cout << "Podaj miejsce zamiekszania oraz nazwe kraju: "; getline( cin, Persona[ i ].pochodzenie ); cout << "Podaj email:"; getline( cin, Persona[ i ].email ); cout << "Podaj wiek: "; cin >> Persona[ i ].wiek; cout << endl; Zapisz( & Persona[ i ], plik, liczba ); liczba++; } return 0; getch(); } void Zapisz( const DDR::Uzytkownicy * Persona, fstream & plik, int i ) { plik << Persona[ i ].imie; plik << Persona[ i ].nazwisko; plik << Persona[ i ].pochodzenie; plik << Persona[ i ].wyksztalcenie; plik << Persona[ i ].wiek; }
|
|
karambaHZP |
» 2016-10-31 20:22:02 Tak możesz zapisać POD. Ze stringiem użyj metody data() lub c_str(). Poszukaj w artykułach artykuł o zapisie binarnym do pliku. edit: Zapis binarny |
|
« 1 » |