Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
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 |
|
Registrovaný: 09.05.05 Prihlásený: 07.12.16 Príspevky: 1294 Témy: 69 | 69 Bydlisko: - - - |
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...
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
ale to je uplne nove 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 |
|
Registrovaný: 09.05.05 Prihlásený: 07.12.16 Príspevky: 1294 Témy: 69 | 69 Bydlisko: - - - |
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
|
|
Registrovaný: 05.10.06 Prihlásený: 15.10.18 Príspevky: 1891 Témy: 148 | 148 Bydlisko: Bratislava |
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 |
|
Registrovaný: 10.07.07 Prihlásený: 02.11.17 Príspevky: 1060 Témy: 0 | 0 Bydlisko: Bratislava |
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... |
|
Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 2 | 2021 | 21.01.2008 17:23 Peto670 | | v Assembler, C, C++, Pascal, Java | 12 | 2102 | 16.09.2007 16:51 Bacil | | v Assembler, C, C++, Pascal, Java | 2 | 352 | 09.12.2012 10:43 nBXXL | | v Počítačové hry | 2 | 696 | 16.01.2011 12:35 Luks | | v Počítačové hry | 20 | 1297 | 12.10.2007 21:09 Matokoko | | v Počítačové hry | 0 | 568 | 21.04.2009 15:39 GothicMan | | v AMD - Advanced Micro Devices | 18 | 1280 | 08.05.2011 15:57 slavix | | v Ostatné programy | 0 | 678 | 21.02.2009 21:24 bugi512 | | v Ostatné | 3 | 549 | 03.02.2011 22:16 elfman | | v JavaScript, VBScript, Ajax | 2 | 756 | 09.08.2008 18:39 exoomer | | v Ostatné programy | 1 | 531 | 30.05.2011 23:00 shiro | | v Ostatné | 3 | 408 | 25.01.2012 14:54 jtbs | | v Ostatné | 6 | 856 | 10.03.2012 21:36 F3RY | | v PHP, ASP | 16 | 1724 | 12.08.2008 9:22 javo | | v Delphi, Visual Basic | 17 | 1222 | 02.03.2013 10:18 expoox | | v Assembler, C, C++, Pascal, Java | 6 | 1532 | 17.01.2012 15:33 vychytraly |
|