Is there a C++ command that restarts the application. The program I'm making is just a console application that acts like a calculator. But once you enter your number and press enter you have to close the console and re-open it to find another number.

int yes = ;
    int no = ;
    cout<<"Would you like to reset the program to enter new numbers? (Yes or No)\n";
    cin >> yes, no;

what would i have to set the yes and no values to? and is the rest of the code even right?

Is there a C++ command that restarts the application. The program I'm making is just a console application that acts like a calculator. But once you enter your number and press enter you have to close the console and re-open it to find another number.

int yes = ;
    int no = ;
    cout<<"Would you like to reset the program to enter new numbers? (Yes or No)\n";
    cin >> yes, no;

what would i have to set the yes and no values to? and is the rest of the code even right?

I can't clearly understand your tricks with console, but, anyway, here is some code.

int flag = 1;
char c;
while(flag) {
  cout<<"Would you like to reset the program to enter new numbers? (Y or N) ";
  cin>>c;
  if((c=='N')||(c=='n')) flag=0;

  //Code to repeat here
 . . .
}

Say your OS, I'll look fo restarting.

not restarting the computer but just the application

my os is XP

The code you gave me causes the box to constantly repeat Would you like to reset the program to enter new numbers? (Y or N).

so this is the full code right now.

#include <iostream>

using namespace std;
int main ()


{

    float goldennumber, dummy;
    float finalnumber;
    float finalnumber2;
    float ratio = 0.618;
    float ratio2 = 1.618;

    cout<<"Welcome to Easy Golden Ratio Finder!\n";
    cout<<"\n \n";
    cout<<"\tPlease enter a number: ";
    cin >> goldennumber;
    cout<<"\n \n";

    finalnumber = goldennumber * ratio;
    finalnumber2 = goldennumber * ratio2;
    cout<<"\tLarger ratio :\n";
    cout<<"\t\t\t"<< goldennumber <<"  :  "<< finalnumber <<"\n\n";
    cout<<"\tSmaller ratio :\n";
    cout<<"\t\t\t"<< finalnumber2 <<"  :  "<< goldennumber <<"\n\n\n\n";
    cin >> dummy;

    int flag = 1;
    char c;
    while(flag)


    cout<<"Would you like to reset the program to enter new numbers? (Y or N) ";
    cin>>c;
    if((c=='N')||(c=='n')) flag=0;

      //Code to repeat here

    return 0;

}

not restarting the computer but just the application

my os is XP

OK, let's see. You can use this trick:

#include <windows.h>

...

//restart programme
WinExec(prohram_name, SW_SHOW);
exit(1);

...

Try it in YOUR system, if it doesn't work let me know.

Ok im a noob so where should i put that in the code?

#include <iostream>
#include <windows.h>
 
using namespace std;
int main ()
 
 
{
 
    float goldennumber, dummy;
    float finalnumber;
    float finalnumber2;
    float ratio = 0.618;
    float ratio2 = 1.618;
 
    cout<<"Welcome to Easy Golden Ratio Finder!\n";
    cout<<"\n \n";
    cout<<"\tPlease enter a number: ";
    cin >> goldennumber;
    cout<<"\n \n";
 
    finalnumber = goldennumber * ratio;
    finalnumber2 = goldennumber * ratio2;
    cout<<"\tLarger ratio :\n";
    cout<<"\t\t\t"<< goldennumber <<"  :  "<< finalnumber <<"\n\n";
    cout<<"\tSmaller ratio :\n";
    cout<<"\t\t\t"<< finalnumber2 <<"  :  "<< goldennumber <<"\n\n\n\n";
    cin >> dummy;
 
    char c;
    cout<<"Would you like to reset the program to enter new numbers? (Y or N) ";
    cin>>c;
    if((c=='Y')||(c=='y'))  {
        WinExec("programme_name", SW_SHOW);
        exit(1);
    } else {
       //Do if user don't want to restart application

    }

 
     
    return 0;
 
}

programme_name it is a string e.g. "programme.exe".

Maybe it is not very pretty but it works.

It works perfectly.

Clear the output with

#incldue <conio.h>

....
clrscr();
...
Comments
I'm afraid you are misguided.

Why not just do:

#include <iostream>

using namespace std;
int main ()
{
    char c; 
   
    do
    {

    float goldennumber, dummy;
    float finalnumber;
    float finalnumber2;
    float ratio = 0.618;
    float ratio2 = 1.618;

    cout<<"Welcome to Easy Golden Ratio Finder!\n";
    cout<<"\n \n";
    cout<<"\tPlease enter a number: ";
    cin >> goldennumber;
    cout<<"\n \n";

    finalnumber = goldennumber * ratio;
    finalnumber2 = goldennumber * ratio2;
    cout<<"\tLarger ratio :\n";
    cout<<"\t\t\t"<< goldennumber <<"  :  "<< finalnumber <<"\n\n";
    cout<<"\tSmaller ratio :\n";
    cout<<"\t\t\t"<< finalnumber2 <<"  :  "<< goldennumber <<"\n\n\n\n";
    
    cout<<"Would you like to reset the program to enter new numbers? (Y or N) ";
     cin>>c;

    } while ( c == 'y');


    return 0;

}

yeah i included it. the compiler im using is called Code::Blocks

Year conio.h hasn't clrscr in this compiler.

Try

COORD coord;
unsigned long wi;
coord.X=0;
coord.Y=0;

FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),  ' ',  80*25, coord, &wi);

Is it works?

i like iamthwee's solution better but im still trying to find how to clear the text from before from the box after you type 'Y' to restart the app.

How about defining the ENTIRE code a a void function which drops through to the "restart" decision block. If yes, RECALL THE FUNCTION, else return 0; which will drop you out of int main().

I think this solution is more in line with OOP.

ok all that does is exit the program how do you get it to exit and start agian without clicking the compile button.

My OS is XP

You've been waiting 4 years to get back to this program?

No wait... First post -- resurrecting an old thread -- for no reason other than stating something doesn't work, but not explaining what doesn't work.

FAIL!!

Start your own thread and ask a real question.

Edited 4 Years Ago by WaltP: n/a

This article has been dead for over six months. Start a new discussion instead.