Luffy26 Posted January 12, 2014 Report Share Posted January 12, 2014 Sa se citeasca* dintr-un fisier de stundenti datele despre acestia (nume,prenume, numar matricol, 3 note) si sa* se introduca* într-un nou fisierdoar acei studenti care au media de trecere (>=5).Careva stie sa faca aceasta problema ? Quote Link to comment Share on other sites More sharing options...
nedo Posted January 12, 2014 Report Share Posted January 12, 2014 Pai in primul rand, cum sunt salvate datele in fisierul de intrare?in principiu pentru c++ poti lua ca exemplu aiciIar pentru c aiciIdeea e urmatoarea in ambele cazuriDeschizi fisierul de intrare si de iesire, te asiguri ca ambele fisiere sunt deschise, dupa care citesti niste date din fisierul de intrare, le salvezi intr-o variabila, verifici conditia, si daca e indeplinita scrii variabila in fisierul de iesire.Repeti pana cand nu mai ai date in fisierul de intrareInchizi fisierul de intrare si fisierul de iesire pentru a se salva modificarile.Cam asta e tot.Citeste in tutorialele pe care ti le-am data, scrie tu niste cod, si daca ai probleme posteaza aici si te ajut. Dar numai dupa ce ai depus si tu efortul de a incerca macar sa rezolvi singur problema. Quote Link to comment Share on other sites More sharing options...
totti93 Posted January 12, 2014 Report Share Posted January 12, 2014 (edited) C:#include <stdio.h>#include <stdlib.h>int main() { FILE *fin, *fout; char nume[20], prenume[20]; int nr_matricol; float medie; if (!(fin = fopen("in.txt", "r")) || !(fout = fopen("out.txt", "w"))) { printf("Eroare deschidere fisier de intrare!\n"); exit(EXIT_FAILURE); } while (!feof(fin)) { fscanf(fin, "%s %s %d %f\n", nume, prenume, &nr_matricol, &medie); if (medie >= 5) fprintf(fout, "%s %s %d %f\n", nume, prenume, nr_matricol, medie); } fclose(fin); fclose(fout);}C++:#include <iostream>#include <fstream>using namespace std;class Student { string nume, prenume; int nr_matricol; float medie;public: friend istream &operator>>(istream &, Student &); friend ostream &operator<<(ostream &, Student); bool Absolvent();};istream &operator>>(istream &in, Student &s) { in >> s.nume >> s.prenume >> s.nr_matricol >> s.medie; return in;}ostream &operator<<(ostream &out, Student s) { out << s.nume << ' ' << s.prenume << ' ' << s.nr_matricol << ' ' << s.medie << '\n'; return out;}bool Student::Absolvent() { return medie >= 5;}int main() { Student student; ifstream fin("in.txt"); ofstream fout("out.txt"); while (fin >> student) if (student.Absolvent()) fout << student; fin.close(); fout.close(); return 0;} Edited January 12, 2014 by totti93 Quote Link to comment Share on other sites More sharing options...