Console lukker (simpel)

Tags:    c++

<< < 12 > >>
Hej
Hvilken kode ksal jeg skrive for at mit console vindue ikke lukker når jeg prøver at køre det? Så længe jeg kører det i codeblock fungerer det fint.

#include <iostream>
int main()
{
int x, y, z;
std::cout << "Tal 1: ";
std::cin >> x;
std::cout << "Tal 2: ";
std::cin >> y;
if(x > 100)
{
if(x < 20)
std::cout << "x er større end 10 og mindre end 20" << std::endl;
else
std::cout << "x er større end 20" << std::endl;
}
else
{
std::cout << "x mindre end 10" << std::endl;
}

if(y != 0)
{
std::cout << x << " / " << y << " = " << x / y << std::endl;
}
else
{
std::cout << "Tal 2 er 0" << std::endl;
}
}



Hvad mener du med "virker ikke", her venter den på svar mere end nok gange.



hvis jeg prøver at køre programmet uden for CodeBlock så lukker den vinduet ned efter jeg har indtastet værdierne, istedet for at give mig et resultat



Det forstår jeg ikke.
Her venter den på Enter efter jeg har indtastet tallene, derpå skiver den noget ud (som vist ikke er rigtigt) og venter på to gange Enter.



Hmm den opfører sig udnerligt.. her er den som færdig, og nu kan jeg få den til at vise første omgang.

#include <iostream>
#include <math.h>

int main()
{
std::cout << " loesning af ligningen ax^2+bx+c " << std::endl;
int a, b, c, d;
std::cout << "Tal a: ";
std::cin >> a;
std::cout << "Tal b: ";
std::cin >> b;
std::cout << "Tal c: ";
std::cin >> c;
std::cin.get();
std::cout << "d" << " = " << b << " * " << b << " - " << 4 << " * " << a << " * " << c << " = " << b * b - 4* a * c << std::endl;
if((b * b - 4* a * c)<0)
std::cout << "d er mindre end 0, der er ingen løsning" << std::endl;
if((b * b - 4* a * c)==0)
{
std::cout << "d er lig 0, der er en loesning" << std::endl;
std::cin.get();
std::cout << "x" << " = " << -b << " + " << sqrt ( b * b - 4* a * c ) << " / " << 2 << " * " << a << " = " << ( -b + sqrt( b * b - 4* a * c ) ) / (2 * a) << std::endl;
}
if((b * b - 4* a * c)>0)
{
std::cout << "d er større end 0, der er 2 løsninger" << std::endl;
std::cout << "x1" << " = " << -b << " + " << sqrt ( b * b - 4* a * c ) << " / " << 2 << " * " << a << " = " << ( -b + sqrt( b * b - 4* a * c ) ) / (2 * a) << std::endl;
std::cout << "x2" << " = " << -b << " - " << sqrt ( b * b - 4* a * c ) << " / " << 2 << " * " << a << " = " << ( -b - sqrt( b * b - 4* a * c ) ) / (2 * a) << std::endl;
}
std::cin.get();
}

Den viser om der er en løsning og hvor mange.. men regner dem ikke ud... altså ude for codeblock




Nå nu kan den vist godt lukke:) Det virker nu, men aner ikke hvorfor. Den endelige kode ser sådan her ud:

#include <iostream>
#include <math.h>

int main()
{
std::cout << " loesning af ligningen ax^2+bx+c " << std::endl;
int a, b, c, d;
std::cout << "Tal a: ";
std::cin >> a;
std::cout << "Tal b: ";
std::cin >> b;
std::cout << "Tal c: ";
std::cin >> c;
std::cout << "d" << " = " << b << " * " << b << " - " << 4 << " * " << a << " * " << c << " = " << b * b - 4* a * c << std::endl;
std::cin.get();
if((b * b - 4* a * c)<0)
std::cout << "d er mindre end 0, der er ingen løsning" << std::endl;
if((b * b - 4* a * c)==0)
{
std::cout << "d er lig 0, der er en loesning" << std::endl;
std::cout << "x" << " = " << -b << " + " << sqrt ( b * b - 4* a * c ) << " / " << 2 << " * " << a << " = " << ( -b + sqrt( b * b - 4* a * c ) ) / (2 * a) << std::endl;
}
if((b * b - 4* a * c)>0)
{
std::cout << "d er større end 0, der er 2 løsninger" << std::endl;
std::cout << "x1" << " = " << -b << " + " << sqrt ( b * b - 4* a * c ) << " / " << 2 << " * " << a << " = " << ( -b + sqrt( b * b - 4* a * c ) ) / (2 * a) << std::endl;
std::cout << "x2" << " = " << -b << " - " << sqrt ( b * b - 4* a * c ) << " / " << 2 << " * " << a << " = " << ( -b - sqrt( b * b - 4* a * c ) ) / (2 * a) << std::endl;
}
std::cin.get();
}




Hej Anders,

Nævnt det her før ...

#include <Windows.h>

Sleep(20000);

Med venlig hilsen
Ieet



prøv at skrive system("pause"); er ikke sikker på om du skal bruge std:: foran. muligvis include <stdlib.h>



Indlæg senest redigeret d. 13.01.2008 16:22 af Bruger #3353
Hej
Hvilken kode ksal jeg skrive for at mit console vindue ikke lukker når jeg prøver at køre det? Så længe jeg kører det i codeblock fungerer det fint.



Afslut blot med kodelinien:

system("PAUSE");



eneste problem med system("pause") er at det er platforms afhængigt da den kalder til selve systemet. f.eks. linux ville ikke forstå det, kun windows



<< < 12 > >>
t