PDA

View Full Version : سوال: سوال درباره برنامه تحلیل نتایج لیگ برتر



firstclass
جمعه 29 آبان 1388, 20:18 عصر
سلام دوستان شرمنده من یکم مبتدی ام با همین توانایی ناقصم یه برنامه تو borland ++C نوشتم که به طور مثال 3 تا نتیجه از مسابقات لیگ رو بگیره و با پیش بینی افراد مقایسه بکنه و اگه کاملا درست بود چاپ کنه 5 تفاضل درست 3 فقط برنده 1 و کاملا غلط 0 رو چاپ کنه
روی 1 مورد درست جواب میده اما وقتی داخل حلقه for برای تعداد دوم و سوم میره به مشکل میخوره معلومه ایرادش کجاست؟
این تک شماره ایش:

#include<iostream.h>
void main( )
{int a=3,b=2,c,d,e;
cin>>c>>d;
if(a==c&&b==d)
{e=5;}
else if(a-b==c-d)
{e=3;}
else if(a>b&&c>d||a<b&&c<d)
{e=1;}
else
{e=0;}
cout<<e;

}
اینم با حلقه سه تایی

#include<iostream.h>
void main( )
{int a=3,b=2,c,d,e,f,g,h,i;
for(i=1;i<=3;i++)
{cin>>c>>d;
if(a==c&&b==d)
{e=5;}
else if(a-b==c-d)
{f=3;}
else if(a>b&&c>d||a<b&&c<d)
{g=1;}
else
{h=0;}
}
cout<<e<<f<<g<<h;

}
که در این مثال نتیجه پیش فرض 3-2 در نظر گرفتم
در مثال اولی اگر هر نتیجه ات هر کدوم از شرایط رو داشته باشه خروجی درست رو میده اما در دومی یه سری اعداد بی ربط میده
اطلاعاتم هم در حد ترم یکه دیگه در همون حد بگید که فقط کار کنه:خجالت:
حالا اگه دونه دونه خروجی ها رو با خط فاصله هم بده که بهتر
بعد دیگه اینکه اگه درست شد یه سوال متفرقه اینکه برای چطور میشه یه صفحه شبیه ماشین حساب درست کرد و برنامه شو exe کرد کارش خیلی سخته؟

mortezamsp
شنبه 30 آبان 1388, 10:43 صبح
با سلام.


در دومی یه سری اعداد بی ربط میده

بخاطر اينكه مقدار دهي اوليه نكردي.بايد اول بهشون مقدار صفر بدي استاد.


دیگه اینکه اگه درست شد یه سوال متفرقه اینکه برای چطور میشه یه صفحه شبیه ماشین حساب درست کرد و برنامه شو exe کرد کارش خیلی سخته؟

نه ! كي گفته سخته؟ فقط يك كم حوصله ميخواد:
http://cplusplus.blogsky.com/1388/07/10/post-37/
http://cplusplus.blogsky.com/1387/12/07/post-1/

firstclass
شنبه 30 آبان 1388, 15:26 عصر
سلام ممنون من اولی رو به صورتی که شما فرمودین تغییر دادم که بازهم یک دور بیشتر حساب نمیکنه و خروجی مقدار درست رو میده و بقیه رو صفر میده
{
int a=3,b=2,c,d,e=0,f=0,g=0,h=0,i;
for(i=1;i<=3;i++)
{cin>>c>>d;
if(a==c&&b==d)
{e=5;}
else if(a-b==c-d)
{f=3;}
else if(a>b&&c>d||a<b&&c<d)
{g=1;}
else
{h=0;}
}
cout<<e<<f<<g<<h;
که اگر هرچند بار 3-2 رو وارد کنی در اخر میده: 5000

به یه صورت دیگه هم نوشتم


{int a=3,b=2,c,d,e,i;
for(i=1;i<=3;i++)
{cin>>c>>d;
if(a==c&&b==d)
{e=5;}
else if(a-b==c-d)
{e=3;}
else if(a>b&&c>d||a<b&&c<d)
{e=1;}
else
{e=0;}
cout<<e;}
}

که هر بار نتیجه رو بزنی همون لحظه خروجی درست رو میده اما من میخام همون لحظه نده و نگه داره همه رو اخرسر با هم بده . برای اینکار cout رو از حلقه for بیرون میارم اما در آخر هرچند تا نتیجه وارد کرده باشی در اخر فقط خروجی اخرین نتیجه رو میده


كي گفته سخته؟ فقط يك كم حوصله ميخواد

شرمنده اینجا رو درست توضیح ندادم میخاستم بگم چطور میشه براش(برای همین برنامه) صفحه ای شبیه ماشین حساب برای ورود اطلاعات و غیره درست کرد که گفتم برای درست کردن ماشین حساب

mortezamsp
شنبه 30 آبان 1388, 23:23 عصر
این دیگه درست شده دیگه!


#include<iostream.h>
#include<stdio.h>
#include<conio.h>

int main()

{
int a=3,b=2;
int c,d,e,f,g,h;
int i;

for( i=1 ; i<=3 ; i++ )
{
e=f=g=h=0;
cin>>c>>d;

if( a==c && b==d )
{
e=5;
}

else if( a-b == c-d )
{
f=3;
}

else if( a>b && c>d || a<b && c<d )
{
g=1;
}

else
{
h=0;
}

cout<<"\n"<<e<<"_"<<f<<"_"<<g<<"_"<<h<<"\n";
//getch();

}

getch();
return 0 ;

}

در مورد دکمه ها هم بگم گرافیک تو توربو کار سخت و بی خودیه.باید دستورات گرافیک رو بلد باشی.همین جا یه سرچ کوچولو بزن پیدا میشه.