2009-11-30, 23:29
  #1
Medlem
Jag har just i dagarna satt mig ner och börjat fördjupa mig i c++ programmering och nu har det dykt upp en fråga. Har gjort en funktion som räknar lite matte helt enkelt och lagt till en IF funktion och så långt är allt lungt. Men sen har jag fastnat vid efterföljande ELSE funktionen. Om jag inte får "träff" på den summa jag vill så ska det plussas på 10 på utgångstalet (vilket jag lyckats göra) men sen vill jag att det nya talet som kallas x i programmet ska köras från början eftersom det är ett nytt tal.

Dvs hur går jag tillväga för att göra detta? Dvs det nya talet som jag fått ska köras genom samma funktioner som det tidigare talet kördes genom.

Vad ska man använda för funktion till att börja med?
Citera
2009-11-30, 23:34
  #2
Medlem
Protons avatar
Citat:
Ursprungligen postat av Silen

Vad ska man använda för funktion till att börja med?
En rekursiv?
Citera
2009-12-01, 02:30
  #3
Medlem
ansikte.s avatar
jaja, det får bli jag..
nybörjarhjälp*
__________________
Senast redigerad av ansikte. 2009-12-01 kl. 02:32.
Citera
2009-12-02, 13:15
  #4
Medlem
CConspiracys avatar
Kod:
if (condition)
{
   // code to execute if condition is true
}
else 
{
   // code to execute if condition is false
}
Citera
2009-12-02, 15:29
  #5
Medlem
Citat:
Ursprungligen postat av CConspiracy
Kod:
if (condition)
{
   // code to execute if condition is true
}
else 
{
   // code to execute if condition is false
}

Det där är jag helt med på. Men i ELSE delen ska det se precis likadant ut som det gör tidigare i koden fast med ett större tal. Vid ELSE ska x+10 sen ta det nya värdet på x och köra genom samma struktur igen tills det får en träff i IF alternativet. Går det inte att i ELSE skriva något enkelt som gör att programmet startar om från en specifik rad i koden?
Citera
2009-12-02, 15:31
  #6
Medlem
micaeles avatar
Citat:
Ursprungligen postat av Silen
Det där är jag helt med på. Men i ELSE delen ska det se precis likadant ut som det gör tidigare i koden fast med ett större tal. Vid ELSE ska x+10 sen ta det nya värdet på x och köra genom samma struktur igen tills det får en träff i IF alternativet. Går det inte att i ELSE skriva något enkelt som gör att programmet startar om från en specifik rad i koden?
Man kan använda goto. Men då går det så här: http://xkcd.com/292/
Citera
2009-12-02, 15:35
  #7
Medlem
AquaRegias avatar
Citat:
Ursprungligen postat av micaele
Man kan använda goto. Men då går det så här: http://xkcd.com/292/

Nämn inte goto för noobs

Dom tycker bara att det låter jättebra och sen börjar dom använda det hela tiden
Citera
2009-12-02, 16:24
  #8
Medlem
felpost!
__________________
Senast redigerad av zynius 2009-12-02 kl. 16:27.
Citera
2009-12-02, 16:26
  #9
Medlem
Kod:
for (;;)
{
   // din kod här...
   if (x >= y) {
      // kanske mer kod här?...
      break;
   }
   x += 10;
}

så typ?
Citera
2009-12-02, 16:43
  #10
Medlem
Protons avatar
Eller varför inte göra som jag föreslog, en enkel rekursion?
[PHP]

int someFunction(int number){
if (condition)
{
return someFunction(number +10);
}
else
{
return number;

}
[/PHP]
Så nånting?
Citera
2009-12-02, 17:12
  #11
Medlem
Mockarutans avatar
Såhär gör du:

Kod:
while(1){
    if(X == 5){
         //gör vad du vill
         break;
    }

    else{
         x += 10;
    }
}

5 är bara en siffra jag tog... Men denna loop kommer loopa tills det första påståendet är uppfyllt.
Citera
2009-12-06, 22:52
  #12
Medlem
Citat:
Ursprungligen postat av AquaRegia
Nämn inte goto för noobs

Dom tycker bara att det låter jättebra och sen börjar dom använda det hela tiden

Eftersom jag är helt ny på det här med C++ så är jag ganska frågvis av mig. Varför är goto inget att rekomendera? Lätt att det blir buggar eller varför ska man avstå?
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in