Gå til innhold

hoppe tilbake til start?


Anbefalte innlegg

Hei, jeg har denne koden:

 

#include <iostream>

#include <sstream>

#include <string>

using namespace std;

 

 

int main ()

{

string command;

cout << "root@system:~$ \a";

cin >> command;

 

if ( command == "help" || "Help" || "HELP")

{

  cout << "\n" <<endl;

  cout << "dir  -  viser deg innholdet i mappen." <<endl;

  cout << "cd  -  hjelper deg og forflytte deg fra en mappe til en annen" <<endl;

  cout << "        eks, cd .. flytter deg en mappe ned. cd www flytter deg" <<endl;

  cout << "        til mappen www." <<endl;

  cout << "cat  -  viser inholdet av en fil. F.eks, cat passwd viser deg " <<endl;

  cout << "        innholde til filen passwd." <<endl;

}

 

else

{

  cout << "\n" <<endl;

  cout << command << " gjenkjennes ikke som en intern eller ekstern kommando," <<endl;

  cout << " kjorbart program eller satsvis fil." <<endl;

  cout << "Skriv hjelp for mere informasjon" <<endl;

}

 

system ("pause");

}

 

 

Det jeg lurer på er om det er mulig at du blir sendt til begynnelsen av scriptet igjen hvis du trykker noe slikt at du havner på else.

 

Eks.

Du skriver noe annet en hjelp får feil melding og havner på begynnelsen slik at du kan taste inn ny tekst.

Lenke til kommentar
Videoannonse
Annonse
Hei, jeg har denne koden:

 

...

 

Det jeg lurer på er om det er mulig at du blir sendt til begynnelsen av scriptet igjen hvis du trykker noe slikt at du havner på else.

 

Eks.

Du skriver noe annet en hjelp får feil melding og havner på begynnelsen slik at du kan taste inn ny tekst.

7394391[/snapback]

 

Det er ikke noe problem og det finner mange muligheter, men en loop er vel det beste. Du kan jo alltids se på goto, men selv om den muligens ser bedre ut strider det med gode programmerings skikk (i dette tilfellet)

 

Det jeg har gjort er å lage en loop som går og går helt til break blir brukt, break hopper til den første linjen etter loopen.

 

Jeg kikke også på den if setningen din [if ( command == "help" || "Help" || "HELP")] problemet er punkt 2 og 3, det du egentlig sjekker er om "Help" eller "HELP" (som egentlig er char*) er 0. Dette vil ikke skje med mindre maskinen har enorme problemer.

 

koden

Klikk for å se/fjerne innholdet nedenfor
#include <iostream>
#include <sstream>
#include <string>
using namespace std;


int main () 
{
while(1) //inf loop
{
 string command;
 cout << "root@system:~$ \a";
 cin >> command;

 if ( command == "help" || command == "Help" || command == "HELP") //forandre her også
 {
 	cout << "\n" <<endl;
 	cout << "dir  -  viser deg innholdet i mappen." <<endl;
 	cout << "cd   -  hjelper deg og forflytte deg fra en mappe til en annen" <<endl;
 	cout << "        eks, cd .. flytter deg en mappe ned. cd www flytter deg" <<endl;
 	cout << "        til mappen www." <<endl;
 	cout << "cat  -  viser inholdet av en fil. F.eks, cat passwd viser deg " <<endl;
 	cout << "        innholde til filen passwd." <<endl;
 	break; //hopper ut av inf loopen
 }

 else 
 {
 	cout << "\n" <<endl;
 	cout << command << " gjenkjennes ikke som en intern eller ekstern kommando," <<endl;
 	cout <<	" kjorbart program eller satsvis fil." <<endl;
 	cout << "Skriv hjelp for mere informasjon" <<endl;
 }
}
system ("pause");
return 0;
}

 

Lykke til videre med c++

Lenke til kommentar

Hei takker for svara... :)

Jeg skal sette igang i morgen og teste det ut... (ganske seint nå)

Dette var til stor hjelp, skjønner feila mine bedre nå.

 

Og som sakt takk for all hjelpen skal heller si ifra hvordan det går videre,

klart kun hvis noen er intrisert.

Lenke til kommentar
Foresten er det noen som vet hvordan jeg kan sette egne iconer på c++ programmer?

7400448[/snapback]

 

Jeg regner med at du tenker på iconet på exe fila. Det kommer ann på hvilke kompilator og hvilke os du kompilerer til.

Endret av Giddion
Lenke til kommentar

Istedet for:

if ( command == "help" || "Help" || "HELP") 

ville jeg ha gjort om det du cin'er til uppercase med engang..

 

Noe sånt:

#include <iomanip>

command = toupper(command);
if ( command == "HELP" ) 

 

Men dette er jo bare litt pirking..

Og prøv å styr unna goto :) Dette var veldig stygg koding.. Jeg har ikke lest og satt meg inn i alt i koden din her men kunne kanskje en switch med funksjoner gjort susen her ?

Endret av mrjohnsen
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...