/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
C++ igen
Fra : Niels


Dato : 31-12-04 08:44

Kan man med C++ få den til at køre programmet igen?
Altså den bare kører det forfra.

Ps. Blev nødt til at skrive "igen" nu har jeg sendt to gange, og den har bar
lagt det som svar i "C++" længere nede

--
Mvh. Niels (http://niels.spoweb.dk)
http://niels.spoweb.dk/noop - Søgemaskine



 
 
Mogens Hansen (31-12-2004)
Kommentar
Fra : Mogens Hansen


Dato : 31-12-04 11:20


"Niels" <niels@spoweb.dk> wrote in message
news:41d50354$0$51243$14726298@news.sunsite.dk...
> Kan man med C++ få den til at køre programmet igen?
> Altså den bare kører det forfra.

Hvis du mener en løkke, så skal du se efter "for" og "while" som kan gentage
nogle handlinger indtil en betingelse (f.eks. kørt 10 gange) er opfyldt.

Eller må du lige være lidt mere præcis i dit spørgsmål.

Venlig hilsen

Mogens Hansen



Michael Vittrup (31-12-2004)
Kommentar
Fra : Michael Vittrup


Dato : 31-12-04 11:23



Bertel Brander (31-12-2004)
Kommentar
Fra : Bertel Brander


Dato : 31-12-04 12:41

Michael Vittrup wrote:
> On Fri, 31 Dec 2004, Niels wrote:
>
>
>>Kan man med C++ få den til at køre programmet igen?
>>Altså den bare kører det forfra.
>
>
> En grim løsning kunne vel være at anvende "system"-kommandoen til at
> starte en ny instans af sig selv, hvorefter man slår den "gamle" instans
> ned (ved at terminere sig selv) - men jeg ved ikke om det fungerer i
> praksis?
>

Det virker:

#include <iostream>
#include <string>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char ch;
std::cout << "Skriv F<enter> hvis du vil state forfra, A<enter> for
at afslutte" << std::endl;
do
{
std::cin >> ch;
}
while(std::string("aAfF").find(ch) == std::string::npos);

if(ch == 'f' || ch == 'F')
system(argv[0]);
}
Men det er en grim løsning.

/b
--
"We learned more from a three minute record, baby
than we ever learned in school"
- Bruce Springsteen

Mads Jensen (31-12-2004)
Kommentar
Fra : Mads Jensen


Dato : 31-12-04 15:09

Bertel Brander wrote:
> #include <iostream>
> #include <string>
> #include <stdlib.h>

Er det ikke #include <cstdlib> ?

Godt Nytår!

mvh.
--
Mads Jensen

To email me, remove z's in my address

"Beware of bugs in the above code;
I have only proved it correct, not tested it"
         - Donald Knuth

Bertel Brander (31-12-2004)
Kommentar
Fra : Bertel Brander


Dato : 31-12-04 16:42

Mads Jensen wrote:

>
> Er det ikke #include <cstdlib> ?
>
Ja, og nej. Man kan godt bruge cstdlib og
skrive std::system(...) men det er ikke alle
C++ kompilere det vil oversætte (Visual C++ 6.0).
Man kan godt bruge cstrlib og skrive "using namespace std;"
men det er ikke kønt.

> Godt Nytår!

I lige måde.


--
"We learned more from a three minute record, baby
than we ever learned in school"
- Bruce Springsteen

Troels Henriksen (31-12-2004)
Kommentar
Fra : Troels Henriksen


Dato : 31-12-04 15:25

Hvad med dette:

#include <iostream>

using std::cout;
using std::cin;

int main(int argc, char** argv)
{
char ch;

cout << "\nTast 'f' eller 'a': ";
cin >> ch;

if (ch == 'f')
main(argc, argv);

return 0;
}

Kønt? Nej, men det burde være en smule bedre end at benytte argv[0].
--
_ _
/'< Troels "Athas" Henriksen >'\
/_v/ "In void* we trust." \v_\
"" ""

Bertel Brander (31-12-2004)
Kommentar
Fra : Bertel Brander


Dato : 31-12-04 16:39

Troels Henriksen wrote:
>
> Kønt? Nej, men det burde være en smule bedre end at benytte argv[0].

Man kan vist ikke kalde main fra et C++ program,
men godt fra et C program.

Og det giver ikke det samme resultat. Glabale
variable bliver ikke initialiseret igen.

/b
--
"We learned more from a three minute record, baby
than we ever learned in school"
- Bruce Springsteen

Michael Vittrup (01-01-2005)
Kommentar
Fra : Michael Vittrup


Dato : 01-01-05 12:53



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste