PDA

View Full Version : مبتدی: چرا این برنامه چیزی چاپ نمی کنه؟



raminlich
دوشنبه 23 تیر 1393, 20:44 عصر
سلام به همگی آقا لطفا به من بگین چرا این برنامه چیزی چاپ نمی کنه؟
قبل از اینکه جواب بدین خودتون یه تستی کنین چون تو 4 تا فروم(البته اینجا برنامه رو زدم متاسفانه کسی جواب نداد گفتم یه جور دیگه بگمش :لبخند:) دیگه زدم هر کی یه چیزی گفت یکی نیومد کد مارو اصلاح کنه همه با این خود خواهی که گفتن برنامه من سادس گفتن اینجاش اشکال در حالی که از اونجا نبود حتی یه بار هم اجراش نکردن(از خودم تعریف نکنم ولی فک کنم سادس من توش موندم)
این موضوع برنامه:
برنامه ایی که یه اسم بگیره یه مقدارم بگیره در یک فایل نوت ذخیره کنه بعد در قسمت دوم برنامه اسم رو بش بدیم بعد اسم رو جستجو کنه
مقدارش رو بگیره ما دو عدد بش بدیم این دو عدد در مقدار که مال اسمه هست ضرب بشه دو تاش توی یک آرایه و آرایه هم تو فایل نوت ذخیره شه دوباره این دوتا رو بگیریم این عملیات رو روش انجام بدیم یه مقدار می مونه اون هم تویه فایل نوت جدا ذخیره شه تمام
حالا به عنوان مثال من چند روز با برنامه کار کردم می خوام لیست تمام محاسباتو چاپ کنم که اینجا هیچی چاپ نمیشه
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int farvardin[31],ordibehesht[31],khordad[31],tir[31],mordad[31],shahrivar[31],
mehr[30],aban[30],azar[30],dey[30],bahman[30],esfand[29];

float far[16],ord[16],khor[16],ti[16],mor[16],shahr[16],
meh[15],aba[15],aza[15],de[15],ba[15],esf[14],dar,s,z;
int j=0;
void output(float []);
int main()
{

ofstream list("list.txt",ios::app);
ofstream sal("sal.txt",ios::app);
ofstream farv("far.txt",ios::app);

string name;
int tedad,gheymatye,newadd,i=0,gheymateto,co=0,di;
cout<<"Enter '1' For Working with Stocks:"<<endl;
cout<<"Enter '2' For Show The List:"<<endl;
cin>>di;
switch(di)
{
case 1:
cout<<"Enter '1' For Adding:"<<endl;
cout<<"Enter '2' For Accounting:"<<endl;
cin>>newadd;
switch(newadd)
{
case 1:
//New Adding---------------------------------------------------------------------------//
cout<<"Enter your Stock Name:"<<endl;
cin>>name;
cout<<"Enter your Amount of stock:"<<endl;
cin>>tedad;
list<<name<<' '<<tedad<<" ";
cout<<endl;
break;
//end of Adding------------------------------------------------------------------------//
case 2:
//being of process--------------------------------------------------------------------//
string na;
int ted;
cout<<"Enter your Stock Name For Accounting:";
cin>>na;
ifstream list;
list.open("list.txt");
bool found = false;
while (list>>name>>tedad)
{
if(na==name)
{
cout<<"Enter Your Yesterday Price:"<<endl;
cin>>gheymatye;
s=gheymatye*tedad;
cout<<"Enter Your Today Price:"<<endl;
cin>>gheymateto;
z=gheymateto*tedad;
found = true;
}
}
if (!found)
{
cout<<"Error Stock Name was not found!";
break;
}
farvardin[i]=s;
i++;
farvardin[i]=z;
for(int k=0; k<=i; k++)
{
sal<<farvardin[k]<<endl;
}
s*=100;
dar=(s/z);
dar-=100;
cout<<"%"<<dar;
far[co]=dar;
for(j=0; j<=i; j++)
farv<<far[j]<<endl;
break;
}
case 2:
output(far);

}
}

void output(float far[])
{
int i;
int mah;
cout<<"Enter mounth:"<<endl;
cin>>mah;
if(mah==1)
{
ifstream farv;
farv.open("far.txt");

for(i=0; i<j; i++)
{
farv>>far[i];
cout<<far[i];
}
}
}

مسعود اقدسی فام
دوشنبه 23 تیر 1393, 21:28 عصر
برنامه رو طوری نوشتید که فقط کاربر یه بار حق انتخاب داره و بعد برنامه تموم می‌شه و دوباره باید اجرا کنه که بتونه کاری بکنه. اونوخ اول برنامه هم j = 0 هست و قسمت چاپ هم i تا کمتر j‌ چاپ می‌کنه. انتظار دارید چی چاپ بشه؟