Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  8 1024
Hei! Jeg har enda et spørsmål.
Jeg har lagt merke til at når vi bruker cout, avhengig av "tutorial" som jeg bruker og bok som jeg leser, bruker noen cout på flere setninger, mens andre bruker cout pr. setning.

Det jeg mener er, hvorfor gjør vi det sånn:

Kode

	cout << "Difficulty Levels\n\n";
	cout << "1 - Easy\n";
	cout << "2 - Normal\n";
	cout << "3 - Hard\n";
Når vi kan gjøre:

Kode

	cout << "Difficulty Levels\n\n1 - Easy\n2 - Normal\n3 - Hard\n";
Er det ene bedre enn det andre? Er det noe jeg ikke er klar over? Det eneste jeg kan tenke meg er for at det skal være lettere å lese som programmerer.

Takk på forhånd!



Kode

#include <iostream>
using namespace std;

int _tmain()
{
	cout << "Difficulty Levels\n\n";
	cout << "1 - Easy\n";
	cout << "2 - Normal\n";
	cout << "3 - Hard\n";

	int choice;
	cout << "Choice: ";
	cin >> choice;

	switch (choice)
	{
	case 1:
		cout << "You picked Easy.\n";
		break;
	case 2:
		cout << "You picked Normal.\n";
		break;
	case 3:
		cout << "You picked Hard.\n";
		break;
	default:
		cout << "You made an illegal choice.\n";
	} //switch choice


	return 0;
} //menu
Sist endret av Akimoto873; 29. januar 2012 kl. 18:56.
Neida, det er ikke noe forskjell. Det kan derimot være litt ryddigere å lese koden, og mye lettere å legge til output innimellom linjene. Akkurat i eksempelet ditt er det jo ganske ryddig, men kanskje man vil legge til noe logikk etter en cout, men før en annen? Kanskje sjekke en variabel og så legge til en beskjed?
Forskjellen er i grunn bare leselighet, om du vil ha èn cout OG god leselighet, så kan du jo gjøre slik:

Kode

cout << "Difficulty Levels\n\n"
       << "1 - Easy\n"
       << "2 - Normal\n"
       << "3 - Hard\n";
Sitat av boblehest Vis innlegg
Forskjellen er i grunn bare leselighet, om du vil ha èn cout OG god leselighet, så kan du jo gjøre slik:

Kode

cout << "Difficulty Levels\n\n"
       << "1 - Easy\n"
       << "2 - Normal\n"
       << "3 - Hard\n";
Vis hele sitatet...
Oh! Den var lur!
Men hvis jeg ønsker å legge inn ny kode i mellom er det vel egentlig like greit å bruke en cout på hver linje som ivioynar sa

Sitat av ivioynar Vis innlegg
Neida, det er ikke noe forskjell. Det kan derimot være litt ryddigere å lese koden, og mye lettere å legge til output innimellom linjene. Akkurat i eksempelet ditt er det jo ganske ryddig, men kanskje man vil legge til noe logikk etter en cout, men før en annen? Kanskje sjekke en variabel og så legge til en beskjed?
Vis hele sitatet...
Takk så mye for tilbakemeldingen! Ja, det var det jeg tenkte meg.


Er det noen som jobber som programmerer eller har mye erfaring som kan fortelle meg hvordan dere ville utført dette stykke med cout?

Det er ikke nok å lære å forstå språket, jeg prøver også å lære meg lure metoder og unngå dårlige vaner
The Lone Deranger
bipbapbop's Avatar
Anbefaler Code Complete 2nd edition hvis du vil ha tips fra veteraner ..
Sitat av aricz Vis innlegg
Anbefaler Code Complete 2nd edition hvis du vil ha tips fra veteraner ..
Vis hele sitatet...
"Code Complete 2nd edition"? Hvem er det skrevet av?
Finner en del "Code" og second edition bøker på google..
The Lone Deranger
bipbapbop's Avatar
Steve McConnel
det første tipse jeg kan gi er å lære deg funksjoner, slik at det som står inne i main() blir mye mindre.. ved å stykke opp problemet/oppgaven er det mye lettere å feilsøke etter hvert som koden blir større.. ved et tekstbasert spill kan man etter hvert få veldig stor kode med mange valgmuligheter og da blir alt lettere og debugge senere (for ja du komme nok til å få problemer etter hvert ) et år siden jeg hadde om c++ programmering men synes å huske koden da kan bli f.eks noe slik:

#include <iostream>
using namespace std;

/*i c++ må funksjoner som skrives etter main deklareres før main med mindre du lager deg en header fil. er det ønskelig kan jeg sikkert forklare det også */

void startgame (int difficulty); //start spillet med ønsket vankselighetsgrad
int select_difficulty();

int main(){

cout<<"Welcome to my game =) "<<endl<<endl;

int difficulty = select_difficulty(); //lager vanskelighetsgrad variabel ved hjelp av funksjon

startgame(difficulty); // starter spillet med ønsket vanskelighets grad


return 0;
}

int select_difficulty(){

cout << "Difficulty Levels\n\n";
cout << "1 - Easy\n";
cout << "2 - Normal\n";
cout << "3 - Hard\n";

int choice;
cout << "Choice: ";
cin >> choice;

switch (choice)
{
case 1:
cout << "You picked Easy.\n";
break;
case 2:
cout << "You picked Normal.\n";
break;
case 3:
cout << "You picked Hard.\n";
break;
default:
cout << "You made an illegal choice.\n";
} //switch choice

return choice;
}

void startgame (int difficulty){

//her skriver du hva som skal skje i spillet ved hjelp av andre funksjoner videre

/*difficulty er nå en variabel du har tilgang til inne i funksjonen og kan bruke videre med enten switch eller if løkker videre.. viss du ikke vet det så: "int" forand en funksjon betyr at funksjonen returner en verdi dermed return choice, men utenfor funksjonene vil ikke variable hette det samme, er kun verdien på variabelen som sendes tilbake. samme for "float" "double" etc.. "void" betyr at funksjonen ikke skal returnere noe når den er ferdig å kjøre. */
}


Som demonstrert her får du to linjer i main, noe som gjør det der inni mye kortere som er ønskelig i veldig mange sammenhenger! anbefaler på det sterkeste og stykke det opp

GL!
Sitat av sweppes Vis innlegg
det første tipse jeg kan gi er å lære deg funksjoner, slik at det som står inne i main() blir mye mindre.. ved å stykke opp problemet/oppgaven er det mye lettere å feilsøke etter hvert som koden blir større.. ved et tekstbasert spill kan man etter hvert få veldig stor kode med mange valgmuligheter og da blir alt lettere og debugge senere (for ja du komme nok til å få problemer etter hvert ) et år siden jeg hadde om c++ programmering men synes å huske koden da kan bli f.eks noe slik:

#include <iostream>
using namespace std;

/*i c++ må funksjoner som skrives etter main deklareres før main med mindre du lager deg en header fil. er det ønskelig kan jeg sikkert forklare det også */

void startgame (int difficulty); //start spillet med ønsket vankselighetsgrad
int select_difficulty();

int main(){

cout<<"Welcome to my game =) "<<endl<<endl;

int difficulty = select_difficulty(); //lager vanskelighetsgrad variabel ved hjelp av funksjon

startgame(difficulty); // starter spillet med ønsket vanskelighets grad


return 0;
}

int select_difficulty(){

cout << "Difficulty Levels\n\n";
cout << "1 - Easy\n";
cout << "2 - Normal\n";
cout << "3 - Hard\n";

int choice;
cout << "Choice: ";
cin >> choice;

switch (choice)
{
case 1:
cout << "You picked Easy.\n";
break;
case 2:
cout << "You picked Normal.\n";
break;
case 3:
cout << "You picked Hard.\n";
break;
default:
cout << "You made an illegal choice.\n";
} //switch choice

return choice;
}

void startgame (int difficulty){

//her skriver du hva som skal skje i spillet ved hjelp av andre funksjoner videre

/*difficulty er nå en variabel du har tilgang til inne i funksjonen og kan bruke videre med enten switch eller if løkker videre.. viss du ikke vet det så: "int" forand en funksjon betyr at funksjonen returner en verdi dermed return choice, men utenfor funksjonene vil ikke variable hette det samme, er kun verdien på variabelen som sendes tilbake. samme for "float" "double" etc.. "void" betyr at funksjonen ikke skal returnere noe når den er ferdig å kjøre. */
}


Som demonstrert her får du to linjer i main, noe som gjør det der inni mye kortere som er ønskelig i veldig mange sammenhenger! anbefaler på det sterkeste og stykke det opp

GL!
Vis hele sitatet...
Veldig godt og effektivt!
Takk så mye.

Har holdt på litt med funksjoner som dette- jeg må lære å bruke det oftere.