From: Mrin alini Date: 2011-11-14T05:48:25+09:00 Subject: How to use csv files in ruby I am able to write parts of the code but I am not able to join the code and use loops. I am quite new to RUBY and trying to do this project. We have a list of customers We have a list of products. The customer is asked if he is new or returning A new customer puts in his information and the customer database is populated with his information if new customer if existing customer, then with his name his details are pulled from the database Then he has to enter the shopping cart with the product names and quantity, Then from the product table, the price of the product table, the price of the product and the total (quantity*price) is calculated in the end it should print out the list of the products quantity price total sum tax shipping and total= total sum+tax+shipping all this information should be in a new csv file with the customer information and saved in the folder. this is what I have so far and I am freaking out.Its all over the place require 'csv' # Getting Information from the new customer and updating the csv file puts "Are you a new cuntomer? y/n" ans = gets.chomp while ans == 'y' do module CustomerRelated class Customer def initialize( customer_id, fname, lname, address1, address2, city, state, zip, ph_no) @fname = fname @lname = lname @address1 = address1 @address1 = address1 @city = city @state = state @zip = zip @ph_no = ph_no end puts "Enter first name" fname = gets.chomp puts "Enter last name" lname = gets.chomp puts "Enter your street address" address1= gets.chomp puts "Enter your House no./Apt no." address2= gets.chomp puts "Enter the City" city = gets.chomp puts "Enter the State" state = gets.chomp puts "Enter your Zip code" zip = gets.chomp puts "Enter your Phone Number" ph_no = gets.chomp #getting the customer data in the file CSV.open("customer.csv", "a") do |csv| #csv << ["First_Name", "Last_Name", "Address_1", "City" , "Zip" , "Ph_No"] csv << [fname, lname, address1, address2, city, state, zip, ph_no] end end puts "What is your First Name?" class Sale def initialize( product_name, product_id, price, quantity, total_price, tax, payment_type, shipping) @product_name = product_name @product_id = product_id @price = price @quantity = quantity @total_price = total_price @tax = tax @payment_type = payment_type @shipping = shipping end puts "Enter name of the product" product_name = gets.chomp puts "Enter the quantity" quantity = gets.chomp.to_i CSV.foreach("products.csv", "r") do |row| if product_name == row[1] product_id = row[0] price = row[2].to_f # fetch, convert from string, and store in `price variable` total_price = (price * quantity) #getting the customer data in the file CSV.open("Shopping_list.csv", "a") do |csv| #csv << ["First_Name", "Last_Name", "Address_1", "City" , "Zip" , "Ph_No"] csv << [product_id, product_name, price, quantity, total_price] end puts "Do you have more products to add ? (y/n)?" answer = gets.chomp if answer = y then else #calculating shipping and tax sub_total=0 puts "Your Sub total is" CSV.foreach("Shopping_list.csv", "r") do |row| sub_total= {for |x| do row[4] puts "Enter your zip code" zip = gets.chomp CSV.foreach("zipcode.csv") do |row| if zipcode == row[0] shipping = row[1] Attachments: http://www.ruby-forum.com/attachment/6742/products.csv http://www.ruby-forum.com/attachment/6743/customer.csv -- Posted via http://www.ruby-forum.com/.