problem with if and or

2 次查看(过去 30 天)
Hello i have a little problem i really don't understand why my code don't open a popup window when i press 'interp'
someone can help me ?
Choix1 = questdlg('Veuillez choisir un mode de fonctionnement du programme :', 'Menu Principal', 'Demo', 'Projet', 'Quitter', 'Quitter');
if Choix1 == 'Projet'
ChoixOption = questdlg('Veuillez choisir un mode de fonctionnement du Projet :', 'Menu du Projet', 'interp', 'zero-padding', 'lineaire', 'lineaire');
end
if ChoixOption == 'zero-padding'
ChoixTaux = questdlg('Veuillez choisir un taux de sur-échantillonage :', 'Menu sur-échantillonage', '2', '3', 'Quitter', 'Quitter');
elseif ChoixOption == 'interp'
ChoixTaux = questdlg('Veuillez choisir un taux de sur-échantillonage :', 'Menu sur-échantillonage', '2', '3', 'Quitter', 'Quitter');
endif

采纳的回答

langrg
langrg 2022-4-20
编辑:langrg 2022-4-20
Hello,
You should use "strcmp" instead of "==", then end syntax of an "if" condition is "end" not "endif", like that:
Choix1 = questdlg('Veuillez choisir un mode de fonctionnement du programme :', 'Menu Principal', 'Demo', 'Projet', 'Quitter', 'Quitter');
if strcmp(Choix1, 'Projet')
ChoixOption = questdlg('Veuillez choisir un mode de fonctionnement du Projet :', 'Menu du Projet', 'interp', 'zero-padding', 'lineaire', 'lineaire');
end
if strcmp(ChoixOption, 'zero-padding')
ChoixTaux = questdlg('Veuillez choisir un taux de sur-échantillonage :', 'Menu sur-échantillonage', '2', '3', 'Quitter', 'Quitter');
elseif strcmp(ChoixOption, 'interp')
ChoixTaux = questdlg('Veuillez choisir un taux de sur-échantillonage :', 'Menu sur-échantillonage', '2', '3', 'Quitter', 'Quitter');
end

更多回答(1 个)

Murugan C
Murugan C 2022-4-20
Hi, to compare string, use strcmpi keyword.
Please find below code.
Choix1 = questdlg('Veuillez choisir un mode de fonctionnement du programme :', 'Menu Principal', 'Demo', 'Projet', 'Quitter', 'Quitter');
if strcmpi(Choix1, 'Projet')
ChoixOption = questdlg('Veuillez choisir un mode de fonctionnement du Projet :', 'Menu du Projet', 'interp', 'zero-padding', 'lineaire', 'lineaire');
end
if strcmpi(ChoixOption, 'zero-padding')
ChoixTaux = questdlg('Veuillez choisir un taux de sur-échantillonage :', 'Menu sur-échantillonage', '2', '3', 'Quitter', 'Quitter');
elseif strcmpi(ChoixOption, 'interp')
ChoixTaux = questdlg('Veuillez choisir un taux de sur-échantillonage :', 'Menu sur-échantillonage', '2', '3', 'Quitter', 'Quitter');
end

Community Treasure Hunt

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

Start Hunting!

Translated by