Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebuii sa vindem imobiliarele...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 Noul format Jpegli iși propu...

Dade, dade

Probleme accesare nr test telefon

Parola la lock screen
 

Fisiere c++

- - - - -
  • Please log in to reply
2 replies to this topic

#1
danyell02

danyell02

    New Member

  • Grup: Members
  • Posts: 22
  • Înscris: 15.02.2013
Salut. Am o problema. Trebuie ca din trei fișiere date mai întîi sa se selecteaze numerele negative, zerourile, apoi numerele pozitive si sa le scrie intr-un fisier nuo.
Programul este insa ceva nu merge nu vrea sa deschida fisierele si sa extraga datele pentru a le pune intr-un fisier nuo.
PS: folosind clase.

#include<iostream>
#include<fstream>
using namespace std;
class Fisier {
ifstream F1, F2;
ofstream F3;
public:
  Fisier()
  {
   F1.open("f1.txt");
   F2.open("f2.txt");
   F3.open("f3.txt");
   if(F1.bad()||F2.bad())
   {
    cout<<"Cel putin un fisier nu a fost gasit";
   }
  }
int citire(char *nume,int parametru){
ifstream F;
F.open(nume);
//int cimp;
int k;
F>>k;
while(!F.eof())
{
if(parametru==0)
if(k==0)
F3<<k;
if(parametru==1)
if(k%2==1)
F3<<k;
if(parametru==2)
if(k%2==0)
F3<<k;}
F.close();
}};
int main(){
Fisier o;//("f1.txt","f2.txt","f3.txt");
o.citire("f1.txt",1);
o.citire("f2.txt",1);
o.citire("f1.txt",2);
o.citire("f2.txt",2);
o.citire("f1.txt",0);
o.citire("f2.txt",0);
}

#2
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,665
  • Înscris: 29.08.2013
[ CODE ] si indentare mai calumea nu strica.

#include<iostream>
#include<fstream>
using namespace std;
class Fisier
{
	ifstream F1, F2;
	ofstream F3;
   
	public:
		Fisier()
		{
			F1.open("f1.txt");
			F2.open("f2.txt");
			F3.open("f3.txt");
			if(F1.bad()||F2.bad())
			{
				cout<<"Cel putin un fisier nu a fost gasit";
			}
		}
	   
		int citire(char *nume,int parametru)
		{
			ifstream F;
			F.open(nume);
			//int cimp;
			int k;
			F>>k;
			while(!F.eof())
			{
				if(parametru==0)
					if(k==0)
						F3<<k;
				if(parametru==1)
					if(k%2==1)
						F3<<k;
				if(parametru==2)
					if(k%2==0)
						F3<<k;
			}
			F.close();
		}
};
int main()
{
	Fisier o;//("f1.txt","f2.txt","f3.txt");
	o.citire("f1.txt",1);
	o.citire("f2.txt",1);
	o.citire("f1.txt",2);
	o.citire("f2.txt",2);
	o.citire("f1.txt",0);
	o.citire("f2.txt",0);
}


Edited by sftpdt, 17 December 2014 - 22:35.


#3
nightmare392

nightmare392

    Active Member

  • Grup: Members
  • Posts: 1,500
  • Înscris: 20.09.2007
Codul tau nu face nici pe departe ce ar trebui. Pe langa faptul ca tu in loc de numere negative, zero si pozitive cauti de fapt numere =0, numere care prin impartire la 2 dau rest 1 si nu mere pare, ai acolo o minunata bucla infinita. Tu citesti un singur numar din fisier, apoi astepti sa ajunga la sfarsitul fisierului scriind mereu acelasi numar. Daca nu mai faci citiri cum vrei sa ajunga la sfarsit? Hint:
while(F>>k)...
dar asta dupa ce repari conditiile alea.

Edited by nightmare392, 18 December 2014 - 01:18.


Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate