[C++] Wczytanie pliku do tablicy struktur

MenosGrandes
Użytkownik
Użytkownik
Posty: 164
Rejestracja: 12 lis 2011, o 09:27
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

[C++] Wczytanie pliku do tablicy struktur

Post autor: MenosGrandes »

Mam taką strukturę

Kod: Zaznacz cały

struct notebook
{
	char nazwa;
	int cena;
	};
Mam wpisać do tablicy struktur dane nooteboków. Mam plik który możę mieć dużo "notebooków" .Jak mam policzyć ilość tych notebooków w danym pliku , zęby można było stworzyć tablice dynamiczną?. I jak mam je wpisać w tą tablice. Mam taką funkcje

Kod: Zaznacz cały

void czytaj_z_pliku(ifstream &plik, int tab[][])
{for(int i=0;i<n;i++)
  {for(int j=0;j<m;j++)
   plik>>tab[i][j]

}
}
funkcja była podana na wykładzie.. ale wszystko było tak szybko że nawet nie wwytłumacztyła jak ona dziala. Ktoś możę podpowiedzieć co mam zrobić żęby wpisać do tablice struktur A dane odczytane z pliku?. Wszystko ma być w funkcjach...
Mam jeszcze jeden problem

Kod: Zaznacz cały

// basic file operations
#include <cstdio>
#include <math.h>
#include <ctime>
#include <cstdlib>
#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;
const	int n=4;
	const int m=6;
void losuj(int tab [n][m]);

int main () {
srand(time(0));
	int M[n][m];
	int y;
  ofstream plik_we;
  losuj(M);
  cout<<"podaj y"<<endl;
  cin>>y;
  plik_we.open ("example.txt");
  for(int i=0;i<n;i++)
  {for(int j=0;j<m;j++)
  {if(M[i][j]>y)
  plik_we << M[i][j]<<" ";
  }
		}
  
  plik_we.close();
  return 0;
}
void losuj(int tab [n][m])

{
	for(int i=0;i<n;i++)
		{		for(int j=0;j<m;j++)
	{
		tab[i][j] = rand() % (50 -(-20) +1) + (-20);
		
		
	}
		}	
}
Mam to zrobić na funkcjach.. lecz nie potrafie zrobić tych funkcji. Funkcja ma otwierarć plik i zapisywać do niego elementy tablicy losującej sie od \(\displaystyle{ [-20,50]}\) wieksze od liczny podanej przez użytkownika. Poprostu nie potrafie napisać tych funkcji.. zrobiłem zadanie ale nie na funkcjach i mi nie przyjeła. a poza tym wolałbym sie nauczyć.. Jakaś mała podpowiedz;>
Ostatnio zmieniony 22 maja 2012, o 09:54 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa nazwy tematu
Kamulec
Użytkownik
Użytkownik
Posty: 59
Rejestracja: 28 sty 2012, o 21:06
Płeć: Mężczyzna
Lokalizacja: ~1 j.a. od Słońca
Podziękował: 9 razy
Pomógł: 6 razy

[C++] Wczytanie pliku do tablicy struktur

Post autor: Kamulec »

Mam to zrobić na funkcjach.. lecz nie potrafie zrobić tych funkcji. Funkcja ma otwierarć plik i zapisywać do niego elementy tablicy losującej sie od wieksze od liczny podanej przez użytkownika.
To jest niejasne. Czy możesz wyliczyć, jakie funkcje mają znaleźć się w zadaniu? Tzn. co która ma robić?
MenosGrandes
Użytkownik
Użytkownik
Posty: 164
Rejestracja: 12 lis 2011, o 09:27
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

[C++] Wczytanie pliku do tablicy struktur

Post autor: MenosGrandes »

Mam wczytaj z pliku pl1.txt zawierającego takie dane :
plik 1414
toshiba 22434

Plik musi zawierac cene i nazwe notebooka. i z tego pliku musze wczytać do tablicy struktór wszystkie dane notebooków. Oczywiście w pliku możę sie znajdować 10 notebooków albo tylko jeden.

Funkcje:
wczytująca dane z pliku do tablicy struktur
i wyświetlająca potem tą tablice.

a struktura to:

Kod: Zaznacz cały

struct notebook
{
char nazwa [] // zmienna przechowujaca nazwe notebooka 
int cena // zmienna przechowujaca cene

}
Kamulec
Użytkownik
Użytkownik
Posty: 59
Rejestracja: 28 sty 2012, o 21:06
Płeć: Mężczyzna
Lokalizacja: ~1 j.a. od Słońca
Podziękował: 9 razy
Pomógł: 6 razy

[C++] Wczytanie pliku do tablicy struktur

Post autor: Kamulec »

zrobiłem zadanie ale nie na funkcjach i mi nie przyjeła.
wczytująca dane z pliku do tablicy struktur
i wyświetlająca potem tą tablice.
Dekomponujesz program:

Kod: Zaznacz cały

typtablicy wczytaj() {
  //deklaracja typTablicy tab
  //wczytywanie
  return tab;
}
Opcjonalnie jako argument podana może być ścieżka pliku lub sam plik.

Kod: Zaznacz cały

void wyswietl(typTablicy tab) {
  //wyswietlanie
}

Kod: Zaznacz cały

int main () {
  wyswietl( wczytaj() );
}
ODPOWIEDZ