Sanokaas mikä tässä koodissa mättää?
#include <stdio.h> int main(void); void kissa(void); void koira(void); void lehma(void); { int kissa; int koira; int lehma; printf("1:kissa\n2:koira\n3:lehmä\n"); printf("Lopetus negatiivisella luvulla.\n"); printf("Valitse eläin:"); scanf("%d", &valinta); if(valinta < 0) { printf("Ohjelma lopetetaan..."); } else if(valinta == 1) { kissa(); } else if(valinta == 2) { koira(); } else if(valinta == 3) { lehma(); } else { printf("Antamasi luku ei kelpaa.\n\n"); } while(valinta>0); }
Mod. Edit: Kooditagit
Puuttuiko siitä do {
Lueppa keskustelun ohjeet. Lisäsin tuohon nuo kooditagit. Ei kannata vain antaa koodia, ja kysyä, mikä on ongelmana, varsinkaan kun et edes kerro, mitä koodin pitäisi tehdä. Mutta syntaksissa on ainakin se ongelma, että mainin ja sen aloittavan { merkin välissä on muuta koodia. Ja funktion aloituksen perään ei tule ; merkkiä. Tuon pitäisi olla:
... void kissa(void); void koira(void); void lehma(void); int main(void) { int kissa; int koira; int lehma; ...
Vai yrititkö määritellä main-funktion ennen sen varsinaista koodia? En ole varma, onnistuuko sellainen.
Edit: En sitten lisää noita kooditageja enää. Lue keskustelun ohjeet, ja opettele itse käyttämään niitä.
Sori mä unohdin taas ne tagit. Ehkä seuraavalla kerralla. Niin tuon pitäisi siis pyytää käyttäjän valitsemaan jonkin eläimen ja se sitten tulostaa sen mitä kunkin kohdalla lukee... Pitäisi täydentää puuttuvilla funktioilla tuo koodi. Mitä ihmettä siis pitäisi tehdä?
Teitkö jo tuon näyttämäni muutoksen? Sen lisäksi en näin äkkiä näe tuossa koodissa mitään muuta vikaa kuin että valinta-muuttujaa ei ole määritelty, eikä myöskään noita aliohjelmia. Pitäähän ne aliohjelmat määritellä, ennen kuin niitä voi kutsua. :)
Mutta jos funktiot ovat ennen pääfunktiota, niitä ei tarvitse määritellä.
Niin tai no funktion määrittelyllä tarkoitan siis:
int esimfunktio(void) { return 0; }
Pitäähän ne olla. Ei kai pelkkä alkuesittely riitä?
Missähän koulussa nämäkin ihmiset kurssinsa tekevät? Tuo näyttää niin pelottavan tutulta:
https://www.ohjelmointiputka.net/keskustelu/6818-uusi-ongelma-funktiot
Ja mitä ihmettä nuo muuttujat (int kissa, int koira, int lehma) ovat, kun ei niitä edes käytetä?
Tehkää tehtävänne, älkää teettäkö...
Tommoset koodin ohjeet löytää yleensä hyvän trainerin 50 ensimmäiseltä sivulta. (tod. nopeamminki)
No niin. Takaisin sorvin ääreen. Kyllä apua saa pyytää, eikö?
Luitkos muuten tota toista ketjua... Ne onnistuivat tossa.
(ja tämän ktjun voipi varmaan lopettaa)
Aihe on jo aika vanha, joten et voi enää vastata siihen.