Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.30 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. /* Funktionsdeklarationer */
  5. void print_menu(double exchange_rate);
  6. int read_number(void);
  7. float f_read_number(void);
  8. float add_prices(void);
  9. float give_price(void);
  10. float print_sum(void);
  11.  
  12. int main(void){
  13.   int local_exchange_rate = 1;
  14.   double exchange_rate = 1;
  15.   int choice;
  16.   double foreign_price;
  17.  
  18.   printf("\nYour shopping assistant\n");
  19.  
  20.   /* 1. Så länge användaren inte valt att avsluta programmet,
  21.         upprepa följande: */
  22.   do {
  23.     /* 1.1 Skriv ut menyn */
  24.     print_menu(exchange_rate);
  25.  
  26.     /* 1.2 Läs in val */
  27.     choice = read_number();
  28.  
  29.     /* 1.3 Om valet är att sätta valutakurs */
  30.     if(choice == 1){
  31.       /* 1.3.1 Efterfråga valutakurs */
  32.       printf("\nGive exchange rate: ");
  33.       /* 1.3.2 Sätt valutakurs */
  34.       exchange_rate = f_read_number();
  35.     }
  36.  
  37.     /* 1.4 Om valet är att konvertera priser */
  38.     else if(choice == 2){
  39.       int *sum;
  40.       /* 1.4.1 Summera priser så länge användaren ej avbryter */
  41.         /* 1.4.1.1 Efterfråga pris (eller klar med inmatning) */
  42.         /* 1.4.1.2 Uppdatera summan (om det är ett giltigt pris) */
  43.       /* 1.4.2 Skriv ut summan i lokal valuta och i svenska kronor */
  44.     }
  45.  
  46.     /* 1.5 Om valet är ogiltigt */
  47.     else if(choice != 3){
  48.       /* 1.5.1 Skriv ut att det var ett ogiltigt val */
  49.       printf("\nNot a valid choice!\n");
  50.     }
  51.   } while(choice != 3);
  52.  
  53.   /* 2 Avsluta programmet */
  54.   printf("\nEnd of program!\n");
  55.  
  56.   return 0;
  57. }
  58.  
  59. /* Funktionsdefinitioner */
  60.  
  61. /* Funktion:    print_menu
  62.  * Beskrivning: Skriver ut menyn.
  63.  * Input:       Växlingskursen.
  64.  * Output:      Returnerar inget. Skriver ut menyn.
  65.  */
  66.  
  67. void print_menu(double exchange_rate){
  68.   printf("\n1. Set exchange rate in SEK ");
  69.   printf("(current rate: %.2f)\n", exchange_rate);
  70.   printf("2. Convert prices from the foreign currency\n");
  71.   printf("3. End\n\n");
  72. }
  73.  
  74. /* Funktion:    read_number
  75.  * Beskrivning: Läser in ett heltal som returneras
  76.  * Input:       Inget.
  77.  * Output:      Returnerar det inlästa talet.
  78.  */
  79.  
  80. int read_number(void){
  81.    int number;
  82.  
  83.    printf("Give your choice (1 - 3): ");
  84.    scanf("%d", &number);
  85.  
  86.    return number;
  87. }
  88.  
  89. /* Funktion:    f_read_number
  90.  * Beskrivning: Läser in ett decimaltal som returneras
  91.  * Input:       Inget.
  92.  * Output:      Returnerar det inlästa talet.
  93.  */
  94.  
  95. float f_read_number(void){
  96.    double f_number;
  97.  
  98.    scanf("%lf", &f_number);
  99.  
  100.    return f_number;
  101. }
  102.  
  103. /* Funktion:    add_prices
  104.  * Beskrivning: Adderar angivna priser tills användaren vill avsluta
  105.  * Input:       Inget.
  106.  * Output:      Inget.
  107.  */
  108.  
  109. float add_prices(void){
  110.   do {
  111.     give_price();
  112.  
  113.     if(give_price() >= 0){
  114.       &sum += give_price();
  115.     }
  116.   } while (give_price() >= 0);
  117.  
  118.  
  119. }
  120.  
  121. /* Funktion:    give_price
  122.  * Beskrivning: Läser in angivet pris
  123.  * Input:       Inget.
  124.  * Output:      Returnerar priset.
  125.  */
  126.  
  127. float give_price(void){
  128.   double price;
  129.  
  130.   printf("\nGive price (finish with < 0): ");
  131.   scanf("%lf", &price);
  132.  
  133.   return price;
  134. }
  135.  
  136. /* Funktion:    print_sum
  137.  * Beskrivning: Skriver ut summan i utlänsk och Svensk valuta
  138.  * Input:       Inget.
  139.  * Output:      inget.
  140.  */
  141.  
  142. void print_sum(void){
  143.   printf("\nSum in foreign currency: %.2f\n", local_exchange_rate);
  144.   printf("Sum in SEK: %.2f\n", exchange_rate * &sum);
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement