PDA

View Full Version : دفترچه تلفن به زبان c++



rafiee.m
یک شنبه 26 اردیبهشت 1389, 20:23 عصر
سلام به همه دوستان عزیز

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

saber187518
یک شنبه 26 اردیبهشت 1389, 22:25 عصر
با سلام
دوست عزیز مرتب سازی حبابی رو بلد نیستی؟ یا اینکه مشکلت چیز دیگست؟
اگه یکم واضح تر بیان کنی بهتره.
موفق باشی

rafiee.m
یک شنبه 26 اردیبهشت 1389, 23:55 عصر
با سلام
دوست عزیز مرتب سازی حبابی رو بلد نیستی؟ یا اینکه مشکلت چیز دیگست؟
اگه یکم واضح تر بیان کنی بهتره.
موفق باشی


نه عزیز مرتب سازی حبابی که همه میدونن چیه
بذارید با یک مثال توضیح بدم
فرض کنید فایل مورد نظر خوانده شده و اطلاعات آن به صورت زیر است


mohammad rafiee 918756 arak razavi hafez 156
ali husseini 912452 tehran valiasr yas 256


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



ali husseini 912452 tehran valiasr yas 256
mohammad rafiee 918756 arak razavi hafez 15

saber187518
دوشنبه 27 اردیبهشت 1389, 12:59 عصر
آها گرفتم چی میگی.
ببین دوست عزیز برای اینکه بتونی کوچکتری تغییری در وسط یک فایل text انجام بدی باید شما یک فایل temp داشته باشی که فایل اصلی رو به temp انتقال بدی. در همین حین که داری انتقال میدی تغییرات رو اعمال کنی و دوباره اطلاعات رو بدون تغییر به فایل اصلی برگردونی.
این میشه تغییر توی فایل اصلی.
اگه متوجه نشدی بگو برات نمونه کد بذارم.
-------------------------------------------------------------
البته به این نکته توجه بشه که این روشی که من گفتم برای اینه که مستقیما با استفاده از فایل تغییرات رو اعمال کنی.
شما میتونی یه کار دیگه هم انجام بدی و اون اینه که. اطلاعات کل فایل رو بیاری توی حافظه اصلی و اونجا روش تغییرات رو اعمال کنی و بعد دوباره ذخیره کنی.مثلا توی یک آرایه از ساختمان ها.

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