Filter Structs by Field Value for example Sensor Threshold

Code

#include <stdio.h>
#include <stdint.h>

typedef struct  {
    char name[10];
    uint8_t value;
}Sensor;

void printDatasensor(Sensor *sensor, uint8_t num_sensor, uint8_t threshold){
    for(int i = 0; i < num_sensor; i++){
        if(sensor[i].value >= threshold){
            printf("%s %hhu\n", sensor[i].name, sensor[i].value);
        }
    }
}

int main() {
    uint8_t n, threshold;
    scanf("%hhu %hhu", &n, &threshold);

    Sensor sensors[100];
    for (uint8_t i = 0; i < n; i++) {
        scanf("%s %hhu", sensors[i].name, &sensors[i].value);
    }

    printDatasensor(sensors, n, threshold);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

4 50 T1 45 T2 67 T3 10 T4 90

Expected Output

T2 67 T4 90