Pereiti prie turinio

C kalba - kalkuliatorius


Rekomenduojami pranešimai

Sveiki, iskilo problema, nesugalvoju kaip padaryt kad toliau skaiciuotu ir kad rez butu priskiariamas x, o y reiketu ivest per naujo. Mokytoja sake daryt su while ciklu, bet neisivaizduoju ka reiketu whilint.Help

 

P.S. Dar gerai butu kaip nors sutvarkyt kad ismestu iskart error message kai pasirenki neteisinga skaiciu, o ne tik poto kai papraso ivesti 2 skaicius.

 

Kodas:

#include <stdio.h>
#include <stdlib.h>

float addition(float x,float y){
return x+y;
}

float substraction(float x, float y){
return x-y;
}

float multiplication(float x, float y){
return x*y;
}

float division(float x, float y){
return x/y;
}

void main()
{
float x,y,rez;
char num;

printf("<<This is a simple calculator>>\nWhat kind of calculation you would like to do?\n\t1)Addition\n\t2)Substraction\n\t3)Multiplication\n\t4)Division\n\nEnter number 1 to 4, to make calculation.\n");
scanf("%c", &num);

printf("Enter the first number:\n");
scanf("%f", &x);
printf("Enter the second number:\n");
scanf("%f", &y);


if (num == '1'){
rez=addition(x, y);
}
else if (num == '2'){
rez=substraction(x, y);
}
else if (num == '3'){
rez=multiplication(x, y);
}
else if (num == '4'){
rez=division(x, y);
}
else {
printf("You chose the wrong number! Try another one.");
}

printf("The result is: %0.2f\n\n", rez);


}

Redagavo shtak
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiek supratau reikia kažko panašaus. Išsibandyk. Stengiaiusi išsaugot kuo daugiau tavo kodo. Pridėjau do while cikliuką (pilnai galėjom ir su paprastu while apsieit, bet su naujais dalykais yra naudinga susipažint). Jei kas veiktų ne taip kaip tu nori ar nesuprasi ko nors rašyk.

#include <stdio.h>

float addition(float x,float y);
float substraction(float x, float y);
float multiplication(float x, float y);
float division(float x, float y);

int main()
{
float x,y,rez;
char num,con;

bool ivesta = false;

printf("<<This is a simple calculator>>\n");
while(true){
   bool bad = false;
do{ // Naudosim do while tai uztikrina kad ciklas bus padarytas bent viena karta, nes salyga tikrinama ivykdzius koda, o ne pries ji vykdant

   if(bad)
       printf("You chose the wrong number! Try another one.\n\n\n");
   else
       printf("What kind of calculation you would like to do?\n\t1)Addition\n\t2)Substraction\n\t3)Multiplication\n\t4)Division\n\nEnter number 1 to 4, to make calculation.\n");


fflush(stdin); // Ant galo lieka \n simbolis, tad geriau jo nenuskaityti kaip char'o

scanf("%c", &num);
fflush(stdin);



bad = true;


}while(!(num >= '1' && num <= '4'));

if(!ivesta){
printf("Enter the first number:\n");
scanf("%f", &x);
ivesta = true;
}
printf("Enter the second number:\n");
scanf("%f", &y);


if (num == '1'){
rez=addition(x, y);
}
else if (num == '2'){
rez=substraction(x, y);
}
else if (num == '3'){
rez=multiplication(x, y);
}
else if (num == '4'){
rez=division(x, y);
}

printf("The result is: %0.2f\n\n", rez);
x = rez;
}
}

float addition(float x,float y){
return x+y;
}

float substraction(float x, float y){
return x-y;
}

float multiplication(float x, float y){
return x*y;
}

float division(float x, float y){
return x/y;
}

 

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...