forum.ge
reklama
FORUM.GE წესები  · დახმარება  · ძებნა  · წევრები  · კალენდარი  · ჩატი
  გამოხმაურება · ახალი თემა · ახალი გამოკითხვა

> c++ დახმარება, ხალხნოოო მიშველეთ რამე :D
Gio..
Crazy Member


*****
ჯგუფი: Registered
წერილები: 1513
წევრი No.: 233668
რეგისტრ.: 9-July 17

გამოგზავნილია: 7 Apr 2019, 22:07  #54478945      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
მეგობრებო, პატარა პროექტი მაქ c++ დასამთავრებელი, სუპერმარკეტის პროგრამა უნდა შევქმნა, სადაც მომხმარებელს (გამყიდველს) უნდა შეეძლოს პროდუქტის გაყიდვა, დამატება, განახლება და ა.შ

ესაა კოდი სადამდეც მივედი, მაგრამ ლოგიკური შეცდომებია და ვერ ვპოულობ

სწორად ავხსენი? არც ვიცი მოკლედ ვინმე მადლიანმა შეხედეთ ერთი თუ გაუგებთ რამეს და იქნებ მითხრათ რა ჭირს ამ კოდს

This post has been edited by Gio.. on 7 Apr 2019, 22:10

მიმაგრებული ფაილი ( Number of downloads: 52 )
მიმაგრებული ფაილი  gio_project_c__.cpp


--------------------
Detroit Basketball - BG23
USMNT - One Nation. One Team.
Why Not 0?
Thunder92
Junior Member


**
ჯგუფი: Registered
წერილები: 10
წევრი No.: 232485
რეგისტრ.: 31-May 17

გამოგზავნილია: 8 Apr 2019, 20:13  #54483177      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
1) მეხსიერებას რომ გამოყოფ delete-იც უნდა.. მემლიქები გაქვს. კონტეინერიდან ელემენტს კი შლი, მაგრამ შლი პოინტერს, და მეხსიერება რომელსაც მაგ პოინტერს უკავია დაკავებული გრჩება. საერთოდ სმარტპოინტერები იხმარე შეძლებისდაგვარად.
2) კოდის დუბლირებას მოერიდე, 3 იდენტური შვილობრივი კლასი გაქვს. ანალოგიურად ფაილიდან წაკითხვის ბლოკი, 3 იდენტური else-if ბლოკი გაქვს.
3) ფაილიდან წაკითხვის ბლოკში შეცდომა გაქვს ლოგიკური. მეორე პუნქტს რომ გაასწორებ და კოდი უფრო წაკითხვადი გახდება, წესით მიხვდები.
4) ფუნქცია ბულეანს რომ გიბრუნებს დამხმარე ცვლადი აღარ გამოიყენო დასაბრუნებელი მნიშვნელობის შესამოწმებლად, წაკითხვადობა ფუჭდება, პირდაპირ წერე
if(isTrue())
და არა
bool flag = isTrue();
if(flag)
5) მაგ ორი დამხმარე საძებნი ფუნქციის მაგივრად საერთოდ ჯობია გამოიყენო std::find_if ლამბდასთან ერთად. ჰო using namespace std; ამოაგდე საერთოდ და გამოიყენე ნეიმსპეისით მიმართვა..
6) კონტეინერში რომ დარბიხარ ფორ ციკლით, ფრთხილად უნდა მოექცე ამ კონტეინერიდან ელემენტების წაშლა/დამატებას. მაგალითად: თუ დარბიხარ იტერატორებით და დაუმატე ვექტორს ელემენტი შეიძლება მოხდეს ვექტორის რეალოკაცია და ყველა შენი იტერატორი არავალიდური გახდება, ამ შემთხვევაში შენ ეს არ გემუქრება, რადგანაც ინდექსებით აქეთებ კონტეინერის შემოვლას, მაგრამ გაითვალისწინე სამომავლოდ.
7) switch case ბისთვის გამოიყენე Enum-ი, უფრო წაკითხვადი გახდება კოდი.
enum class Menu {
SEARCH = 1,
SELL,
RETURN ... etc.
};

Gio..
Crazy Member


*****
ჯგუფი: Registered
წერილები: 1513
წევრი No.: 233668
რეგისტრ.: 9-July 17

გამოგზავნილია: 9 Apr 2019, 03:04  #54484828      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
QUOTE (Thunder92 @ 8 Apr 2019, 20:13 )
1) მეხსიერებას რომ გამოყოფ delete-იც უნდა.. მემლიქები გაქვს. კონტეინერიდან ელემენტს კი შლი, მაგრამ შლი პოინტერს, და მეხსიერება რომელსაც მაგ პოინტერს უკავია დაკავებული გრჩება. საერთოდ სმარტპოინტერები იხმარე შეძლებისდაგვარად.
2) კოდის დუბლირებას მოერიდე, 3 იდენტური შვილობრივი კლასი გაქვს. ანალოგიურად ფაილიდან წაკითხვის ბლოკი, 3 იდენტური else-if ბლოკი გაქვს.
3) ფაილიდან წაკითხვის ბლოკში შეცდომა გაქვს ლოგიკური. მეორე პუნქტს რომ გაასწორებ და კოდი უფრო წაკითხვადი გახდება, წესით მიხვდები.
4) ფუნქცია ბულეანს რომ გიბრუნებს დამხმარე ცვლადი აღარ გამოიყენო დასაბრუნებელი მნიშვნელობის შესამოწმებლად, წაკითხვადობა ფუჭდება, პირდაპირ წერე
if(isTrue())
და არა
bool flag = isTrue();
if(flag)
5) მაგ ორი დამხმარე საძებნი ფუნქციის მაგივრად საერთოდ ჯობია გამოიყენო std::find_if ლამბდასთან ერთად. ჰო using namespace std; ამოაგდე საერთოდ და გამოიყენე ნეიმსპეისით მიმართვა..
6) კონტეინერში რომ დარბიხარ ფორ ციკლით, ფრთხილად უნდა მოექცე ამ კონტეინერიდან ელემენტების წაშლა/დამატებას. მაგალითად: თუ დარბიხარ იტერატორებით და დაუმატე ვექტორს ელემენტი შეიძლება მოხდეს ვექტორის რეალოკაცია და ყველა შენი იტერატორი არავალიდური გახდება, ამ შემთხვევაში შენ ეს არ გემუქრება, რადგანაც ინდექსებით აქეთებ კონტეინერის შემოვლას, მაგრამ გაითვალისწინე სამომავლოდ.
7) switch case ბისთვის გამოიყენე Enum-ი, უფრო წაკითხვადი გახდება კოდი.
enum class Menu {
SEARCH = 1,
SELL,
RETURN ... etc.
};

მადლობა, შევუდგები მუშაობას


-----
1 წევრი ათვალიერებს ამ თემას (1 სტუმარი და 0 უჩინარი წევრი)
0 წევრი:
Topic Options გამოხმაურება · ახალი თემა · ახალი გამოკითხვა

 



ფორუმის სერვერების განთავსებას და ინტერნეტთან კავშირს უზრუნველყოფს: CLOUD9
[ Script Execution time: 0.0611 ]   [ 11 queries used ]   [ GZIP Disabled ]