Miks ei toimi?

Koodari

Kun toi lemmikki kysymyksen vastaus ei toimi?


#include

int main(void)
{
char nimi[50];

char koti[50];

char pet[3];

char loppu[128];
printf("*****Hello -keskustelu v0.7***** \n***Created by:Mika Katajamaki*** \n*********2.7.2006 23:42*********\n");
printf("\nHello! Who are you?\n"); //Kysyy

gets_s(nimi); // annetaan vastaus

printf("\nHow are you %s?\n",nimi);

printf("\nWhere do you live?\n");

gets_s(koti);

printf("\n%s must be intresting place to live.\n",koti);

printf("\nOk, Do you have any pets? yes or no?\n"); //EI TOIMI

gets_s(pet);

if (pet == yes) printf("\nI have 2 Hard-drives as a pet. Aren't they so cute?!\n");
if (pet == no) printf("\nOh, that's kind of a sad.\n");

printf("\nI have reboot now. See ya later! \nPlease press ENTER to exit\n");

gets_s(loppu);

printf("\n%s BYE!\n",loppu);
}

16

760

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Koodari
    • bugia pukkaa

      printf("\nOk, Do you have any pets? yes or no?\n"); //EI TOIMI

      ->

      printf("\nOk, Do you have any pets? yes or no?\n",pet);

      • Ei taida tuokaan oikein toimia, sillä printf:n ensimmäiseen argumenttiin pitää lisätä %s sopivaan kohtaan, jos siihen kohtaan halutaan lisätä tuon pet-muuttujan sisältämä sana. Jos sitä ei haluta tulostaa (ilmeisesti kuitenkin tuon tulostuksen jälkeen halutaankin vain lukea se), niin sitten ", pet" pitää poistaa.


    • Merkkijonojen vertailu ei mene C:ssä noin suoraan ==:lla, vaan siihen pitää käyttää erillisiä funktioita, kuten strcmp tai strncmp.

      include

      if (strcmp("yes", pet) == 0)
      printf("on\n");
      else if (strcmp("no", pet) == 0)
      printf("ei ole\n");
      else
      printf("vastasit jotain tuubaa\n");

      • koodari

        mikä neuvoks?


      • koodari
        koodari kirjoitti:

        mikä neuvoks?

        mut miten sen saa sillai et jos vastaa jotain muuta kuin "yes" tai "no" nii et kiertää niin kau uuestaa kunnes vastaa "yes" tai "no". ku ny se menee vaa siitä kohast eteenpäi


    • ..virhe

      Yksi vika löytyy pet-muuttujan esittelystä. Kolmen merkin mittainen taulukko ei riitä vastaukselle 'yes'.

    • koodari

      int main(void)
      {
      char nimi[50];

      char vointi[50];

      char koti[50];

      char pet[5];

      char väri[10];

      char loppu[128];

      printf("*****Hello -keskustelu v0.9***** \n***Created by:Mika Katajamaki*** \n*********2.7.2006 23:42*********\n");

      //###jutustelu alkaa###

      printf("\n-Hello! Who are you?\n"); //Kysyy

      gets_s(nimi); // annetaan vastaus

      printf("\n-How are you %s?\n",nimi);

         gets_s(vointi);

      printf("\n-I'm %s too, thank you.\n",vointi); //kommentoi vastausta

      printf("\n-Where do you live?\n");

      gets_s(koti);

      printf("\n-%s must be intresting place to live.\n",koti);

         printf("\n-What is your favourite color?\n",nimi);

         gets_s(väri);

      printf("\n-%s is my fav color too.\n",väri);


      printf("\n-Do you have any pets? Yes or no?\n");

      gets_s(pet);

      if (strcmp("yes", pet) == 0)
         printf("\n-Really! I have two hard-drives as pet.\n");
      else if (strcmp("no", pet) == 0)
      printf("\n-How sad!\n");
      else
      printf("-Yes or no?\n");

      printf("\n-I have to reboot now. See ya later! \nPlease press ENTER to exit\n");

      gets_s(loppu);

      printf("\n%s BYE!\n",loppu);
      }

    • koodari

      miten sen saa sillai et jos vastaa jotain muuta kuin "yes" tai "no" nii et kiertää niin kau uuestaa kunnes vastaa "yes" tai "no" ja sit vast menee eteenpäi.

      • Esim. jotain vastaavaa:

        int vastaus_on_ok = 0;

        ....

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", pet) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", pet) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        }


      • koodari
        Mik26 kirjoitti:

        Esim. jotain vastaavaa:

        int vastaus_on_ok = 0;

        ....

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", pet) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", pet) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        }

        mut ny sit se ei jatka eteenpäin kun kysymykseen on saatu oike vastaus.

        ja täs taas nykyinen koodi(hiukan selvennetty)


        #include //En tiiä tarvitaanko mut softa pakottaa pistää.
        #include
        #include
        #include
        #include


        int main(void)
        {
        char nimi[50];

        char vointi[50];

        char koti[50];

        char pet[5];

        char kys[5];

        char vari[10];

        char loppu[128];

        int vastaus_on_ok = 0;

        printf("*****Hello -keskustelu v0.9***** \n***Created by:Mika Katajamaki*** \n*********2.7.2006 23:42*********\n*******(c)Mika Katajamaki*******\n");

        //###jutustelu alkaa###

        printf("\n-Hello! Who are you?\n"); //Kysyy

        gets_s(nimi); // annetaan vastaus

        printf("\n-How are you %s?\n",nimi);

           gets_s(vointi);

        printf("\n-I'm %s too, thank you.\n",vointi); //kommentoi vastausta

        //################################################################

        printf("\n-Where do you live?\n");

        gets_s(koti);

        printf("\n-%s must be intresting place to live.\n",koti);

        //################################################################

        printf("\n-Do you have any pets? Yes or no?\n");

        gets_s(pet);

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", pet) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", pet) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        gets_s(pet);
        }

        //################################################################

        printf("\n-What is your favourite color?\n",nimi);

           gets_s(vari);

              printf("\n-%s is my fav color too.\n",vari);

        //#################################################################

        printf("\n-Do you like computers?\n");

           gets_s(kys);

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", kys) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", kys) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        gets_s(kys);
        }

        //################################################################

        printf("\n-I have to reboot now. See ya later! \nPlease press ENTER to exit\n");

        gets_s(loppu);

        printf("\n BYE!\n");

        //##########################THE END##############################


      • koodari
        koodari kirjoitti:

        mut ny sit se ei jatka eteenpäin kun kysymykseen on saatu oike vastaus.

        ja täs taas nykyinen koodi(hiukan selvennetty)


        #include //En tiiä tarvitaanko mut softa pakottaa pistää.
        #include
        #include
        #include
        #include


        int main(void)
        {
        char nimi[50];

        char vointi[50];

        char koti[50];

        char pet[5];

        char kys[5];

        char vari[10];

        char loppu[128];

        int vastaus_on_ok = 0;

        printf("*****Hello -keskustelu v0.9***** \n***Created by:Mika Katajamaki*** \n*********2.7.2006 23:42*********\n*******(c)Mika Katajamaki*******\n");

        //###jutustelu alkaa###

        printf("\n-Hello! Who are you?\n"); //Kysyy

        gets_s(nimi); // annetaan vastaus

        printf("\n-How are you %s?\n",nimi);

           gets_s(vointi);

        printf("\n-I'm %s too, thank you.\n",vointi); //kommentoi vastausta

        //################################################################

        printf("\n-Where do you live?\n");

        gets_s(koti);

        printf("\n-%s must be intresting place to live.\n",koti);

        //################################################################

        printf("\n-Do you have any pets? Yes or no?\n");

        gets_s(pet);

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", pet) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", pet) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        gets_s(pet);
        }

        //################################################################

        printf("\n-What is your favourite color?\n",nimi);

           gets_s(vari);

              printf("\n-%s is my fav color too.\n",vari);

        //#################################################################

        printf("\n-Do you like computers?\n");

           gets_s(kys);

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", kys) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", kys) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        gets_s(kys);
        }

        //################################################################

        printf("\n-I have to reboot now. See ya later! \nPlease press ENTER to exit\n");

        gets_s(loppu);

        printf("\n BYE!\n");

        //##########################THE END##############################

        se menee eteenpäin kun painaa enteriä.


      • koodari

      • c=3
        koodari kirjoitti:

        mut ny sit se ei jatka eteenpäin kun kysymykseen on saatu oike vastaus.

        ja täs taas nykyinen koodi(hiukan selvennetty)


        #include //En tiiä tarvitaanko mut softa pakottaa pistää.
        #include
        #include
        #include
        #include


        int main(void)
        {
        char nimi[50];

        char vointi[50];

        char koti[50];

        char pet[5];

        char kys[5];

        char vari[10];

        char loppu[128];

        int vastaus_on_ok = 0;

        printf("*****Hello -keskustelu v0.9***** \n***Created by:Mika Katajamaki*** \n*********2.7.2006 23:42*********\n*******(c)Mika Katajamaki*******\n");

        //###jutustelu alkaa###

        printf("\n-Hello! Who are you?\n"); //Kysyy

        gets_s(nimi); // annetaan vastaus

        printf("\n-How are you %s?\n",nimi);

           gets_s(vointi);

        printf("\n-I'm %s too, thank you.\n",vointi); //kommentoi vastausta

        //################################################################

        printf("\n-Where do you live?\n");

        gets_s(koti);

        printf("\n-%s must be intresting place to live.\n",koti);

        //################################################################

        printf("\n-Do you have any pets? Yes or no?\n");

        gets_s(pet);

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", pet) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", pet) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        gets_s(pet);
        }

        //################################################################

        printf("\n-What is your favourite color?\n",nimi);

           gets_s(vari);

              printf("\n-%s is my fav color too.\n",vari);

        //#################################################################

        printf("\n-Do you like computers?\n");

           gets_s(kys);

        while (vastaus_on_ok == 0) {

        if (strcmp("yes", kys) == 0) {
        printf("\n-Really! I have two hard-drives as pet.\n");
        vastaus_on_ok = 1;
        } else if (strcmp("no", kys) == 0) {
        printf("\n-How sad!\n");
        vastaus_on_ok = 1;
        } else
        printf("-Yes or no?\n");

        gets_s(kys);
        }

        //################################################################

        printf("\n-I have to reboot now. See ya later! \nPlease press ENTER to exit\n");

        gets_s(loppu);

        printf("\n BYE!\n");

        //##########################THE END##############################

        printf("\n-Do you have any pets? Yes or no?\n");

        while (1) {

        gets_s(pet);

        if (strcmp("yes", pet) == 0)
        {
        printf("\n-Really! I have two hard-drives as a pet.\n");
        break;
        }
        else
        if (strcmp("no", pet) == 0)
        {
        printf("\n-How sad!\n");
        break;
        }
        else
        printf("-Yes or no?\n");

        }


      • koodari
        c=3 kirjoitti:

        printf("\n-Do you have any pets? Yes or no?\n");

        while (1) {

        gets_s(pet);

        if (strcmp("yes", pet) == 0)
        {
        printf("\n-Really! I have two hard-drives as a pet.\n");
        break;
        }
        else
        if (strcmp("no", pet) == 0)
        {
        printf("\n-How sad!\n");
        break;
        }
        else
        printf("-Yes or no?\n");

        }

        Nyt ohjelma toimii niinkuin pitäisi!

        Uusin versio löytyy:
        http://www.freewebs.com/lahha


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Sanna Marin teki sen, mihin muut eivät pystyneet - sote kerralla maaliin

      Yli 15 vuotta Suomessa vatvottu sote-uudistus meni lopulta läpi Sanna Marinin hallituksen aikana. Edeltävät hallitukset
      Maailman menoa
      163
      10988
    2. Marinin hallitus hyväksyi soten (105-77) vuonna 2021

      vastaan äänesti Kok, persut, KD, Liike Nyt. Nyt on sitten käynyt niin kuin on käynyt. Pääkirjoitus: Sanna Marin jätti
      Maailman menoa
      114
      6242
    3. Kannattaako suomalaisen duunarin enää äänestää vasemmistopuolueita

      sillä eivät ne tunnu kovasti ajavan suomi-duunarin etuja. Jos katsotaan Vasemmistoliittoa, niin sehän on ihan feministi
      Maailman menoa
      170
      5587
    4. Jaaha, sitä on vasemmistoryhmä käynyt häiriköimässä Purran kodin vieressä

      On näköjään iso lakana levitetty puiden väliin, jossa lukee mm. "Haista vi*** Riikka Purra". Tunkekaa leikkaukset pers..
      Maailman menoa
      86
      5501
    5. Professori: Maahanmuuttajien rikollisuutta hyssytellään - hävytöntä

      Kriminologi Jukka Savolaisen mukaan ikä ja vaikeat olosuhteet eivät riitä selitykseksi. – Tutkitun tiedon valossa sanoi
      Maailman menoa
      172
      4462
    6. Enää viisi yötä Sannan kirjaan

      Ihan täpinöissään tässä odotellaan. Vaikea pysytellä aloillaan, kun koko ajan tekisi mieli jo kirjakauppaan rynnätä, mut
      Maailman menoa
      77
      4375
    7. Mistä kummasta voi johtua se, että vasemmistolaiset usein häpeää itseään

      voiko se johtua esim. köyhyydestä? Ja tästä on siis ihan suomalainen tutkimus olemassa. "Suomalainen tutkimus osoittaa
      Maailman menoa
      48
      3979
    8. Sanna-kulttilaiset hehkuttaa edelleen Marinia, vaikka esim. Sote oli susi jo syntyessään

      mutta kulttilaiset eivät ole järjen jättiläisiä, ja sanoihin Lasse Lehtinenkin, että Suomessa on pohjoismaiden tyhmimmät
      Maailman menoa
      55
      3856
    9. Marin teki sen mihin muut eivät pystyneet, vei susi-Soten maaliin

      ja sitten hävittyjen vaalien jälkeen lähtikin vastuuta pakoon...... "Professori: sote-uudistus on täysi susi. Sosiaali
      Maailman menoa
      17
      3504
    10. IL - 100 000 potentiaalista sotilasta pakeni Ukrainasta!

      "Ukrainasta nuorten miesten joukkopako Liki 100 000 asevelvollisuusikäistä miestä on poistunut Ukrainasta parin viime k
      Maailman menoa
      85
      3110
    Aihe