România
Roportal.ro

Probleme in C++

Început de alina_ally23, Mar 3 ian 2006 · 132 răspunsuri · 106.875 vizualizări

usernome3 mesaje#72
cireshik a scris:
Buna. Am de fct un proiect ciudat...jocul Dyna in visual C++...stie careva ?

asta nu putem sa te ajutam, altceva?

daca astepti ca altcineva sa isi bata capul pentru tine te inseli.

sparge problema in bucati si ia-le pe rand.

MathPlayer1 mesaje#73

Am nevoie sa citesc din mai multe fisiere, pe rand, informatie, in functie de un parametru i, ceva in genul:

#include<iostream.h>
#include<fstream.h>
int main()
{
int i;
cin>>i;
if(i==1) ifstream f("date1.txt");
if(i==2) ifstream f("date2.txt");
if(i==3) ifstream f("date3.txt");

...

}

Se poate fara structuri if asa ceva? Am de citit din vreo 20 de fisiere si mi se pare de prost gust sa pun 20 de if-uri.

Ma poate ajuta cineva?

argv2.495 mesaje#74

?

for (i=1; i <= 20; i++)
{
  sprintf(nume_fisier, "date%d.txt", i);
  ifstream f(nume_fisier);
}
TanatosWar82 mesaje#75

Sau poti folosi o structura multipla (case):

switch (i)
{
case '1': ifstream f("date1.txt"); break;
case '2': ifstream f("date2.txt"); break;
.......
default: //ce vrei tu default
}
astan155 mesaje#76

El nu vrea sa scrie 20 de if-uri. Nu cred ca vrea nici 20 de de case-uri. A dat argv o solutie deja.

PS: Chiar daca ar vrea, s-ar scrie ceva de genul:

#include <iostream>
#include <fstream>

int main()
{
 int i;
 std::cin >> i;

 std::ifstream f;   
 switch (i)
 {
case 1:
	f.open("data1.txt");
	break;
case 2:
	f.open("data2.txt");
	break;
   .........
default:
   ..........
 }

 f.close();

 return 0;
}

Un cod de genul:

switch (i)
{
case 1: ifstream f("date1.txt"); break;
}

nu e compilabil.

Editat Joi 4 iun 2009 02:05

babs236 mesaje#77

ma gandeam ca ai putea cu un for, dar avand fisiere nu stiu cum ai putea trece de la unul la altul in cadrul unui for. acuma estetica nu-i asa de importanta la programare in liceu

astan155 mesaje#78
babs a scris:
ma gandeam ca ai putea cu un for, dar avand fisiere nu stiu cum ai putea trece de la unul la altul in cadrul unui for. acuma estetica nu-i asa de importanta la programare in liceu

Exact cum spune argv mai sus ...

babs236 mesaje#79
astan a scris:
Exact cum spune argv mai sus ...

eu nu inteleg cum trece de la un fisier la altul,, nu am folosit niciodata sprintf

Pippo8.725 mesaje#80
babs a scris:
eu nu inteleg cum trece de la un fisier la altul

il inlocuieste pe %d din text cu valoarea lui i. Astfel pentru i=1 -> "date1.txt" .... pentru i=2 -> "date2.txt" ... etc

← Înapoi la Programare