PDA

View Full Version : مبتدی: برنامه برای فروشگاه و strcmp



tohi20006
پنج شنبه 30 اردیبهشت 1389, 00:19 صبح
با عرض سلام خدمت اساتید ...
یه سوال پیش و پا افتاده داشتم که ممنون می شم اساتید کمکم کنن ...
یه برنامه برای فروشگاه می خوام درست کنم ، 2 ، 3 تا سوال داشتم ....

- بعد از ثبت کالا( کد ، نام کالا، قیمت و موجودی ) می خوام وقتی که کاربر کد کالا را وارد کرد ،
اگر همچین کالایی ثبت شده بود تمام اطلاعات آن را نمایش دهد . (مقایسه با Strcmp)
وقتی با یک رشته مثلا نام کالا مقایسه می کنم جواب می ده ، اما وقتی که می خوام عدد مقایسه بشن خطا می گیره ...

cout<<"Cod kala:";
cin>>findcodebook;
for(int j=0;j<=k;j++)
if(strcmp(findcodebook,a[j].code)==0)
{
cout<<a[j].code<<"\t";
cout<<a[j].namebook<<"\t";
cout<<a[j].pricebook<<"\t";
cout<<a[j].mojody<<endl;
s=1;
}
if(s==0)
cout<<"NOT Fund


2 - برای حذف کالا از چه تابعی می توان استفاده کرد ؟

با تشکر

pashaie
پنج شنبه 30 اردیبهشت 1389, 00:27 صبح
وقتی با یک رشته مثلا نام کالا مقایسه می کنم جواب می ده ، اما وقتی که می خوام عدد مقایسه بشن خطا می گیره ...اینکه ارور می ده یه دلیل خیلی واضحی داره، تابع strcmp همون طور که از اسمش پیداست دوتا رشته رو مقایسه می کنه!
اگه خیلی تاکید داری که حتما از strcmp استفاده کنی، می تونی عدد ها رو با تایع itoa به رشته تبدیل کنی بعد نتیجه حاصله رو با strcmp مقایسه کنی. که البته این کار خیلی خیلی ناجوریه چون دوتا عدد رو خیلی راحت می تونی با عملگر مقایسه ای مقایسه کنی.

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

delete a[i];

وقتی که یه آبجکت رو حذف می کنی مقدار اشارگر Null می شه، بنابراین تو کارکردن با بقیه آبجکتا قبلش باید چک کنی که Null نباشه