#include #include #include #include int main(int argc, char **argv) { for (int idx=1; idx < argc; idx++) { EDIFile *edi = edifile_parse(argv[idx]); GSList *iter = edi->claims; EDIClaim *claim; float total = 0.0; printf("File: %s\n", argv[idx]); while (iter != NULL && iter->data != NULL) { EDISegment *clm, *refd9; float claim_amount; claim = iter->data; clm = ediclaim_get(claim, ediclaim_find_loopname(claim, "2300", "CLM")); refd9 = ediclaim_get(claim, ediclaim_find_loopnamemod(claim, "2300", "REF", "D9")); claim_amount = ediseg_get_float(clm, 2); total += claim_amount; printf(" %-30s $%12.2f\n", ediseg_get(refd9, 2), claim_amount); iter = iter->next; } printf("%33s $%12.2f\n\n", "Total", total); edifile_free(edi); } }