Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
C++ kalkulacka, problem s mocninou a odm

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok NapísalOffline : 08.11.2007 16:49

spravil som kalkulacku na ktorej ide +-*/ a vypocita zvysok... ale chcem spravit mocninu a odmocninu. mocnina je hotova a funguje 2na2, ale ked dam 5na2 vyhodi blbost... odmocninu som ani nespravil lebo neviem ako spravit "polte" krokovanie kedze odm z 5 je vlastne 5na1/2 ... inak to delenie si nevsimajte, to som tak divne spravil naschval :)

Kód:
#include <stdio.h>
int main()
{int a,c,d,i,y,e;
char b;
printf("Toto je Kamahlov sofistikovany kalkulator.\nMatematicke operacie su +(scitanie, -(docitanie), *(nasobenie), /(delenie), m(Xta mocnina), o(Yta odmocnina), zadaj pocet matematickych operacii: ");
scanf("%d", &d);

            for (i=0; i<d; i++) {
                printf("zadajte priklad: ");
                scanf("%d %c %d", &a,&b,&c);
                e=c;
                          switch(b) {
                                    case '+' : printf("%d \n", a+c); break;
                                    case '-' : if(c>a) printf("- %d \n", c-a); else if(a>c) printf("%d \n", a-c);break;
                                    case '*' : printf("%d \n", a*c); break;
                                    case '/' : printf("%d \n", a/c); if((a%c)!=0) printf(", zvysok je %d \n", a%c); break;
                                    case 'na 2' : printf("%d \n", a+c); break;
                                    case 'm' : for (y=1; y!=e; y++) {c=c*c;} printf("%d \n", c); break;
                                    default : printf("Zla matematicka operacia \n"); break;
                                    }
                                    }
getchar();
getchar();
return 0;
}







_________________
Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro
Offline

Čestný člen
Čestný člen
C++ kalkulacka, problem s mocninou a odm

Registrovaný: 09.05.05
Prihlásený: 07.12.16
Príspevky: 1294
Témy: 69
Bydlisko: - - -
Príspevok NapísalOffline : 08.11.2007 18:33

Tak som to upravil, vysledky sedia s normalnou Casiou kalkulackou, takze malo by to fungovat bez problemov :) enjoy

Vysledok píše:
Toto je Kamahlov sofistikovany kalkulator.
Matematicke operacie:

+(scitanie,
-(docitanie),
*(nasobenie),
/(delenie),
m(Xta mocnina),
o(Yta odmocnina),

zadaj pocet matematickych operacii: 7
zadajte priklad: 2+2
4
zadajte priklad: 5-4
1
zadajte priklad: 5*5
25
zadajte priklad: 90/10
9
zadajte priklad: 5m2
25
zadajte priklad: 81o2
9.000000
zadajte priklad: 512o3
8.000000


Kód:
// kalkulacka.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int main()
{
   int a = 0;
   int c = 0;
   int i,d;
   double vysledok, cislo, medzicislo;
   char b;

   printf("Toto je Kamahlov sofistikovany kalkulator.\nMatematicke operacie:\n \n+(scitanie, \n-(docitanie), \n*(nasobenie), \n/(delenie), \nm(Xta mocnina), \no(Yta odmocnina), \n \nzadaj pocet matematickych operacii: ");
   scanf_s("%d", &d);

            for (i=0; i<d; i++)
         {
                printf("zadajte priklad: ");
                scanf("%d", &a);
             scanf("%c ", &b);
            scanf("%d", &c);

                switch(b)
            {
               case '+' : printf("%d \n", a+c); break;
                    case '-' : if(c>a) printf("- %d \n", c-a); else if(a>c) printf("%d \n", a-c);break;
                    case '*' : printf("%d \n", a*c); break;
                    case '/' : printf("%d \n", a/c); if((a%c)!=0) printf(", zvysok je %d \n", a%c); break;
                    case 'm' :    //  Mocnina, pouzita funkcia pow z math.h, pow(a,b) -> a na b..pow(5,2) = 25
                  vysledok = pow((double)a, (double)c);
                  printf("%d \n", (int)vysledok);                   
                  break;
                    case 'o' :  // odmocnina
                  vysledok = 0;
                  medzicislo = (double)a;
                  if (c == 2)   // pokial robime druhu odmocninu pouzijeme funkciu sqrt z math.h , sqrt(25) = 5, vyzaduje double/float/long
                     vysledok = sqrt(medzicislo);
                  else   // pokial robime napr tretiu, stvrtu atd odmocninu..
                  {
                     vysledok = pow((double)a, (double)1/c);    // robime mocninu na 1/c
                  }
                  printf("%lf \n", vysledok);   // pri pretypovani na INT vychadza vzdy nizsie cislo, neviem preco, tak som to nechal na double, pripadne si usekni tie nuly..
         
                  break;
                    default : printf("Zla matematicka operacia \n"); break;
                  
                }
             }
         scanf("%d", &a);

   return 0;
}


Ak by sa ti to tu rozhadzalo, tak si ten kod mozes stiahnut na http://jj.bananatel.sk/kalkulacka.cpp , su tam dlhsie komentare...


Offline

Užívateľ
Užívateľ
C++ kalkulacka, problem s mocninou a odm

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 08.11.2007 18:37

ale to je uplne nove :D mohol by si mi to spravit len cez kniznicu sthio.h a upravit ten moj?







_________________
Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro
Offline

Čestný člen
Čestný člen
C++ kalkulacka, problem s mocninou a odm

Registrovaný: 09.05.05
Prihlásený: 07.12.16
Príspevky: 1294
Témy: 69
Bydlisko: - - -
Príspevok NapísalOffline : 08.11.2007 18:56

No to radsej necham niekomu inemu, osobne totizto nevidim logiku vypisovat nejake funkcie, ktore uz existuju v math.h a daju sa velmi lahko pouzit, moc krkolomne, pretiahne to kod...a su tam iba 3 "nove" veci.

1.) sqrt()
2.) pow();
3.) pretypovanie.

A ani jedno nie je tazke na pochopenie, takze ak to nemas ako priklad do skoly kde je zakazane pouzit nieco ine okrem stdio.h , tak by som sa na to radsej dobre pozrel a snazil sa pochopit co sa v tom kode odohrava :)

v skratke: mam ten janofov bug, lenivost, nechce sa mi to robit komplikovanejsie ako to musi byt :)


Offline

Užívateľ
Užívateľ
C++ kalkulacka, problem s mocninou a odm

Registrovaný: 05.10.06
Prihlásený: 15.10.18
Príspevky: 1891
Témy: 148
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 08.11.2007 20:14

johny128 píše:
No to radsej necham niekomu inemu, osobne totizto nevidim logiku vypisovat nejake funkcie, ktore uz existuju v math.h a daju sa velmi lahko pouzit, moc krkolomne, pretiahne to kod...a su tam iba 3 "nove" veci.

1.) sqrt()
2.) pow();
3.) pretypovanie.

A ani jedno nie je tazke na pochopenie, takze ak to nemas ako priklad do skoly kde je zakazane pouzit nieco ine okrem stdio.h , tak by som sa na to radsej dobre pozrel a snazil sa pochopit co sa v tom kode odohrava :)

v skratke: mam ten janofov bug, lenivost, nechce sa mi to robit komplikovanejsie ako to musi byt :)
mne nejde o to urobit kalkulacku ale vyuzit veci ktore som sa ucil... tiez chcem logicky urobit funkciu mocniny a odmocniny :)







_________________
Notebook Dell 7537, 24" BenQ BL2411PT, Logitech Illuminated keyboard, Razer DeathAdder, Razer Goliathus, Koss Porta Pro
Offline

Skúsený užívateľ
Skúsený užívateľ
C++ kalkulacka, problem s mocninou a odm

Registrovaný: 10.07.07
Prihlásený: 02.11.17
Príspevky: 1060
Témy: 0
Bydlisko: Bratislava
Príspevok NapísalOffline : 08.11.2007 21:34

Lubovolna mocnina na n-tu ;) v stdio.h

Ukazka ako na to ...

Kód:
#include <stdio.h>

//priklad 2.15 na 9
// zaokruhlenie na dve desatiny
//(rb)

float Moc = 2.15;
int   Na  = 9;

float mocnina (float x,int n)
{
 float a=1;
 for (float i=1;i<=n;++i)  a=a*x;
 return a;
}

main()
{
printf("%1.2f na %d = %1.2f\n",Moc,Na,mocnina(Moc,Na));
return(0);
}







_________________
Nebo je modre, voda je mokra...
Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. kalkulacka v C++

v Assembler, C, C++, Pascal, Java

12

2056

16.09.2007 16:51

Bacil Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc kalkulacka C++

v Assembler, C, C++, Pascal, Java

2

1987

21.01.2008 17:23

Peto670 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C/C++ problém so súbormi a hodnotami

v Assembler, C, C++, Pascal, Java

2

311

09.12.2012 10:43

nBXXL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem C&C Generals

v Počítačové hry

20

1236

12.10.2007 21:09

Matokoko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C&C: Rengade-problem

v Počítačové hry

0

528

21.04.2009 15:39

GothicMan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C&C Generals problem

v Počítačové hry

2

645

16.01.2011 12:35

Luks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s teplotou? Speedfan Core- 4°C a Core 96°C

v AMD - Advanced Micro Devices

18

1220

08.05.2011 15:57

slavix Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kalkulacka

v JavaScript, VBScript, Ajax

2

723

09.08.2008 18:39

exoomer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kalkulacka

v Ostatné

6

767

10.03.2012 21:36

F3RY Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kalkulačka

v Ostatné

3

499

03.02.2011 22:16

elfman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kalkulačka

v Ostatné programy

0

638

21.02.2009 21:24

bugi512 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kalkulačka

v Ostatné programy

1

493

30.05.2011 23:00

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kalkulacka

v Ostatné

3

364

25.01.2012 14:54

jtbs Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Java Kalkulacka

v Assembler, C, C++, Pascal, Java

1

967

19.04.2010 15:04

Forty- Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi-kalkulačka

v Delphi, Visual Basic

17

1157

02.03.2013 10:18

expoox Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jednoducha kalkulacka

v Assembler, C, C++, Pascal, Java

6

1475

17.01.2012 15:33

vychytraly Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra