apua ohjelman viimeistelyyn

koulutyö

Ohjelmani täyttää muuten opettajan vaatimukset, mutta ohjeissa sanottiin vielä, että ohjelma ei saa kaatua sellaiseen, että kokonaisluvun sijaan syöttää esimerkiksi kirjaimen. Miten voin estää tuon?
Nopeita vastauksia kiitos!

10

182

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • sfssdfdsf

      Onko kielenä puhdas C?

    • ytrdytrd

      Lue merkkijonona (esim. fgets) ja muunna sitten numeroksi (esim. sscanf) ja tutki funktion paluuarvo.

    • dfdsfsdfdfs

      C:n standardikirjastoa ei todellakaan ole kehitetty konsoli käyttöliittymien tekemiseen joten on aivan absurdia ja kohtuutonta jos harkkatöiltä vaaditaan kunnon virheiden hallintaa.

      ncurses ja variantit ovat konsoli käyttöliittymiä varten.

    • Tosi helppoo on

      try...catch

      • werewr3r32r23

        Ei ole C:tä.


    • vaikkanoinsitten

      jos pitää noin tehdä niin:

      lisää:

      #include "stdlib.h"

      unsigned char sejoku[256];
      int sejoku2;

      void main(void)
      {
      gets(sejoku);
      sejoku2=atoi(sejoku);
      printf("%d\r\n",sejoku2);
      return ;
      }

      • sdfsfsdfsdfsd

        Gets on itsemurha. Mitä jos käyttäjä syöttää yli 256 merkki?
        Seuraa oitis puskurin ylivuoto.

        Mutta itse asiaan. Kurssin vetäjä ei todennäköisesti tiedä C:stä mitään jos vaatii standardikirjastolla kirjoitettavaksi sellaista mihin sitä ei ole suunniteltu.

        Itse käyttäisin curses kirjastoa tai ojentaisin opettajaa.


      • qweqwewqqqweqw
        sdfsfsdfsdfsd kirjoitti:

        Gets on itsemurha. Mitä jos käyttäjä syöttää yli 256 merkki?
        Seuraa oitis puskurin ylivuoto.

        Mutta itse asiaan. Kurssin vetäjä ei todennäköisesti tiedä C:stä mitään jos vaatii standardikirjastolla kirjoitettavaksi sellaista mihin sitä ei ole suunniteltu.

        Itse käyttäisin curses kirjastoa tai ojentaisin opettajaa.

        Ojentaisit opettajaa. :)

        Esimerkiksi fgets on parempi kuin gets, koska sille voi antaa puskurin koon.


      • jjjjjjjjjjjjjjjjj
        qweqwewqqqweqw kirjoitti:

        Ojentaisit opettajaa. :)

        Esimerkiksi fgets on parempi kuin gets, koska sille voi antaa puskurin koon.

        "Ojentaisit opettajaa. :)"

        Näin on, turpaan vaan ja onnea.


      • sdfsfsdf
        jjjjjjjjjjjjjjjjj kirjoitti:

        "Ojentaisit opettajaa. :)"

        Näin on, turpaan vaan ja onnea.

        Ei kun korjaisin fiksusti kurssin vetäjän huonoja ohjelmointitapoja.


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

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      107
      7793
    2. 113
      6064
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      83
      5197
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      139
      4556
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      11
      3230
    6. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      62
      3024
    7. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      58
      2948
    8. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      10
      2454
    9. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      61
      2437
    10. Hei........

      Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.
      Ikävä
      56
      2066
    Aihe