muhammad danial hakimi Ответов: 2

Есть какие - нибудь предложения по поводу того, что происходит с кодами?


#include <stdio.h>
#include <stdlib.h>
void pH(float *s);
void temp(float *s);
void co2(float *s);
int i=0;

struct Smart_Master
{
float pH, temp, co2;
};

int main()
{
    int c;
    printf("\aSMART MASTER GREENHOUSE\n");
    printf("\nlets get started!\n");
    system ("pause");
    system ("cls");
    printf(" \nWHAT DO YOU WANT TO KNOW?\n");
    printf("____________________________\n");
    printf("\n1.SOIL STATUS \n\n2.TEMPERATURE STATUS \n\n3.CONCENTRATION OF C02 \n\n");
    scanf("%d",&c);
    struct Smart_Master data[10]={};
    switch(c)
    {
    case 1:
        pH(data[i].pH);
        break;

    case 2:
        temp(data[i].temp);
        break;

    case 3:
        co2(data[i].co2);
        break;
    }


    return 0;
}
void pH(float *s)
{
  printf("hii\n");
}
void temp(float *s)
{

}
void co2(float *s)
{

}
ошибка: несовместимый тип для аргумента 1 'pH'
(и будет то же самое для случая 3)

Что я уже пробовал:

я пробовал несколько раз на заявленных других условиях

ZurdoDev

Похоже, что тип значения, которое вы пытаетесь передать функции pH, не является плавающим.

jeron1

Ваши функции ожидают указатель на поплавок, вы передаете значение (а не указатель на поплавок).

2 Ответов

Рейтинг:
15

0x01AA

Параметр s определяется как указатель на float

void pH(float *s)
но вы вызываете pH в случае 1 со значением параметра
pH(data[i].pH);

У вас есть два варианта:
1.) измените сигнатуру метода pH на
void pH(float s)

2.) Измените часть, в которой вы вызываете метод pH, на
pH(&(data[i].pH));


Лично я бы выбрал вариант 1.

Надеюсь, это поможет.


CPallini

5.

0x01AA

Спасибо

muhammad danial hakimi

спасибо

0x01AA

Добро пожаловать. Спасибо, что согласились.

Рейтинг:
0

KarstenK

Помимо всех других вопросов это ваш

struct Smart_Master data[10]={};
заполненный нулями. Так что ты мало что увидишь. Инициализируйте элементы с некоторыми данными, чтобы увидеть их.

Совет: научитесь использовать отладчик из какого-нибудь учебника, потому что часто в левом нижнем углу находится область, где вы можете просматривать локальные данные и расширять их.