Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- /* Funktionsdeklarationer */
- void print_menu(double exchange_rate);
- int read_number(void);
- float f_read_number(void);
- float add_prices(void);
- float give_price(void);
- float print_sum(void);
- int main(void){
- int local_exchange_rate = 1;
- double exchange_rate = 1;
- int choice;
- double foreign_price;
- printf("\nYour shopping assistant\n");
- /* 1. Så länge användaren inte valt att avsluta programmet,
- upprepa följande: */
- do {
- /* 1.1 Skriv ut menyn */
- print_menu(exchange_rate);
- /* 1.2 Läs in val */
- choice = read_number();
- /* 1.3 Om valet är att sätta valutakurs */
- if(choice == 1){
- /* 1.3.1 Efterfråga valutakurs */
- printf("\nGive exchange rate: ");
- /* 1.3.2 Sätt valutakurs */
- exchange_rate = f_read_number();
- }
- /* 1.4 Om valet är att konvertera priser */
- else if(choice == 2){
- int *sum;
- /* 1.4.1 Summera priser så länge användaren ej avbryter */
- /* 1.4.1.1 Efterfråga pris (eller klar med inmatning) */
- /* 1.4.1.2 Uppdatera summan (om det är ett giltigt pris) */
- /* 1.4.2 Skriv ut summan i lokal valuta och i svenska kronor */
- }
- /* 1.5 Om valet är ogiltigt */
- else if(choice != 3){
- /* 1.5.1 Skriv ut att det var ett ogiltigt val */
- printf("\nNot a valid choice!\n");
- }
- } while(choice != 3);
- /* 2 Avsluta programmet */
- printf("\nEnd of program!\n");
- return 0;
- }
- /* Funktionsdefinitioner */
- /* Funktion: print_menu
- * Beskrivning: Skriver ut menyn.
- * Input: Växlingskursen.
- * Output: Returnerar inget. Skriver ut menyn.
- */
- void print_menu(double exchange_rate){
- printf("\n1. Set exchange rate in SEK ");
- printf("(current rate: %.2f)\n", exchange_rate);
- printf("2. Convert prices from the foreign currency\n");
- printf("3. End\n\n");
- }
- /* Funktion: read_number
- * Beskrivning: Läser in ett heltal som returneras
- * Input: Inget.
- * Output: Returnerar det inlästa talet.
- */
- int read_number(void){
- int number;
- printf("Give your choice (1 - 3): ");
- scanf("%d", &number);
- return number;
- }
- /* Funktion: f_read_number
- * Beskrivning: Läser in ett decimaltal som returneras
- * Input: Inget.
- * Output: Returnerar det inlästa talet.
- */
- float f_read_number(void){
- double f_number;
- scanf("%lf", &f_number);
- return f_number;
- }
- /* Funktion: add_prices
- * Beskrivning: Adderar angivna priser tills användaren vill avsluta
- * Input: Inget.
- * Output: Inget.
- */
- float add_prices(void){
- do {
- give_price();
- if(give_price() >= 0){
- &sum += give_price();
- }
- } while (give_price() >= 0);
- }
- /* Funktion: give_price
- * Beskrivning: Läser in angivet pris
- * Input: Inget.
- * Output: Returnerar priset.
- */
- float give_price(void){
- double price;
- printf("\nGive price (finish with < 0): ");
- scanf("%lf", &price);
- return price;
- }
- /* Funktion: print_sum
- * Beskrivning: Skriver ut summan i utlänsk och Svensk valuta
- * Input: Inget.
- * Output: inget.
- */
- void print_sum(void){
- printf("\nSum in foreign currency: %.2f\n", local_exchange_rate);
- printf("Sum in SEK: %.2f\n", exchange_rate * &sum);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement