Input Validation Patterns
Checksum Validate
A checksum condenses several input characters into one value that can be checked.
Checksum Validate
checksum_validate.c
#include <stdio.h>
int digitChecksum(const char *text) {
int sum = 0;
for (int i = 0; text[i] != '\0'; i++) {
sum += text[i] - '0';
}
return sum;
}
int main(void) {
int useAlt = ;
const char *digits = useAlt ? "1235" : "1234";
int expected = 10;
int checksum = digitChecksum(digits);
int ok = checksum == expected;
printf("useAlt=%d digits=%s checksum=%d ok=%d\n", useAlt, digits, checksum, ok);
return 0;
}
#include <stdio.h>
int digitChecksum(const char *text) {
int sum = 0;
for (int i = 0; text[i] != '\0'; i++) {
sum += text[i] - '0';
}
return sum;
}
int main(void) {
int useAlt = ;
const char *digits = useAlt ? "1235" : "1234";
int expected = 10;
int checksum = digitChecksum(digits);
int ok = checksum == expected;
printf("useAlt=%d digits=%s checksum=%d ok=%d\n", useAlt, digits, checksum, ok);
return 0;
}
checksum
The loop accumulates each digit into a compact validation total.
expected value
The final comparison turns the checksum into an explicit pass or fail status.