Помощь по лабе

earthlord

Известный
Автор темы
135
34
привет, нужна помощь по этому заданию:
  1. Задание 4. Вы пришли в обменный пункт валюты с суммой в n долларов и хотите поменять эту сумму на евро, но банк не проводит прямую конвертацию долларов в евро. Сначала доллары переводятся в рубли, а затем рубли – в евро. Составить программу на С, которая считывает с клавиатуры количество долларов и переводит в рубли, выводит это количество на экране, а затем вычисляет целое количество евро, которые мы можем получить при обмене и остаток рублей. Курс для перевода доллара в рубли и курс для перевода евро в рубли задается с помощью директивы препроцессора #define.
    Учесть, что в Беларуси центы не используют, а купюры самого низкого номинала - 1 доллар и 5 евро.
накидал вот такое, но не округляет до кратного пяти:

C:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define c_dollar 2.54
#define c_euro 2.51

int main()
{
    int dollar, euro;
    double rouble, t_euro;
    printf("USD: ");
    scanf("%d", &dollar);
    rouble = dollar * c_dollar;
    printf("BYN: %f\n", rouble);
    t_euro = rouble / c_euro;
    euro = ((t_euro + 4)/ 5)*5;
    printf("T_EUR:' %.2f\nEUR: %d", t_euro, euro);
    return 0;
}
 
Решение
C:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define c_dollar 2.54
#define c_euro 2.51

int main()
{
    int dollar, euro;
    printf("USD: ");
    scanf("%d", &dollar);
    double rouble = dollar * c_dollar;
    printf("BYN: %f\n", rouble);
    euro = (int)(rouble/c_euro);
    euro -= euro%5;
    rouble -=(euro*c_euro);
    printf("\nRUB: %f\nEUR: %d",rouble, euro);
    return 0;
}

Rezbirp

Известный
72
69
C:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define c_dollar 2.54
#define c_euro 2.51

int main()
{
    int dollar, euro;
    printf("USD: ");
    scanf("%d", &dollar);
    double rouble = dollar * c_dollar;
    printf("BYN: %f\n", rouble);
    euro = (int)(rouble/c_euro);
    euro -= euro%5;
    rouble -=(euro*c_euro);
    printf("\nRUB: %f\nEUR: %d",rouble, euro);
    return 0;
}