1: vähennyslasku
2: yhteenlasku
3: kertolaskuValitse toiminto:2
Anna eka luku:3
Anna toka luku:1
3 1=4
Tältä pitäisi näyttää, mutta viimeisen rivin tulostus ei onnistu. Voisiko joku auttaa, tiedän että se on todella pienestä kiinni..
#include
int main(void)
{
float luku1, luku2;
float miinus, summa, tulo;
char ch;
printf("1: vähennyslasku \n");
printf("2: yhteenlasku \n");
printf("3: kertolasku \n");
printf("Valitse toiminto: ");
ch=getchar();
printf("Anna eka luku: ");
scanf("%f", &luku1);
printf("Anna toka luku: ");
scanf("%f", &luku2);
miinus=luku1-luku2;
summa=luku1 luku2;
tulo=luku1*luku2;
switch (ch)
{
case 1:
printf("%f %f = %f\n",luku1,luku2,(luku1 luku2));
break;
case 2:
printf("%f - %f = %f\n",luku1,luku2,(luku1-luku2));
break;
case 3:
printf("%f * %f = %f\n",luku1,luku2,(luku1*luku2));
}
return 0;
}
Switch-lausella laskeminen
4
653
Vastaukset
- fidel
Pitäiskö sen mennä näin:
switch (ch)
{
case '1':
...
case '2':
...
case '3':
...
}
Käyttäjän syöte '1' on inttinä 49, '2' 50 jne.- Missä Vika?
Juuri näin, nyt toimii!
- maukka79
#include
int main(void)
{
float luku1, luku2;
float miinus, summa, tulo;
char ch;
printf("1: vähennyslasku \n");
printf("2: yhteenlasku \n");
printf("3: kertolasku \n");
printf("Valitse toiminto: ");
ch=getchar();
printf("Anna eka luku:");
scanf("%f", &luku1);
printf("Anna toka luku: ");
scanf("%f", &luku2);
miinus=luku1-luku2;
summa=luku1 luku2;
tulo=luku1*luku2;
switch (ch)
{
case 1:
printf("%f %f=%f",luku1,luku2,(luku1 luku2));
break;
case 2:
printf("%f- %f = %f\n",luku1,luku2,(luku1-luku2));
break;
case 3:
printf("%f * %f = %f\n",luku1,luku2,(luku1*luku2));
}
return 0;
}
ei toimi mikä on vikana - Melkein ratkaistu
Yhteenlaskun olen saanut toimimaan. Vähennyslasku on muuten oikein, mutta luvut yritetään laskea yhteen, vaikka kyseessä on vähennyslasku. Miten sen saa toimimaan? Ongelma näkyy alapuolella.
Testi 2:n suoritusnäkymä
Suoritusaika: < 10 ms
1: vähennyslasku
2: yhteenlasku
3: kertolasku
Valitse toiminto:1
Anna eka luku:45
Anna toka luku:7
45 7=52
Raportti
Apua
Virhe tulostuksessa: ohjelmasi tulosti "45 7=52", vaikka tulostuksen olisi pitänyt olla "45-7=38"
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1261750
- 1051225
Postimerkki kirjeeseen ja kortiin maksaa jo 3 euroa!
https://yle.fi/a/74-20229241 Kyllä tämä on järjetön hinta, Posti tuhoaa itsensä tällä hinnalla, täytyyhän Postin "Herro1381091- 49999
- 130900
Keitä oli kunnanjohtajan erottajat?
Kouluja ei ole varaa ylläpitää mutta johtajasopimukseen palaa 100000 euroa ja uuden johtajan hakuprosessi maksaa kymmeni52897Atte Harjanne usuttaa eläkeläisvihaan
Karmeeta kuultavaa aamun uutislähetyksessä, kun Atte Harjanne, tunnettu eläkeläisvihaaja, suitsii sukupolvien välistä v240868Helsingin Mäntymäki muuttui Kultajuhlan jälkeen kaatopaikaksi.
Mitä se kertoo jääkiokosta ja lätkäfaneista? Saikkua huomenna huusi fani yöllä?73757Mä oon tyytyväinen, että ei ole enää tunteita.
Samalla tajusin, että sun kohdalla tykkäsin enemmän niistä tunteista kuin sinusta persoonana. Halusin väkisin nähdä sinu55739Pridekulkue kiellettävä?
Näin täällä suoraan vaaditaan. Perusteina mitä mielikuvituksellisimmat tarinat. No, miksi ihmeessä kukaan ei ole samalla178739