Ожидаемое выражение C - PullRequest
1 голос
/ 05 марта 2019

В настоящее время я разрабатываю код для университета, который округляет число, но без использования математической библиотеки в c.

Вот что я сделал:

#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>

double arrd(double x, int n);

int main()
{
    double value;
    int n;
    printf("Insert a value: ")
    scanf("%lf", &value);
    printf("Insert n: ");
    scanf("%d", &n)


    printf ("%f", arrd( value, n));
    return 0;
}

double arrd(double x, int n){
   double r = x;
   double s = 1;
   int e = 0;
   while (e != (n+1)){ /*This is to get to the last number before rounding*/
    s= s * 10;
    r = r*10 - int(r); /*This is where is giving me the error*/
    e++;
   };
   r=r*10;
   if (r<5){
    return x-r*(1/s);
   } else {
    return x-r*(1/s)+(10/s);
   }

}

Там написано, что ожидает выражение, в r = r * 10 - int (r). Что я должен делать? Я новичок в программировании, но если что-то не так с остальным кодом, который я могу улучшить, дайте мне знать.

Спасибо

1 Ответ

2 голосов
/ 06 марта 2019

Это

int(r)

Недопустимый синтаксис для приведения значения к int.Это делается следующим образом:

(int)r
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...