PDA

View Full Version : سوال: درخواست راهنمایی در رابطه با یه برنامه تحت کنسول که کار سلف سرویس رو انجام میده



h_qorbani
یک شنبه 25 خرداد 1393, 18:54 عصر
سلام من برنامه ای نوشتم که دررابطه باسیستم سلف سرویس دانشگاه ست البته بااستفاده ازکلاسها

1-برای ارایه 2بعدی که تعریف کردم باید مقداردهی داشته باشم امانمیدونم کجای برنامه وبه چه صورت؟

#include<iostream.h>
#include<conio.h>
class self{
public:
int get_reserve();

2-ایا استفاده ازخط پایین درست است؟به عنوان مثال [char*]ویا[const int ][/CPP]برای روزوطول؟

void setself(const int,const int,char*,char*);
report();
char get_answer();
int get_etebar(int);
private:
int etebar;
char answer;
const int days;
const int length;
char* str days[][];
char* reserve[];
};
void self::setself(const int d,const int l,char* res[])
{

3-بازه ای را برای 15 روز (وعد ها)به عنوان مثال شنبه -صبحانه تاچهارشنبه -شام
وبازه ای رابرای حداکثرطول این رشته وبازه ای را برای رزرو در نظرگرفتم اما درغیراین صورتشو نمیدونم؟

days=(d>=0 && d<15)?d:;
length=(l>=0 && l<20)?l:;
reserve=(res>=0 && res<15)?res:0;
}

4-لزومی دلرد که از این سوال وحلقه ی[while][/CPP] استفاده شود؟

cout<<"aya mizane etebare u baraye rezerve be andaze kafi mibashad?";
char self::get_answer()
{
while(answer=='y')
{
int self::get_etebar(int e)
{
if (e <10000 && e>500)
{
int self::get_reserve()
{
for(int i=0;i<15;i++)
{
cout<<str days[i];
cin>>reserve[i];
}
etebar-=500;
}
else
{
cout<<"mizane etebare u kafi nemibashad";
etebar+=500;
}
}
self::report()
{
for(int i=0;i<15;i++)
if(reserve[i]==1)
{
cout<<str days[i];
}
getch();
return 0;
}[/CPP]

5-البته من نحوه ی ایجادشی رو هم نوشتم که تودرست بودنش شک دارم

#include<iostream.h>
#include<conio.h>
class self
{
string[]strdays=new string[];
for(int i=0;i<15;i++)
{
self.a("enter Days");
strdays[i]=new string();
strdays.dy=self.get_days();
}
int[]Length=new[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 };
ممنون میشم راهنماییم کنین.

rahnema1
یک شنبه 25 خرداد 1393, 22:38 عصر
سلام
یک پیشنهاد دارم
ابتدا طرحی که می خواهید پیاده کنید روی کاغذ پیاده کنید، تا کاملا مشخص باشه. در ضمن شما برای ما طرحتون را معین نکردید.
سپس هر قسمت برنامه را به صورت جداگانه بنویسید و هر کدام را جداگانه تست کنید اگر درست بود قسمت ها را به هم دیگر پیوند بزنید. منظورم اینه که مساله را تا جایی که می تونید خرد کنید که انجامش براتون راحت تر باشه

h_qorbani
دوشنبه 26 خرداد 1393, 22:56 عصر
سلام ممنونم ازراهنماییتون امامن اقدام به اجرای برنامه کردموبه نتیجه نرسیدم وتوی بحث کلاسهامهارت چندانی ندارم سوالهایی که پرسیدم ازتون هنوزحل نشده ونوشتن این برنامه مهمه واسم لطف کنین بیشترراهنماییم کنین.
[CPP][/CP#include<iostream.h>
#include<conio.h>
class self{
public:
int get_reserve();
report();
private:
int etebar;
char str_days[];
char reserve[];
};
int self::get_reserve()
{
if (etebar <10000 && etebar>500)
{
for(int i=0;i<15;i++)
{
cout<<str_days[i];
cin>>reserve[i];
}
etebar-=500;
}
else
{
cout<<"mizane etebare u kafi nemibashad";
}
self::report()
{
for(int i=0;i<15;i++)
if(reserve[i]==1)
{
cout<<str days[i];
}
getch();
return 0;]امانمیدونم چراحل نمیشه
این برنامه 2تاخطادار

rahnema1
سه شنبه 27 خرداد 1393, 11:54 صبح
ببینید شما فقط اشاره کردید که می خواهید برنامه سلف بنویسید و یک سری برنامه نیمه تمام گذاشتید. اگه ممکنه توضیح بدید در این برنامه سلف قراره چه کاری انجام بشه و هر قسمت قراره چه کاری نجام بدن تا بگیم آیا حلقه لازمه یا نه. بیایید تا خورده خورده جلو بریم و قسمت هایی که شما طراحی کردید را خورده خورده انجام بدیم

h_qorbani
سه شنبه 27 خرداد 1393, 18:05 عصر
سلام برنامه سلف سرویس دانشگاست که بایدغذارزروکنه وعده هامون ازروزهای شنبه تاچهارشنبست به ازای 3وعده درروز که اون بستگی داربه شخص که چه وعده هایی رو رزرو کنه وبارزرو غذاعددیک درسیسم واردمیشود


[‎‎‎‎‎‎‎‎include<iostream.h>
#include<conio.h>
class self{
public:

رزرو وانجام میده


int get_reserve();


گزارش رزرو

report();
private:
int etebar;

روزووعده به عنوان مثال شنبه -صبحانه تا چهارشنبه-شام که درکل 15تامیشه اینا رو بایدتعریف کنم اما نمیدونم کجای برنامه ;که این ارایه 2بعدیه بعداولش 15روزووعده وبعددومش20 که حداکثرطول

char str_days[][];
char reserve[];
};
int self::get_reserve()
{

وبه ازای هر رزرو یه قیمت ثابت درنظرگرفتم مثلا500تومان که حداقل میزان اعتبارشخص درسیستمش هست وحداکثرمیزان اعتبارش 10000تومن .که بابررسی شرط اگرامکان پذیربودعملیات رزرو وانجام میده

if (etebar <10000 && etebar>500)
{
for(int i=0;i<15;i++)
{
cout<<str_days[i];
cin>>reserve[i];
}

وبه ازای هر رزرو500 کم میکند

etebar-=500;
}

اگراین چنین نبود

else
{
cout<<"mizane etebare u kafi nemibashad";
}


ودرانتهای برنامه که گزارشی را تحویل میدهدچک میکندکه به ازای رزرو های انجام شده ان درخروجی نشان دهدبه عنوان مثال شنبه-صبحانه ویکشبه-ناهار

self::report()
{
for(int i=0;i<15;i++)
{
if(reserve[i]==1)
cout<<str_days[i];
}
}

جیزایی که نمیدونم :
چطورتعریفش کنم مقداردهی به روزووعده(15)وطولش(20)؟
نحوه ی ایجادشی اونو نمیدونم؟
لطفازودترراهنماییم کنین حل این برنامه واسم مهمه اونم بزودی .

amirtork
پنج شنبه 29 خرداد 1393, 00:43 صبح
سلام
دوست عزیز، مهم تر از همه چیز اینه که هیچ کس اینجا برای انجام تکالیف و پروژه های دانشجویی افراد دیگه اینجا نیومده و صرفا قصدشون توسعه ی دانش برنامه نویسی هست بنابراین سعی کنید سوالهاتون رو از قالب یک پروژه خاص خارج کنید و سعی کنید کل اون مطلب رو یاد بگیرید و بعد اون قسمتیش رو که لازم دارید، در این پروژه استفاده کنید.
حالا برای اینکه بتونید پاسخ سوال هایی رو که مطرح کردید بگیرید، من پیشنهاد میکنم یه سری به این بخش از سایت cplusplus.com بزنید:
1. class(I) (http://www.cplusplus.com/doc/tutorial/classes/)
2. class(II) (http://www.cplusplus.com/doc/tutorial/templates/)
3. class(|||) (http://www.cplusplus.com/doc/tutorial/classes2/)

4. class(IV) (http://www.cplusplus.com/doc/tutorial/inheritance/)

5. class(V) (http://www.cplusplus.com/doc/tutorial/polymorphism/)

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