Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++, QB: pistelaskuri

Sivun loppuun

juhaz [14.03.2005 09:20:50]

#

Kuinka teen c:llä peliin pistelaskurin, kun quickbasicissa se tehdään tyyliin:

a = 1

input "testi: ", test$
if test$ = "testi" then
a = a + 1
end if
if test$ = "test" then
a = a - 1
end if

ville-v [14.03.2005 11:39:32]

#

#include <stdio.h>
#include <string.h>

int pisteet=0;
int main(void){
printf("Anna vaikka pisteesi: ");
scanf("%i",pisteet);
printf("Pisteet: %i",pisteet);
}

Jotain tämmöistäkö tarkoitit?

juhaz [14.03.2005 12:53:25]

#

Sen siis pitäisi lisätä oikeista vastauksista pisteen laskuriin niin, että pelin lopussa voidaan näyttää jotain statseja.

ps: Jostain syystä toi source ei toimi vaan valittaa Muistialueen ylitystä.

remontti-reiska [14.03.2005 14:11:51]

#

Tarkistus:

if (strcmp(kysymys, vastaus) == 0) {
oikeat++;
}
else
{
vaarat++;
}

//Statsit

printf("Oikeita vastauksia: %i",oikeat, "\n");
printf("Vääriä vastauksia: %i",vaarat, "\n");

Hatusta vedettyä kuten aina...

Antti Laaksonen [14.03.2005 17:56:20]

#

Tässä on alkuperäinen koodi C-kielisenä:

#include <stdio.h>
#include <string.h>

int main(void) {
    int a = 1;
    char test[20];

    printf("testi: ");
    scanf("%s", test);
    if (strcmp(test, "testi") == 0) {
        a++;
    }
    if (strcmp(test, "test") == 0) {
        a--;
    }

    return 0;
}

Kaikkia näitä asioita käsitellään opasalueella olevissa C-oppaissa.

juhaz kirjoitti:

Jostain syystä toi source ei toimi vaan valittaa Muistialueen ylitystä.

Johtuu varmaan siitä, että scanf-funktiolle annetaan virheellisesti muuttujan arvo sen muistiosoitteen (&pisteet) asemesta.

remontti-reiska kirjoitti:

Hatusta vedettyä kuten aina...

No joo, printf-funktiota ei käytetä ihan noin. :)

juhaz [14.03.2005 19:21:13]

#

hmm... kuinkas mä pystyinkään näyttämään tuon luvun tekstin perässä? Itse laitoin komenno printf("%a",a); niin tulee vain teksti 0x1.7ff8ep-1000

Juice [14.03.2005 20:12:01]

#

Kokeiles näin:

printf("%i",a);

kooderi [14.03.2005 20:50:19]

#

Näyttää oudolta kooderin silmiin, kun täällä tunnutaan käyttävän yleisesti tuota %i:tä muotoillessa integereitä merkkijonoon. Itse olen aina käyttänyt %d:tä.

Metabolix [14.03.2005 21:01:35]

#

Mutta %i on paljon loogisempi; integer.

T.M. [14.03.2005 21:06:31]

#

Hmm... onkos sillä niin väliä? :)
Itte en käytä i:tä koska se on niin kapea merkki...


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta