PDA

View Full Version : سوال: فایل



hafez1
جمعه 18 فروردین 1391, 11:08 صبح
:متفکر: یک فایل ورودی که اطلاعات زیر در آن است دراختیار برنامه قرار می گیرد
2---------3 ----------702
3---------2----------701
2 کدشهر مشهد و 3کد شهر تبریز است.
اعداد ازسمت راست به ترتیب کد مقصد.کد مبدا. وشماره پرواز است.
چگونه با خواندن این فایل و وارد کردن کد مبدا ومقصد مورد نظر مسیرهای موجود را نمایش دهد.

rezaricky
جمعه 18 فروردین 1391, 12:14 عصر
نام فایل رو info.txt بذار و اطلاعات داخل اون با فاصله یا تب از هم جدا کن
مثل این :
701 2 3
702 3 2

این هم قطعه کدش برای مثال
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
int num,src,dest;

ifstream file("info.txt");
if(file.is_open())
{
while(file.good())
{
file>>num>>src>>dest;
cout<<"Flight number:"<<num<<" from:"<<src<<" to : "<<dest <<endl;
}
}

else cout << "Unable to open file";

return 0;
}

برای نوشتن نام شهرها هم میتونی از ارایه و یا سوییچ استفاده کنی

hafez1
جمعه 18 فروردین 1391, 19:35 عصر
ممنون از جوابتون.
ولی یه مشکل دیگه هست.توی این برنامه یه جدول داده شده که با استفاده از اون می تونیم مسیرای غیر مستقیم رو پیدا کنیم.
نباید این مسیرا رو خودمون cout کنیم. من نمی دو نم چه جوری این کارو کنم.
قبلا برنامه رو به صورت زیر نوشتم که اشتباهه.کمکم کنید که درسش کنم.

#include<iostream>

#include<fsteam>

using name space std;

int main()

{

ifstream input;

input.open("F//myfolder//1")

if(!input)

{


cout<<"file dose not exist"


exist(1);

}

int num,k,h;

while(!input.end of file())

{
input>>num>>k>>h;


cout<<num<< <<k<< <<h;
}

cout<<"please read the number of cites then"

"enter the origin=i and destination=j";

int i,j;

cin>>i>>j;

if(i==2 && j==3)

{
cout<<"there is 2 flight:1-mostaghim ba shomare 701"
<<"2-namostaghim az 2 be 5 va az 5 be 3 ba shomare"
<<"711 be 705.";
}
if(i==3 &&j==2)
{
cout<<"there is 2 flight:1-mostaghim ba shomare 702"
<<"2-namostaghim az 3 be 4 va az 4 be 5 va az 5 be 2"
<<"ba shomare 708 be 718 be 712";
}
if(i==5 && j==3)
{
cout<<"there is 2 flight:1-mostaghim ba shomare 705"
<<"2-namostaghim az 5 be 2 va az 2 be 3 ba shomare"
<<"712 be 701";
}
if(i==3 && j==4)
{
cout<<"there is 3 flight:1-mostaghim ba shomare 708"
<<"2-namostaghim az 3 be 2 va az 2 be 5 va az 5 be"
<<"4 ba shomare 702 be 711 be 717"
<<"3-namostaghim az 3 be 2 va az 2 be 5 va az 5 be"
<<"1 va az 1 be 4 ba shomare 702 be 711 be 713 be 715";
}
if(i==2 && j==5)
{
cout<<"there is 2 flight:1-mostaghim ba shomare 711"
<<"2-namostaghim az 2 be 3 va az 3 be 4 va az 4 be"
<<"5 ba shomare 701 be 708 be 718";
}
if(i==5 && j==2)
{
cout<<"there is 2 flight:1-mostaghim ba shomare 712"
<<"2-namostaghim az 5 be 3 va az 3 be 2 ba shomare"
<<"705 be 702 ";
}
if(i==5 && j==1)
cout<<"there is 1 mostaghim flight ba shomare 713";
if(i==1 && j==4)
cout<<"there is 1 mostaghim flight ba shomare 715";
if(i==5 && j==4)
{
cout<<"there is 4 flight:1-mostaghim ba shomare 717"
<<"2-namostaghim az 5 be 1 va az 1 be 4 ba shomare"
<<"713 be 715"
<<"3-namostaghim az 5 be 3 va az 3 be 4 ba shomare"
<<"705 be 708"
<<"4-namostaghim az 5 be 2 va az 2 be 3 va az 3 be 4"
<<"ba shomare 712 be 701 be 708";
}
if(i==4 && j==5)
cout<<"there is 1 mostaghim flight ba shomare 718";
else
cout<<"there is not this fligt";
return 0;
}

hafez1
جمعه 18 فروردین 1391, 22:27 عصر
من فایلی رو که گفته بودید ساختم ولی همش
Unable to open file رو چاپ می کنه.من تا حالا هر چی برنامه با فایل نوشتم فایلم باز نشده لطفا کمکم کنید.

rezaricky
شنبه 19 فروردین 1391, 01:16 صبح
من فایلی رو که گفته بودید ساختم ولی همش
Unable to open file رو چاپ می کنه.من تا حالا هر چی برنامه با فایل نوشتم فایلم باز نشده لطفا کمکم کنید.


فایل رو کنار فایل اجرایی برنامه بذار و نام و پسوندس رو درست واردکن حتما کار میکنه

rezaricky
شنبه 19 فروردین 1391, 01:20 صبح
ولی یه مشکل دیگه هست.توی این برنامه یه جدول داده شده که با استفاده از اون می تونیم مسیرای غیر مستقیم رو پیدا کنیم.
نباید این مسیرا رو خودمون cout کنیم. من نمی دو نم چه جوری این کارو کنم.
قبلا برنامه رو به صورت زیر نوشتم که اشتباهه.کمکم کنید که درسش کنم.


میتونی یک ساختار بسازی و یک ارایه از اون تعریف کنی و همه اطلاعات رو از فایل وارد ارایه بکنی ،بعدش خیلی راحت میتونی مسیرهای مستقیم و غیر مستقیم رو پیدا کنی
اگه منظورتو درست متوجه نشدم سوالتو بیشتر توضیح بده