Voisiko joku kertoa mitä alla olevassa koodissa on vikana kun ei millään suostu Viope C kurssin eräs ohjelma toimimaan. Viope C tarkistaa ohjelman toimivuuden ja antaa oikean tuloksen esimerkki luvulla 4, jonka neliö on 16. Mutta silti valittaa , että ohjelmassa on virhe.
Tehtävänanto oli: Tee ohjelma, joka pyytää käyttäjältä yhden kokonaisluvun, laskee saadun luvun neliön ja tulostaa tuloksen näytölle (tulosta myös rivinvaihtomerkki \n tuloksen jälkeen). Tulostuksen jälkeen ohjelma sulkee itsensä.
Olen tehnyt tälläisen koodin:
#include
int main()
{
int luku,nelio;
printf("Anna kokonaisluku : ");
scanf("%i",&luku);
nelio = luku*luku;
printf("Antamasi luvun neliö on: %i\n",nelio);
}
Tehtävänanto oli: Tee ohjelma, joka pyytää käyttäjältä yhden kokonaisluvun, laskee saadun luvun neliön ja tulostaa tuloksen näytölle (tulosta myös rivinvaihtomerkki \n tuloksen jälkeen). Tulostuksen jälkeen ohjelma sulkee itsensä.
Olen tehnyt tälläisen koodin:
#include
int main()
{
int luku,nelio;
printf("Anna kokonaisluku : ");
scanf("%i",&luku);
nelio = luku*luku;
printf("Antamasi luvun neliö on: %i\n",nelio);
}
Vastaukset 3
Vanhimmat
No ainakin voisit lisäillä sen "return 0;":n sinne loppuun. Viope on tarkka jokaisesta merkistä. Pitäisikö esim. seuraavassa olla yksi väli vähemmän ja/tai rivinvaihto lisää:
printf("Anna kokonaisluku:\n");
Minulla oli vahingossa kaksoispiste ennen neliön korottamisen tulosta :D eikä pitänyt olla. Kiitoksia avusta.
Jos käytät ohjelman main-funktion edessä tyyppimääritettä int sinun tulee laittaa mainin lohkon loppuun return 0; . Jos et halua lisätä tuota return 0;aa niin laita tyyppimääritteeksi void.