Struktury /zapis danych.

0

Witam was ponownie. Tym razem moje zadanie polega na stworzeniu struktury "student". Następnie zapytaniu użytkownika o nazwę pliku i zapisanie tam danych. Każdy wiersz ma zawierać dane studenta oddzielone tabulaturami. Nie mam pojęcia jak zapisać plik o nazwie podanej przez użytkownika. Znalazłem wiele poradników w internecie jak i tu na forum "jak zapisac plik", ale nie było nic o podaniu nazwy i zapisaniu.
Co do tych tabulacji to tak myślę, że przed zapisem można stworzyć jakąś funkcję dodająca '\t', a może i łatwiej byłoby w czasie "wklepywania danych z klawiatury"? Tu jakoś sobie poradzę, gorzej z tym pierwszym problemem, czekam na pomysły:)
oto Program:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

//*****************************************//
struct Student 
{
	string imie;
	string nazwisko;
	double numer_indeksu;
	double ocena;
};

//********************************************//
int main()
{
	const int n=10;
	Student nr[n];
	char znak;
	int liczba_studentow;

	// OPERACJA WPROWADZANIA NOWEGO STUDENTA//

	cout << "Ilu studentow chcesz wprowadzic (nie wiecej jak "<<n<<")=";
	cin >> liczba_studentow;
	for(int i=0; i<liczba_studentow; i++)
	{
		cout <<"Podaj Imie nowego studenta ";
		cin >>  nr[i].imie;
		cout <<"Podaj Nazwisko nowego studenta ";
		cin >> nr[i].nazwisko;
		cout <<"Podaj Numer Indeksu nowego studenta ";
		cin >>nr[i].numer_indeksu;
		cout <<"Podaj Ocene nowego studenta ";
		cin >> nr[i].ocena;

	}
	//***********************************************//
	char koniec;
	cin >>koniec;
	return 0;
}
0

Wystarczy wczytać nazwę do zmiennej typu string

string nazwa_pliku;
cin >> nazwa_pliku;

i później użyć jej podczas otwierania pliku:

ofstream plik(nazwa_pliku.c_str());

Co do tabulacji to nie ma nic prostszego i bardziej wymownego niż bezpośrednie podanie '\t' do strumienia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1