Buna. Am de fct un proiect ciudat...jocul Dyna in visual C++...stie careva ?
Probleme in C++
Început de alina_ally23, Mar 3 ian 2006 · 132 răspunsuri · 106.875 vizualizări
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.
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?
?
for (i=1; i <= 20; i++)
{
sprintf(nume_fisier, "date%d.txt", i);
ifstream f(nume_fisier);
}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
}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
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
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 ...
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
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
