Convert char to cell

6 views (last 30 days)
António
António on 30 Dec 2014
Edited: David Young on 30 Dec 2014
I want to intruduce data in a table but when i run the program it says that conversion to cell from char is not possible. Did someone knows what is wrong in this code?
ze1.Nome(end+1)=input('Introduza o seu nome: ', 's');
ze1.Aperlido(end+1)=input('Introduza o seu apelido: ','s');
ze1.Categoria(end+1)=input('Introduza a sua categoria(Aluno, Docente ou Feuncionário): ','s');
ze1.Numero(end+1)=input('Introduza o seu numero: ','s');
ze1.Mail(end+1)=input('Introduza o seu e-mail: ','s');
ze1.Telefone(end+1)=input('Introduza o seu nº de telefone: ','s');
Thank you all

Accepted Answer

David Young
David Young on 30 Dec 2014
Edited: David Young on 30 Dec 2014
Assuming that ze1.Nome is already a cell array, all you need to do is to replace the round brackets used for indexing it with curly brackets. This then assigns the string to the contents of a cell, rather than trying to convert the string to a cell. Like this:
ze1.Nome{end+1} = input('Introduza o seu nome: ', 's');
and the same for the other fields.
You should also consider changing the way you store the data. Instead of having a scalar struct with a cell array stored at each field, you could have a struct array with a string stored at each field. Then the line above would be
ze1(end+1).Nome = input('Introduza o seu nome: ', 's');
which may simplify some later processing. However, there will need to be changes earlier in the program to set the array up consistently with this.
  1 Comment
António
António on 30 Dec 2014
Thank you!!! It really works

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 30 Dec 2014
ze1=struct('Nome',[],'Aperlido',[],'Categoria',[],'Numero',[],'Mail',[],'Telefone',[])
ze1.Nome{end+1}=input('Introduza o seu nome: ', 's');
ze1.Aperlido{end+1}=input('Introduza o seu apelido: ','s');
ze1.Categoria{end+1}=input('Introduza a sua categoria(Aluno, Docente ou Feuncionário): ','s');
ze1.Numero{end+1}=input('Introduza o seu numero: ','s');
ze1.Mail{end+1}=input('Introduza o seu e-mail: ','s');
ze1.Telefone{end+1}=input('Introduza o seu nº de telefone: ','s');

Categories

Find more on Data Type Conversion 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!