apua ohjelman viimeistelyyn

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!
10261
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

Onko kielenä puhdas C?

Äänestä

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

Äänestä

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.

Äänestä

try...catch

Äänestä
  • Ei ole C:tä.

    Äänestä

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 ;
}

Äänestä
  • 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.

    Äänestä

  • 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.

    Äänestä

  • 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.

    Äänestä

  • jjjjjjjjjjjjjjjjj kirjoitti:

    "Ojentaisit opettajaa. :)"

    Näin on, turpaan vaan ja onnea.

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

    Äänestä

Kommentoi aloitusta


koulutyö kirjoitti:

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!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu