opettelen ohjelmointi kieltä ja pitäisi luoda c kielellä oleva ohjelma. En paljoakaan tajua näistä joten voisitteko kertoa mikä tässä on vikana?
tehtävä: Ohjelma, joka kysyy sukupuolen ja tämän jälkeen iän. Lopuksi ohjelma tulostaa näytölle lausahduksen seuraavan mukaisesti: Mies 0-55 v. "Olet mies parhaassa iässä", Mies 55-100 v. "Olet viisas mies" jne. Ikä käsitellään kokonaisluku muuttujana ja sukupuoli merkki muuttujana. (if lauseita käyttäen)
ohjelma:
#include
#include
int main ()
{
char sukupuoli;
printf ("Oletko mies vai nainen? (m/n):");
sukupuoli = getchar ();
if ((sukupuoli == 'm') || (sukupuoli == 'M'))
printf ("Olet mies");
else if ((sukupuoli == 'n') || (sukupuoli == 'N'))
printf ("Olet nainen");
int ika;
printf ("Anna ikäsi:");
ika = getchar ()
if ((sukupuoli == 'm') || (ika == 55''))
printf ("Olet viisas mies!");
if ((sukupuoli == 'n') || (ika == 55''))
printf ("Näytät nuorelta ikäiseksesi!");
else
printf ("Ohjelmassa on tapahtunut virje!");
system ("pause");
return 0;
}
tehtävä: Ohjelma, joka kysyy sukupuolen ja tämän jälkeen iän. Lopuksi ohjelma tulostaa näytölle lausahduksen seuraavan mukaisesti: Mies 0-55 v. "Olet mies parhaassa iässä", Mies 55-100 v. "Olet viisas mies" jne. Ikä käsitellään kokonaisluku muuttujana ja sukupuoli merkki muuttujana. (if lauseita käyttäen)
ohjelma:
#include
#include
int main ()
{
char sukupuoli;
printf ("Oletko mies vai nainen? (m/n):");
sukupuoli = getchar ();
if ((sukupuoli == 'm') || (sukupuoli == 'M'))
printf ("Olet mies");
else if ((sukupuoli == 'n') || (sukupuoli == 'N'))
printf ("Olet nainen");
int ika;
printf ("Anna ikäsi:");
ika = getchar ()
if ((sukupuoli == 'm') || (ika == 55''))
printf ("Olet viisas mies!");
if ((sukupuoli == 'n') || (ika == 55''))
printf ("Näytät nuorelta ikäiseksesi!");
else
printf ("Ohjelmassa on tapahtunut virje!");
system ("pause");
return 0;
}
Vastaukset 7
Vanhimmat
päi helevettiä tuo o tehty
vähäsen neovoa.
http://dev.mureakuha.com/keskustelut/3?6352p2
Tässä tämmöinen tekele ilman if lauseita (piru kun en lukenut tehtävänantoa huolella;)
Enivei, syötteetkin vois lukea paremmin mut eihän kaikkea jaksa..
int main(int argc, char* argv[])
{
char *foo[] = { "Olet neito kauneimmillaan!", "Näytät nuorelta ikäiseksesi!",
"Olet mies parhaassa iässä!", "Olet viisas mies!"};
int ika;
char sukupuoli;
printf("Ootko [m]ies vai [n]ainen?");
scanf("%c", &sukupuoli);
printf("Annapa ikäsi");
scanf("%d", &ika);
printf("%s\n", foo[2 * (sukupuoli=='m' || sukupuoli=='M') + (ika >= 55)]);
return 0;
}
1. käytä if lauseiden ymäpärillä AINA kaarisulkuja
ei näin
if ((sukupuoli == 'm') || (sukupuoli == 'M'))
printf ("Olet mies");
vaan näin
if ((sukupuoli == 'm') || (sukupuoli == 'M'))
{
printf ("Olet mies");
}
vältyt monelta ongelmalta.
2. Ikää ei lueta getchar() metodilla. haluat lukea luvun et yhtä merkkiä. scanf("%d",&ika);
3. Sekoilua if lauseiden kanssa:
if ((sukupuoli == 'm') || (ika == = ja
" (itseasiassa ei tule mielleen yhtään kurssia jossa olisi opeteltu debuggausta)."
vaikken nyt hirveesti niitä kursseja jaksanutkaan ;D
mielestäni ihan alkajille olisi hyvä opettaa ensimmäisenä debuggausta!!
siinä oppisivat huomaamaan paljon helpommin omia virheitään kuin pelkkää koodia tuijottamalla ja "byhyy eitäävaantoimi" kommentilla.
Älä herran jumala käytä noita printf, scanf ym. paskoja!!
Ne on jotain kälystä C ohjelmointi ajan juttuja ennen olio ohjelmointia.
Ja jos opettajasi niitä tyrkyttää niin sano, että voisi opettaa oikein ja nykyaikaista ohjelmointia = ohjelmointia olioilla.