/* item_list.c Author: Murray Saul Date: March 18, 2008 Purpose: Use multiple arrays to store both characters and ints... */ #define ARRAY_SIZE 3 #define ITEM_NUM_SIZE 4 + 1 #define ITEM_NAME_SIZE 40 + 1 void enterItems(char itemNumber[][ITEM_NUM_SIZE], char itemName[][ITEM_NAME_SIZE], int itemQuantity[]); void displayItems(char itemNumber[][ITEM_NUM_SIZE], char itemName[][ITEM_NAME_SIZE], int itemQuantity[]); void clearInput(); #include main() { char itemNumber[ARRAY_SIZE][ITEM_NUM_SIZE]; char itemName[ARRAY_SIZE][ITEM_NAME_SIZE]; int itemQuantity[ARRAY_SIZE]; enterItems(itemNumber, itemName, itemQuantity); displayItems(itemNumber, itemName, itemQuantity); } /* end of main program */ void clearInput() { while (getchar() != '\n') ; } /* end of clearInput() function */ void enterItems(char itemNumber[][ITEM_NUM_SIZE], char itemName[][ITEM_NAME_SIZE], int itemQuantity[]) { int i, result1, result2, result3; printf ("\n"); for(i=0; i < ARRAY_SIZE; i++) { do { printf ("Item [%d] code: ", i+1); result1 = scanf("%[A-Z0-9][^\n]", itemNumber[i]); clearInput(); } while (( result1 != 1 ) && printf ("Invalid - ")); do { printf ("Item [%d] Description: ", i+1); result2 = scanf("%[^\n]", itemName[i]); clearInput(); } while (( result2 != 1 ) && printf ("Invalid - ")); do { printf ("Item [%d] QTY: ", i+1); result3 = scanf("%d", &itemQuantity[i]); clearInput(); } while (( result3 != 1 ) && printf ("Invalid - ")); printf ("\n"); } /* End of for loop */ } /* End of enterItems() function */ void displayItems(char itemNumber[][ITEM_NUM_SIZE], char itemName[][ITEM_NAME_SIZE], int itemQuantity[]) { int i; printf ("ITEM REPORT\n"); printf ("===========\n\n"); printf ("%-8s%-25s%8s\n", "Code", "Description", "Quantity"); printf ("%-8s%-25s%8s\n", "----", "-----------------------", "--------"); for (i=0; i < ARRAY_SIZE; i++) printf ("%-8s%-25s%8d\n", itemNumber[i], itemName[i], itemQuantity[i]); printf ("\n\n"); } /* End of displayItems() function */