MATLAB Answers

0

Storing values from a for loop

Asked by Rylan Thronburg on 24 Apr 2019
Latest activity Answered by Murugan C on 4 Jun 2019
I'd like to store multiple values from my for loop, though it only saves the last values. How do I rewrite the code to make it save all values? Here is what I have so far.
CustAmt = input('How many customers would you like to examine?: ');
for x = 1:CustAmt
Cust(x).name = input('What is the name of this customer?: ','s');
Cust(x).pamt = input('How many products do you sell to this customer?: ');
monall = [];
for y = 1:Cust(x).pamt
product = input('What is the name of this product?: ','s');
fprintf('How much money is allocated for %s?',product);
monall = [monall, input(': ')];
end
end
I would like to save each input value for each customer.

  6 Comments

That doesn't change anything, the loops still only save the last input.
Works for me. See attached.
Thank you! Works like a charm, I just didn't see where the outputs were saved.

Sign in to comment.

Products


Release

R2018b

1 Answer

Answer by Murugan C on 4 Jun 2019

Hi,
CustAmt = input('How many customers would you like to examine?: ');
for x = 1:CustAmt
Cust(x).name = input('What is the name of this customer?: ','s');
Cust(x).pamt = input('How many products do you sell to this customer?: ');
monall = [];
prodnames = [];
for y = 1:Cust(x).pamt
product = input('What is the name of this product?: ','s');
fprintf('How much money is allocated for %s?',product);
prodnames = [prodnames, {product}]; monall = [monall, input(': ')];
end
Cust(x).prodnames = prodnames;
Cust(x).monall = monall;
save(Cust(x).name,'Cust') % store the variable into .mat data
end

  0 Comments

Sign in to comment.