You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

416 lines
10 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<math.h>
  4. #include<stdlib.h>
  5. #include"funktion.h"
  6. float getValue(char c) {
  7. float value;
  8. printf("%c eingeben: ",c);
  9. scanf("%f", &value);
  10. return value;
  11. }
  12. double marktanteil(double gesamtumsatz,double unternehmensumsatz) {
  13. return unternehmensumsatz / gesamtumsatz * 100.0;
  14. }
  15. double angebotserfolg(double angeboteneMenge,double verkaufteMenge) {
  16. return verkaufteMenge / angeboteneMenge * 100.0;
  17. }
  18. double Anlagenabnutzungsgrad(double anfangsbuchwert,double restbuchwert) {
  19. return (anfangsbuchwert-restbuchwert) / anfangsbuchwert * 100.0;
  20. }
  21. double Anlagenintensitaet(double gesamtkapital, double anlagevermoegen) {
  22. double anlagenintensitaets = anlagevermoegen / gesamtkapital * 100.0;
  23. return anlagevermoegen / gesamtkapital * 100.0;
  24. }
  25. double Anlagenproduktivitaet(double anlagevermoegen, double umsatz) {
  26. double anlagenproduktivitaet = umsatz / anlagevermoegen;
  27. return umsatz / anlagevermoegen;
  28. }
  29. double Arbeitsproduktivitaet(double arbeitszeit, double produktivitaet){
  30. double ergebnis = arbeitszeit * produktivitaet;
  31. return arbeitszeit * produktivitaet;
  32. }
  33. double Kalkulatorische_Zinsen(double kapital, double zinssatz, double zeitraum){
  34. double ergebnis = kapital * zinssatz * zeitraum / 100;
  35. return kapital * zinssatz * zeitraum / 100;
  36. }
  37. double Kritische_Menge(double fixkosten, double variablenkosten,double verkaufspreis){
  38. float ergebnis;
  39. ergebnis = fixkosten / (verkaufspreis - variablenkosten);
  40. return fixkosten / (verkaufspreis - variablenkosten);
  41. }
  42. double Effektivverzinsung(double normalzinssatz,double zahlungsintervall){
  43. float ergebnis;
  44. ergebnis = pow(1 + normalzinssatz / zahlungsintervall, zahlungsintervall) - 1;
  45. return ergebnis;
  46. }
  47. double Cashflow_zu_Gesamtkapital(double netto_kassenfluss, double gesamtkapital){
  48. float ergebnis;
  49. ergebnis = netto_kassenfluss / gesamtkapital;
  50. return ergebnis;
  51. }
  52. double Dynamische_Amortisationszeit(double investition, double jaehrlicher_Cashflow){
  53. float ergebnis;
  54. ergebnis = investition / jaehrlicher_Cashflow;
  55. return ergebnis;
  56. }
  57. double Finanzierungsregeln(double durchschnittliche_verzinsung_vermoegenswerte,double durchschnittliche_kosten_kapitalbeschaffung) {
  58. double regel = durchschnittliche_verzinsung_vermoegenswerte / durchschnittliche_kosten_kapitalbeschaffung;
  59. return regel;
  60. }
  61. double eigenkapital_Rentabilitaeten(double umsatz,double eigenkapital) {
  62. double result = umsatz / eigenkapital;
  63. return result;
  64. }
  65. double gesamtkapital_Rentabilitaeten(double umsatz,double gesamtkapital) {
  66. double gresult = umsatz / gesamtkapital;
  67. return gresult;
  68. }
  69. double Zeitlohn(double lohnsatz,double arbeitszeit) {
  70. double zeitlohn = lohnsatz * arbeitszeit;
  71. return zeitlohn;
  72. }
  73. double Akkortrichtsatz(double stueckkosten,double akkordzuschlag) {
  74. double akkordrichtsatz = stueckkosten * (1 + akkordzuschlag);
  75. return akkordrichtsatz;
  76. }
  77. double Stueckzeitakkort(double stueckkosten,double akkordzuschlag,double arbeitszeit,double menge) {
  78. double stueckzeitakkord = stueckkosten * (1 + akkordzuschlag) * arbeitszeit * menge;
  79. printf("%f",stueckzeitakkord);
  80. return stueckzeitakkord;
  81. }
  82. double erloesfunktion(double p,double q){
  83. double erloesfunktionn = p * q;
  84. return p*q;
  85. }
  86. double grenzGewinn(double p,double q,double tc){
  87. float grenzgewinnn = (p*q) - tc;
  88. return (p*q) - tc;
  89. }
  90. double GewinnMaximum(double p,double q,double tc,double tr){
  91. float erloesfunktion = p * q;
  92. float gewinnmaximumm = erloesfunktion - tc - tr;
  93. return gewinnmaximumm;
  94. }
  95. double trapezFlaeche(double a, double b, double h) {
  96. printf("Flaeche vom Trapez beträgt: %f\n",(a + b) * h / 2);
  97. double result=(a + b) * h / 2;
  98. return result;
  99. }
  100. float Vshift(float x1, float s1) {
  101. float result = x1 + s1;
  102. return result;
  103. }
  104. double Vlength(float x1, float x2, float x3) {
  105. double X1, X2, X3, E;
  106. double result;
  107. X1 = x1 * x1;
  108. X2 = x2 * x2;
  109. X3 = x3 * x3;
  110. E = X1 + X2 + X3;
  111. result = sqrt(E);
  112. return result;
  113. }
  114. float Vadd(float x1, float z1) {
  115. double result = x1 + z1;
  116. return result;
  117. }
  118. float Vaddx2(float x2, float z2){
  119. double result = x2 + z2;
  120. return result;
  121. }
  122. float Vaddx3(float x3, float z3){
  123. double result = x3 + z3;
  124. return result;
  125. }
  126. float Vsubstract(float x1, float z1) {
  127. double result = x1 - z1;
  128. return result;
  129. }
  130. float Vsubstract2(float x2, float z2) {
  131. double result = x2 - z2;
  132. return result;
  133. }
  134. float Vsubstract3(float x3, float z3) {
  135. double result = x3 - z3;
  136. return result;
  137. }
  138. float Vmultiplier(float x1,float m) {
  139. double result = x1 * m;
  140. return result;
  141. }
  142. float Vmultiplier2(float x2,float m) {
  143. double result = x2 * m;
  144. return result;
  145. }
  146. float Vmultiplier3(float x3,float m) {
  147. double result = x3 * m;
  148. return result;
  149. }
  150. double Vparallel(double x1, double x2, double x3, double z1, double z2, double z3) {
  151. double i, j, k;
  152. double X1, X2, X3;
  153. double result;
  154. if (x1 > z1) {
  155. X1 = x1 / z1;
  156. i = X1 * 100;
  157. } else {
  158. X1 = z1 / x1;
  159. i = X1 * 100;
  160. }
  161. if (x2 > z2) {
  162. X2 = x2 / z2;
  163. j = X2 * 100;
  164. } else {
  165. X2 = z2 / x2;
  166. j = X2 * 100;
  167. }
  168. if (x3 > z3) {
  169. X3 = x3 / z3;
  170. k = X3 * 100;
  171. } else {
  172. X3 = z3 / x3;
  173. k = X3 * 100;
  174. }
  175. if (i == j && j == k) {
  176. result = 0;
  177. } else {
  178. result = 1;
  179. }
  180. return result;
  181. }
  182. float Vmiddle(float x1, float z1) {
  183. double result = x1 + z1;
  184. result = result * 0.5;
  185. return result;
  186. }
  187. float Vmiddle2(float x2,float z2) {
  188. double result = x2 + z2;
  189. result = result * 0.5;
  190. return result;
  191. }
  192. float Vmiddle3(float x3, float z3) {
  193. double result = x3 + z3;
  194. result = result * 0.5;
  195. return result;
  196. }
  197. float Vskalort(float x1, float x2, float x3, float z1, float z2, float z3) {
  198. float E;
  199. double result;
  200. E = x1 * z1 + x2 * z2 + x3 * z3;
  201. if (E == 0) {
  202. result = 1;
  203. } else {
  204. result = 0;
  205. }
  206. return result;
  207. }
  208. double Vangle(float x1, float x2, float x3, float z1, float z2, float z3) {
  209. double i = x1 * z1 + x2 * z2 + x3 * z3;
  210. double p = sqrt(x1 * x1 + x2 * x2 + x3 * x3);
  211. double q = sqrt(z1 * z1 + z2 * z2 + z3 * z3);
  212. double s = i / (p * q);
  213. double result = acos(s) * 180 / M_PI;
  214. return 11;
  215. }
  216. float vPunkt(float x1, float x2, float x3, float z1, float z2, float z3, float p1, float p2, float p3) {
  217. double result;
  218. float e1 = (p1 - x1) / z1;
  219. float e2 = (p2 - x2) / z2;
  220. float e3 = (p3 - x3) / z3;
  221. if (e1 == e2 && e2 == e3) {
  222. result = 1;
  223. } else {
  224. result = 0;
  225. }
  226. return result;
  227. }
  228. double probability_from_tree(double successful_outcomes, double total_outcomes, double branches) {
  229. double result;
  230. result = successful_outcomes / (total_outcomes * branches);
  231. return result;
  232. }
  233. int binomial_coefficient(int n, int k) {
  234. int result = 1;
  235. if (k > n - k) {
  236. k = n - k;
  237. }
  238. for (int i = 0; i < k; ++i) {
  239. result = result * (n - i) / (i + 1);
  240. }
  241. return result;
  242. }
  243. int ByOne(int n) {
  244. int orig, count = 0;
  245. orig = n;
  246. while (n > 0) {
  247. n = n >> 1 << 1;
  248. if (orig - n == 1)
  249. count++;
  250. orig = n >> 1;
  251. n = orig;
  252. }
  253. return count;
  254. }
  255. int dezimal_to_bin(int dezimal) {
  256. if (dezimal == 0) {
  257. return 0;
  258. } else {
  259. return (dezimal % 2 + 10 * dezimal_to_bin(dezimal / 2));
  260. }
  261. }
  262. int dezimal_binar_linksverschiebung(int dezimal) {
  263. dezimal = dezimal * 2;
  264. if (dezimal == 0) {
  265. return 0;
  266. } else {
  267. return (dezimal % 2 + 10 * dezimal_to_bin(dezimal / 2));
  268. }
  269. }
  270. int dezimal_binar_rechtsverschiebung(int dezimal) {
  271. dezimal = dezimal / 2;
  272. if (dezimal == 0) {
  273. return 0;
  274. }
  275. else {
  276. return (dezimal % 2 + 10 * dezimal_to_bin(dezimal / 2));
  277. }
  278. }
  279. int boolesche_und(int eingabe1, int eingabe2) {
  280. return (eingabe1 && eingabe2);
  281. }
  282. int boolesche_oder(int eingabe1, int eingabe2) {
  283. return(eingabe1 || eingabe2);
  284. }
  285. int boolesche_nicht(int eingabe1) {
  286. return !eingabe1;
  287. }
  288. double prozentwert(double ein, double prozent) {
  289. return (ein / 100) * prozent;
  290. }
  291. double prozentsatz(double ein, double prozent) {
  292. return (prozent / ein);
  293. }
  294. double grundwert(double ein, double prozent) {
  295. return (ein / prozent) * 100;
  296. }
  297. double kreisFlaeche(double r) {
  298. return M_PI * pow(r, 2);
  299. }
  300. double kreisUmfang(double r) {
  301. return 2 * M_PI * r;
  302. }
  303. double dreieckFlaeche(double a, double b, double c) {
  304. double s = (a + b + c) / 2;
  305. return sqrt(s * (s - a) * (s - b) * (s - c));
  306. }
  307. double dreieckUmfangn(double a, double b, double c) {
  308. return a + b + c;
  309. }
  310. double viereckFlaeche(double a, double b) {
  311. return a * b;
  312. }
  313. double viereckUmfang(double a, double b){
  314. return (2 * a) + (2 * b);
  315. }
  316. double trapezUmfang(double a, double b, double h) {
  317. return (2 * h) + a + b;
  318. }
  319. double multiplikation_2Zahlen(double Zahl1,double Zahl2)
  320. {
  321. return Zahl1*Zahl2;
  322. }
  323. double multiplikation_3Zahlen(double Zahl1,double Zahl2,double Zahl3)
  324. {
  325. return Zahl1*Zahl2*Zahl3;
  326. }
  327. double normaleDivision(double dZahl1, double dZahl2)
  328. {
  329. if(dZahl2==0)
  330. {
  331. return 0;
  332. }
  333. return dZahl1/dZahl2;
  334. }
  335. double Division_drei_Zahlen(double dZahl1, double dZahl2,double dZahl3)
  336. {
  337. if (dZahl2== 0||dZahl3==0)
  338. {
  339. return 0;
  340. }
  341. return dZahl1/dZahl2/dZahl3;
  342. }
  343. double substraction_2Zahlen(double sZahl1,double sZahl2)
  344. {
  345. return sZahl1-sZahl2;
  346. }
  347. double substraction_3Zahlen(double sZahl1,double sZahl2,double sZahl3)
  348. {
  349. return sZahl1-sZahl2-sZahl3;
  350. }
  351. double velocity(double v0, double a, double t)
  352. {
  353. return v0 + a * t;
  354. }
  355. double position(double x0, double v0, double a, double t)
  356. {
  357. return x0 + v0 * t + 0.5 * a * t * t;
  358. }
  359. double force(double m, double a)
  360. {
  361. return m * a;
  362. }
  363. double work(double a, double d,double m)
  364. {
  365. return (m * a) * d;
  366. }
  367. double power(double a, double m, double d, double t)
  368. {
  369. return ((m * a) * d) / t;
  370. }
  371. double SchwereDruck(double pfi,double g, double h)
  372. {
  373. return pfi * g * h;
  374. }
  375. double Dichte_der_Fluessigkeit(double ps,double g,double h)
  376. {
  377. return ps / (g * h);
  378. }
  379. double Eintauchtiefe(double ps, double pfi, double g)
  380. {
  381. return ps/(pfi*g);
  382. }
  383. double Ortsfaktor(double ps,double pfi,double h)
  384. {
  385. return ps / (pfi * h);
  386. }
  387. double Druck(double F, double A)
  388. {
  389. double p;
  390. p = F / A;
  391. printf("Druck (p) = %.2lf\n", p);
  392. return p;
  393. }