Advertisement
Guest User

Untitled

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