Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Как посчитать данные в cur


Автор: vladisclav 14.6.2012, 08:02
Задали такой проект ..... допустим у меня 3 магазина. каждый продает оргтехнику ..... создал класс shop  потом методом hook shopA shopB shopC и к каждому предмету для продажи создал cur. В Cur такие функции как модель, цена, товаров продано, описание и  доход с товара. так вот как сделать что бы в cur посчитать цену умноженную на кол-во товаров и потом отразить в доход от одельного предмета, потом, от отдельного магазина и , от всех магазинах вместе взятых ? (Первый курс тока закончил не судите строго)
Вот мой код:
Код

class Shop
    attr_accessor :comp
    attr_accessor :videocard
    attr_accessor :ram
  attr_accessor :hard
  attr_accessor :phone
  attr_accessor :camera
  attr_accessor :flashcard
  attr_accessor :battery
attr_accessor :salary
attr_accessor :income
    def initialize comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
        @comp = comp 
        @videocard = videocard
        @ram = ram
    @hard = hard
    @phone = phone
        @camera = camera
    @flashcard = flashcard
    @battery = battery
    @salary = salary
    @income = income
    end



        print_comp
        print_videocard
        print_ram
    print_hard
    print_phone
    print_camera
    print_flashcard
    print_battery
    print_salary
    print_income
    end

    def print_comp
        comp.each{|cur_item| puts "#{cur_item}"}
    end
    def print_videocard
        videocard.each {|cur_item| puts "#{cur_item}"}
    end
    def print_ram
         ram.each {|cur_item| puts "#{cur_item}"}
      end
       def print_hard
         hard.each {|cur_item| puts "#{cur_item}"}
      end
       def print_phone
         phone.each {|cur_item| puts "#{cur_item}"}
      end
             def print_camera
         camera.each {|cur_item| puts "#{cur_item}"}
    end

       def print_flashcard
         flashcard.each {|cur_item| puts "#{cur_item}"}
    end

       def print_battery
         
        battery.each {|cur_item| puts "#{cur_item}"}
      end
      def print_salary
        puts "#{salary}"
      end
      def print_income
        puts "#{income}"
        end

end

class ShopA < Shop
    def initialize comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
        super(comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income)
    end
    def print_comp
    puts "ShopA"
        puts "Models: P4 - Core Quad"
       comp.each do |cur|
                puts "#{cur}"
      end
      end
    def print_videocard
        puts "GeForce 5600 - GeForce 470"
            videocard.each do |cur|
                puts "#{cur}"
            end
    end
    def print_ram
        puts "Ram 512MB - 8GB"
         ram.each do |cur|
                puts "#{cur}"
      end   
      end
      def print_hard
          puts "Hard 320GB - 4TB"
        hard.each do |cur|
                puts "#{cur}"
      end
    end
    def print_phone
      puts "NO Phone for sale"
      end
    def print_camera
      puts "NO Camera for sale"
      end
      def print_flashcard
        puts "FlashCard 4GB- 64GB"
        flashcard.each do |cur|
          puts "#{cur}"
        end
      end
      def print_battery
        puts "NO Battery for sale"
      end
      def print_salary
        puts "\n"
      end
      def print_income
        puts "\n"
        end
end
class ShopB < Shop
    def initialize comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
        super(comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income)
    end
  def print_comp
    puts "ShopB"
    puts "NO Computers for sale"
    end
  def print_videocard
    puts "NO Videocard for sale"
  end
  def print_ram
    puts "NO RAM for sale"
  end
  def print_hard
    puts "NO Hard for sale"
    end
    def print_phone
        puts "Nokia"
        phone.each do |cur|
                puts "#{cur}"
      end
    end
    def print_camera
      puts "Camera not in sale"
      end
 def print_flashcard
        puts "FlashCard 1GB-4GB"
        flashcard.each do |cur|
          puts "#{cur}"
        end

    end
    def print_battery
        puts "Battery 220V"
    battery.each do |cur|
                puts "#{cur}"
    
    end
end
 def print_salary
        puts "Salary"
      end
      def print_income
        puts "Income"
        end
      end
class ShopC < Shop
    def initialize comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
        super(comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income)
    end
   def print_comp
     puts "ShopC"
    puts "Computers not in sale"
  end
  def print_videocard
    puts "Videocard not in sale"
  end
  def print_ram
    puts "RAM not in sale"
  end
  def print_hard
    puts "Hard not in sale"
  end
  def print_phone
    puts "Phone not in sale"
    end
    def print_camera
        puts "Canon, Sony, Panasonic, Samsung"
     camera.each do |cur|
                puts "#{cur}"
      end
      end
 def print_flashcard
        puts "FlashCard 1GB-4GB"
        flashcard.each do |cur|
          puts "#{cur}"
        end

    end
    def print_battery
        puts "Battery 220V"
    battery.each do |cur|
                puts "#{cur}"
    end
    end
  def print_salary
        puts "Salary"
      end
      def print_income
        puts "Income"
        end
end
class Report < Shop
  
def initialize comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
        super(comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income)
  end
    def print_comp
     puts "Report"
    
  end
  def print_videocard
    puts ""
  end
  def print_ram
    puts ""
  end
  def print_hard
    puts ""
  end
  def print_phone
    puts ""
    end
    def print_camera
        puts ""
      end
 def print_flashcard
        puts ""

    end
    def print_battery
        puts ""
    end
  def print_salary
        puts "Total saslry"
      end
      def print_income
        puts "Total income"
        end
end
  
comp = ["Model", "Cost", "goods sold", "Description", "income"]
videocard = ["Model", "Cost","goods sold", "Description",  "income"]
ram =   ["Model", "Cost","goods sold", "Description",  "income"]
hard =  ["Model", "Cost","goods sold", "Description",  "income"]
phone =  ["Model", "Cost", "goods sold", "Description",  "income"]
camera = ["Model", "Cost", "goods sold", "Description",  "income"]
flashcard =  ["Model", "Cost", "goods sold", "Description", "income"]
battery =  ["Model", "Cost", "goods sold", "Description", "income"]
salary = "Total salary"
income = "Total income"
Shop1 = ShopA.new comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income    
Shop1.output_Shop
    puts "\n"
Shop2 = ShopB.new comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
Shop2.output_Shop
    puts "\n"
Shop3 = ShopC.new comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
    Shop3.output_Shop
    puts "\n"
Report = Report.new comp, videocard, ram, hard, phone, camera, flashcard, battery, salary, income
Report.output_Shop
puts "\n"



Автор: vladisclav 15.6.2012, 08:12
Тему можно закрыть, сам разобался

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)