Untitled
unknown
actionscript
3 years ago
2.9 kB
5
Indexable
#include <stdio.h> #include <stdlib.h> typedef struct { unsigned int taeller; unsigned int naevner; }fraction; unsigned int gcd(unsigned int large, unsigned int small); fraction forkort(fraction broek, unsigned int tal); int forkort_udregning (fraction broek); int udskriv(fraction broek); int multiply(fraction broek); fraction skriv_broek(fraction broek2); int multiply2(fraction broek); int add(fraction broek); int main(void) { fraction broek; int udregning; printf("skriv en broeker ind: "); scanf("%u/%u", &broek.taeller, &broek.naevner); printf("Hvilken udregning vil du lave?\n" "1: Forkort\n" "2: Udskriv\n" "3: Multiplicer\n" "4: Multiplicer med to broeker\n" "5: Adderer to broeker\n"); scanf("%d", &udregning); switch (udregning){ case 1: forkort_udregning(broek); break; case 2: udskriv(broek); break; case 3: multiply(broek); break; case 4: multiply2(broek); break; case 5: add(broek); break; } return 0; } unsigned int gcd(unsigned int large, unsigned int small){ unsigned int remainder; while (small > 0){ remainder = large % small; large = small; small = remainder; } return large; } fraction forkort(fraction broek, unsigned int tal){ broek.taeller = broek.taeller / tal; broek.naevner = broek.naevner / tal; return broek; } int forkort_udregning (fraction broek){ unsigned int tal; tal = gcd(broek.taeller, broek.naevner); broek = forkort(broek, tal); udskriv(broek); return 0; } int udskriv(fraction broek){ printf("%u/%u", broek.taeller, broek.naevner); return 0; } int multiply(fraction broek){ int t; unsigned int tal; printf("skriv et heltal ind: "); scanf("%d", &t); broek.taeller = (broek.taeller * t); forkort_udregning(broek); return 0; } fraction skriv_broek(fraction broek2){ printf("skriv endnu en broeker ind: "); scanf("%u/%u", &broek2.taeller, &broek2.naevner); return broek2; } int multiply2(fraction broek){ fraction broek2; broek2 = skriv_broek(broek2); broek.taeller = broek.taeller * broek2.taeller; broek.naevner = broek.naevner * broek2.naevner; forkort_udregning(broek); return 0; } int add(fraction broek){ fraction broek2; broek2 = skriv_broek(broek2); broek.taeller = (broek.taeller * broek2.naevner) + (broek2.taeller * broek.naevner); broek.naevner = broek.naevner * broek2.naevner; forkort_udregning(broek); return 0; } //den sidste er forkert :(
Editor is loading...