how to print the data that we collect using structure and loop

3 views (last 30 days)
function details = my_details()
x=input('Enter number to details needed to be entered : ');
for m=1:x
name=input('name ','s');
age=input('age ');
contact_number=input('contact number ');
details=struct('name',name,'age',age,'contact',contact_number);
end
end

Answers (2)

Yongjian Feng
Yongjian Feng on 1 Jul 2021
Hello Prateek,
A simple way to print out the struct. Just get rid of the ';' at the end of the line.
function details = my_details()
x=input('Enter number to details needed to be entered : ');
for m=1:x
name=input('name ','s');
age=input('age ');
contact_number=input('contact number ');
% remove ';' at the end, command line window will print this
details=struct('name',name,'age',age,'contact',contact_number)
end
end
Thanks,
Yongjian
  2 Comments
Prateek Ghorawat
Prateek Ghorawat on 1 Jul 2021
now its giving data as i am entering but i want to show data once i enter all
Yongjian Feng
Yongjian Feng on 1 Jul 2021
Then you need to store the data first into an array of structs.
Once you get all the inputs, iterate the array of structs, and do the same thing here (a line without ';').

Sign in to comment.


Mili Goyal
Mili Goyal on 1 Jul 2021
Edited: Mili Goyal on 1 Jul 2021
I think in the above code, details is storing the last struct. To store all the structs, we can make details as an array of structs and finally print that. The following is the modified code for the above which stores the structs in an array and finally prints them:
CODE
--------------------------------------------------------------------------------------------------------------------------------------------
function details = my_details()
details = [];
x=input('Enter number to details needed to be entered : ');
for m=1:x
name=input('name ','s');
age=input('age ');
contact_number=input('contact number ');
details= [details struct('name',name,'age',age,'contact',contact_number)];
end
for i = 1:length(details) % print the details
disp(['The details of entry number ' int2str(i)]);
disp(['name :' details(i).name]);
disp(['age :' int2str(details(i).age)]);
disp(['contact :' int2str(details(i).contact)]);
end
end
-------------------------------------------------------------------------------------------------------------------------
Hope this helps!

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!