Заставить программу автоматически закрываться после нажатия на NO на MessageBox (C ++)

Я изучаю программирование на C ++ в школе и в одиночку. Сейчас я пытаюсь сделать некоторые улучшения визуального интерфейса и пользовательского интерфейса. Мой вопрос заключается в том, могу ли я закрыть программу после простого нажатия кнопки «Нет» в MessageBox. Я хочу пропустить «Нажмите любую клавишу, чтобы продолжить» после запуска программы. Вот код:
`

#include<iostream>
#include<windows.h>
#include<stdlib.h>
using namespace std;
int main()
{
MessageBox ( NULL, "7. Adott az a(i), i=1,n szamsor. Hozzuk létre a b szamsort", "Feladat szovege", MB_OK);
float a[111], b[111], n;
cout<<"n= ?\b";

MessageBox ( HWND_DESKTOP, "Kerlek irj be egy szamot, hogy hany ertek van a sorozatban!", "10_tombok/07", MB_OK);

cin>>n;
cout<<"\n";

for(int i=1; i<=n; i++)
{
cout<<"a"<<i<<"= ?\b";
cin>>a[i];
}

for(int i=1; i<=n; i++)
{

if (a[i]>=0)
{
b[i]=2*a[i];
}
else
{
b[i]=-a[i]/2;
}

}

cout<<"\nA 'b' szamsor: ";

for(int i=1; i<=n; i++)
{
if (i!=n)
cout<<b[i]<<", ";
else
cout<<b[i]<<"\n";
}
int mbID= MessageBox (NULL, "Szeretned ujra futtatni a programot?", "Program end", MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2);
switch (mbID)
{
case IDYES:

{
return main();
break;
}
case IDNO:
{
//here i need something
return 0;
break;
}
}

`

0

Решение

Чтобы ответить на этот вопрос, при запуске из Visual Studio вы получите «Нажмите любую клавишу для продолжения». незамедлительный. Попробуйте запустить исполняемый файл напрямую.

Для вопроса в вашем комментарии, используйте цикл. По крайней мере, что-то вроде этого:

int main()
{
int done = 0;
while(!done)
{
// skipping all the other program code above...

switch (mbID)
{
case IDYES:
break;
case IDNO:
done = 1;
break;
}
}

return 0;
}

Это на самом деле неопределенное поведение, чтобы вызвать main() из вашей C ++ программы.

Если вы действительно заинтересованы в программировании пользовательского интерфейса Windows, взгляните на некоторые учебники по Win32 или MFC. Это немного отличается от построения консольных приложений.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]