ورود

نسخه کامل مشاهده نسخه کامل : درخواست کد برنامه ای که مشخصات کالایی رو بگیره و...



DJ POLESTAR
24-01-2011, 18:01
درود

اول از همه از کسایی که پیشاپیش زحمت میکشن و به این تاپیک توجه میکنن نهایت قدردانی رو دارم...:11:

رفقا من خیلی کلنجار رفتم اما از اونجایی که تو برنامه نویسی زیاد حرفه ای نیستم نتونستم این برنامه رو اون طوری که الان توضیح میدم بنویسم!

برنامه ای که با استفاده از کلاس و آرایه پویا و تابع سازنده و مخرب مشخصات کالایی را (نام - تعداد موجودی در انبار - تعداد درخواستی - قیمت هر تعداد) گرفته و در آرایه ذخیره کنه و دارای امکات سرچ=> جستجو بر اساس نام کالا (در صورت وجود، نمایش نام، تعداد و قیمت) و در صورت عدم وجود پیغام ارور بده.
و کلا دارای امکانات زیر باشه: (که با دکمه های کیبرد 1. 2. 3.... اجرا بشه.
Add .1 (اضافه کردن کالا)
Show .2 (نمایش کل کالا)
Edit .3 (گرفتن نام کالا و ویرایش تعداد کالا "به این صورت که اگر موجودی انبار کمتر از عدد وارد شده باشه پیغام ارور و در غیر اینصورت امکان اضافه کردن و افزایش تعداد و قیمت آن")
4. Search
Exit .5

MAXXX
24-01-2011, 19:35
با چه زبونی و توی چی میخای بنویسی ؟ اگه c++ باشه و توی vs مینویسی با vector میتونی پیادش کنی
ولی همونطوری که خدمت یکی دیگه از بچه های اینجا گفتم کسی نمیاد بشینه برای شما اینهمه برنامه رو بنویس مخصوصا ماله شما که زیاد سخت نیست ولی طولانیه

شما یا اون چیزی که خودت نوشتی رو اینجا بزار تا کم و زیادشو بهتون بگیم
اگر هم نمیدونی از کجا شروع کنی برو راجبه vector تحقیق کن

DJ POLESTAR
25-01-2011, 12:12
برای توربو C میخوام

ببینید من قبلا یه برنامه نوشتم که اطلاعات دانشجو رو میگیره که نام، فامیلی، شماره دانشجویی رو میگیره و سرچ و خروج و... هم داره (با دیدن کد برنامه شاید بهتر متوجه برنامه بشید: )



#include <fcntl.h>
#include <conio.h>
#include <process.h>
#include <fstream.h>
#include <iostream.h>
#include <stdio.h>

class student{
public:
struct student2 {
char name[15];
char lastn[15];
long int no;
};
student2 k;
void add();
void show();
void delet();
void update();
void search();
};
//************************************************** **********//
void student::add(){
fstream s2;
clrscr();
cout<<"Enter Name : ";
cin>>k.name;
cout<<"\nEnter Famili Name: ";
cin>>k.lastn;
cout<<"\nEnter Number Student : ";
cin>>k.no;
s2.open("s2.txt",ios::out | O_RDWR);
s2.write((char *) &k,sizeof(k));
s2.close();
}
//************************************************** **********//
void student::delet(){
fstream f2,f1;
long int so=0;
clrscr();
cout<<"Enter Number Student : ";
cin>>so;
f1.open("s2.txt",ios::in);
f2.open("fs2.txt",ios::out | O_RDWR);
while(1)
{
f1.read((char *) &k,sizeof(k));
if (f1.fail()) break;
if (k.no!=so)
{
f2.write((char *) &k,sizeof(k));
}
}
f1.close();
f2.close();
remove("s2.txt");
rename("fs2.txt", "s2.txt");
getch();
}
//************************************************** ***********//
void student::update(){
fstream f2,f1;
long int so=0;
clrscr();
cout<<"Enter Number Student : ";
cin>>so;
f1.open("s2.txt",ios::in);
f2.open("fs2.txt",ios::out | O_RDWR);
while(1)
{
f1.read((char *) &k,sizeof(k));
if (f1.fail()) break;
if (k.no!=so)
{
f2.write((char *) &k,sizeof(k));
}
}
f1.close();
f2.close();
remove("s2.txt");
rename("fs2.txt", "s2.txt");
getch();
fstream x;
clrscr();
cout<<"Enter Name : ";
cin>>k.name;
cout<<"\nEnter Famili Name: ";
cin>>k.lastn;
cout<<"\nEnter Number Student : ";
cin>>k.no;
x.open("s2.txt",ios::out | O_RDWR);
x.write((char *) &k,sizeof(k));
x.close();
}
//************************************************** **********//
void student::show(){
fstream s2;
int j=3;
clrscr();
cout<<" NAME FAMILY NUMBER "<<endl;
cout<<"***********************************"<<endl;
s2.open("s2.txt",ios::in);
while(1)
{
s2.read((char *) &k,sizeof(k));
if (s2.fail()) break;
gotoxy(2,j); cout<<k.name<<" ";
gotoxy(12,j); cout<<k.lastn<<" ";
gotoxy(25,j); cout<<k.no<<endl;
j++;
}
s2.close();
getch();
}
//************************************************** ***********//
void student::search(){
fstream s2;
int h=0;
long int so=0;
clrscr();
cout<<"Enter Number Student For Search : ";
cin>>so;
s2.open("s2.txt",ios::in);
while(1)
{
s2.read((char *) &k,sizeof(k));
if (s2.fail()) break;
if(k.no==so)
{
clrscr();
cout<<" NAME FAMILY NUMBER "<<endl;
cout<<"***********************************"<<endl;
gotoxy(3,3); cout<<k.name<<" ";
gotoxy(13,3); cout<<k.lastn<<" ";
gotoxy(26,3); cout<<k.no<<endl;
h=1;
break;
}
}
s2.close();
if(h==0) cout<<"\nInvalid Information!.";
getch();
}
//************************************************** ***********//
void main(){
student ks;
char k1;
while(1)
{
clrscr();
cout<<" 1- Add "<<endl;
cout<<"\n 2- Show "<<endl;
cout<<"\n 3- Delete "<<endl;
cout<<"\n 4- Up Date"<<endl;
cout<<"\n 5- Search "<<endl;
cout<<"\n 6- Exit "<<endl;
cout<<"\n Enter 1-6: ";
k1=getche();
switch(k1)
{
case '1' : ks.add();break;
case '2' : ks.show();break;
case '3' : ks.delet();break;
case '4' : ks.update();break;
case '5' : ks.search();break;
case '6' : exit(0);
}
}
}

حالا راهی هست که طبق گفته های پست اول که ذکر کردم کنم؟؟؟

MAXXX
25-01-2011, 18:23
نوشتن کلاس که کاره ساده ایه و نمیدونم کجاش مشکل داری اگه جای خاصیشو نمیدونی بگو
اما نکته نسبتا مشکل ذخیره اشیا در آرایه پویاست که اونو توضیح میدم

ببین من اصلا تاحالا با توروبو c کار نکردم و نمیدونم اینstd::vector رو پشتیبانی میکنه یا نه یا نه که احتمالا پشتیبانی میکنه و
اگه نداشت احتمالا باید با استفاده از اشاره گر خودت آرایه پویا رو درست کنی که یکم دردسر داره

حالا ما فرض میکنیم شما میتونی استفاده کنی
اول
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید رو میزاری بالا این vector یه نوع آرایه مدیریت شدست که میتونه هر نوعی داشته باشه و خیلی تروتمیز میتونی کم و زیادش کنی
شما یدونه وکتور میسازی و نوعش رو از جنس کلاست تایین میکنی مثلا برا این برنامه ای که گزاشتی میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدالان یدونه آرایه از نوع student داری به نام starr

شما فرض کن الان یه شی ساختی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدو همه خصیصه هاشو اضافه کردی
ks.name
ks.lname
ks.no
اینا رو بهش دادی
..... و حالا میخای ذخیرش کنی تو آرایت اینطوری اضافه میکنی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدالان در خونه 0 آرایه شما یعنی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدیه شی از نوع student وجود داره که نام و نام خوانوادگی و نمرهش رو هم داره و میتونی به خصیصه هاش راحت دسترسی داشته باشی
satarr[0].name
satarr[0].lname
satarr[0].no

حالا نوبت میرسه به متد ها یعنی

void add();
void show();
void delet();
void update();
void search();

شما همه اینا رو باید روی خونه های آرایت که اشیا در اون ذخیره شدن پیاده کنی
من یدونشون رو بهت میگم مثلا update یا همون edit
برای آپدیت مثلا نام دانش آموز کافیه که اینکارو بکنی یه نام جدید رو از کاربر میگیری مثلا newname و اینطوری آپدیتش میکنی


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یا برای show


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبرای حذف و جستجو و .... هم همونطوری که این اعمال رو روی آرایه پیاده کینی میتونی اینجا هم انجام بدی البته یه نکته اینکه آرایه ما از نوع vector هست و این وکتور ها یه سری دستورات خاص خودشون رو فکر میکنم برای حذف و جستجو داشته باشن
رفرنسشو یه نگا بکن