Practical C Programs
Report Pipeline
A final report can count records, apply a limit, and choose a compact status label.
Report Pipeline
report_pipeline.c
#include <stdio.h>
int main(void) {
int warningLimit = ;
int warnings[3] = {0, 1, 2};
int flagged = 0;
for (int i = 0; i < 3; i++) {
if (warnings[i] > warningLimit) {
flagged++;
}
}
const char *status = "pass";
if (flagged > 0) {
status = "review";
}
printf("limit=%d flagged=%d status=%s\n", warningLimit, flagged, status);
return 0;
}
#include <stdio.h>
int main(void) {
int warningLimit = ;
int warnings[3] = {0, 1, 2};
int flagged = 0;
for (int i = 0; i < 3; i++) {
if (warnings[i] > warningLimit) {
flagged++;
}
}
const char *status = "pass";
if (flagged > 0) {
status = "review";
}
printf("limit=%d flagged=%d status=%s\n", warningLimit, flagged, status);
return 0;
}
#include <stdio.h>
int main(void) {
int warningLimit = ;
int warnings[3] = {0, 1, 2};
int flagged = 0;
for (int i = 0; i < 3; i++) {
if (warnings[i] > warningLimit) {
flagged++;
}
}
const char *status = "pass";
if (flagged > 0) {
status = "review";
}
printf("limit=%d flagged=%d status=%s\n", warningLimit, flagged, status);
return 0;
}
threshold
The limit decides which records need attention.
status label
A small summary label makes the final result easy to scan.