How to store user-generated text within a loop?

3 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Evan
Evan il 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.

Più risposte (1)

Guillaume
Guillaume il 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 Commenti
Evan
Evan il 13 Nov 2014
Modificato: Evan il 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 il 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.

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by