How to store user-generated text within a loop?

2 views (last 30 days)
How would i write this code to run in a loop?
p='What is the name of a eng 1315 student? ';
n1=input(p,'s');
n2=input(p,'s');
n3=input(p,'s');
n4=input(p,'s');
n5=input(p,'s');
my objective involves importing data (which will be set of grades) from an excel doc then sorting and calculating the data for the entered students to be displayed in order from highest average to lowest. I would like to shorten this portion because extra credit will be given to the student with the shortest code. If running this in a loop is not possible I am open for any other suggestions to shorten this portion. Thanks.

Accepted Answer

Evan
Evan on 13 Nov 2014
In order to store multiple strings, likely of different lengths, you will need to use a cell array. See here for help on writing data to a cell array.
It is certainly possible to do this in a loop. The input function will pause execution of the loop until the user enters data, and then it will move onto the next iteration.
Note that giving exact solutions to classwork is discouraged on this site, but users here will be very happy to help you with tips and partial solutions.

More Answers (1)

Guillaume
Guillaume on 13 Nov 2014
Inside the loop store the result of input in a matrix, using the loop index as the matrix index.
n(i) = input(p, 's');
  2 Comments
Evan
Evan on 13 Nov 2014
Edited: Evan on 13 Nov 2014
This will not work if the strings are of different lengths (or, for that matter, if any of the strings are more than one element long).
Guillaume
Guillaume on 13 Nov 2014
Yes, indeed. Don't know why I was thinking Caleb was storing numbers.
As Evan says, use a cell array instead of a matrix.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!