|
| 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 |
|
| |
|
|