PDA

View Full Version : سوال: توضیح دادن یک پیغام از طرف سیستم بعد اجرا کردن برنامه



*Fatemeh*
چهارشنبه 13 اسفند 1393, 10:02 صبح
سلام
میشه کمکم کنید!!!!!!

من یه برنامه برای محاسبه عمر افراد نوشتم که کامپایلر خطای نوشتاری نمیگیره ولی حین ران کردن بعد از اینکه 3تاcout اول رو چاپ میکنه و همه ی داده هارو میگیره سیسیتم ای پیغام رو میده:

129070

و بعد:


129071




به نظرتون مشکلش چیه؟؟؟؟؟؟؟؟؟؟؟؟؟

rambod18
چهارشنبه 13 اسفند 1393, 10:12 صبح
کدتون رو قرار بدید

*Fatemeh*
چهارشنبه 13 اسفند 1393, 10:55 صبح
#include <iostream>
#include <conio.h>
using namespace std;
struct BornDate {
int y;
int m;
int d;
};
struct TodayDate {
int y;
int m;
int d;
}d2;
struct Stuinf{
char name[20];
char family[50];
struct BornDate*d1;
struct TodayDate d2;
};
int main()
{
int m;
cout<<"lotfan tedad daneshjooyan ravared konid:";
cin>>m;
struct BornDate *d1=new struct BornDate [m];
int *old=new int[m];
struct Stuinf*d3=new struct Stuinf [m];
int a,b,c,c1,max=0,min=0,avg=0;
char*Max;
char*Min;
char*MAX;
char*MIN;
cout<<"lotfan tarikhe tavalode har daneshjoo ra vared konid: ";
for(int i=0;i<m;i++)
{
cin>>d1[i].y>>d1[i].m>>d1[i].d;
}
cout<<"lotfan tarikhe emrooz ra vared konid:";
cin>>d2.y>>d2.m>>d2.d;

for (int i=0;i<m;i++)
{
if(d3[i].d2.m <=7)
c1=31*(d3[i].d2.m-1)+d3[i].d2.d;
else
{c1=31*6+(d3[i].d2.m-7)*30+d3[i].d2.d;}
a=0,b=0,c=0;
a=(d3[i].d2.y-d3[i].d1[i].y);
b=a/4;
b=a*365+a/4;
if(d3[i].d1[i].m <=7)
{c=31*(d3[i].d1[i].m-1)+d3[i].d1[i].d;
old[i]+=(c1-c)+b;}
else
{
c=31*6+(d3[i].d1[i].m-7)*30+d3[i].d1[i].d;
old[i]+=(c1-c)+b;}
}
max=old[0];
min=old[0];
for (int i=0;i<m;i++)
{
if(old[i]>max)
{Max=d3[i].name;
MAX=d3[i].family;}
}
for(int i=0;i<m;i++)
{
if(old[i]<min)
{Min=d3[i].name;
MIN=d3[i].family;}
}
cout<<"bozorgtarin daneshjoo:"<<Max<<'\t'<< MAX<<'\n'<<"kochektarin daneshjoo:"<<min<<'\t'<< MIN<<'\n';
for(int i=0;i<m;i++)
{avg+=old[i];}
avg=avg/m;
cout<<"myangine senne daneshjooyan:"<<avg;
getch();
return(0);
}

*Fatemeh*
چهارشنبه 13 اسفند 1393, 19:12 عصر
کسی نمیدونه مشکلش چیه؟؟؟؟؟

:ناراحت::افسرده::گریه:

rahnema1
چهارشنبه 13 اسفند 1393, 19:50 عصر
سلام
چند نکته سعی کنید هر قسمت برنامه را مستقل انجام بدید توی هر کدوم مسلط شدین و از پسش بر اومدید اون برنامه را به برنامه اصلی ملحق کنید
مثلا یک برنامه طراحی کنید که چند تا عدد بگیره و میانگینش را نشون بده. یک برنامه دیگه ماکزیمم تعدادی عدد را بدست بیاره
یا یک برنامه که اسم تعدادی را بگیره و چاپ کنه
نام متغیرها را d و m و y و old و ... ندهید. مثلا اسم را کامل بنویسید مثل rooz و sal و mah و miangin
در کل برنامه را تمیز بنویسید و این برنامه اشکال زیاد داره که همون طور که گفتم لازمه تفکیک کنید

*Fatemeh*
چهارشنبه 13 اسفند 1393, 23:37 عصر
ممنون از راهنماییتون
یعنی فقط به خاطر اینکه اسم ها رو کامل انتخاب نکردم،نباید اجرا بشه؟؟؟
به نظرتون اشکال برنامه از تعریف متغیر های structها و مقدار دهی اونا نیست؟؟

Mr.reCoder
پنج شنبه 14 اسفند 1393, 00:17 صبح
درود،

الگوریتم و هدف برنامه دقیقا چیه؟
خیلی پیچیده شده و مشکل در خط 80 هست که بدون اینکه آرایه d3 مقدار دهی مناسبی داشته باشه محاسبات ریاضی روی اعضای آرایه شده و حاصل در متغیر a قرار داده شده است!!! شما دقیقا کجا آرایه d3 را مقدار دهی کرده اید؟
a=(d3[i].d2.y-d3[i].d1[i].y);

اینجا هم که پرسیده اید (http://barnamenevis.org/showthread.php?488044-%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%DB%8C%D9%86-%D9%BE%DB%8C%D8%A7%D9%85-%DA%86%DB%8C%D9%87-%D8%9F%D8%9F%D8%9F%D8%9F%D8%9F%D8%9F)!!!