Code:
#include <stdio.h>
#define PARTS 50
#define SALESPERSON 20
#define NOT_FOUND -1
int deParts(int [], char *[]);
void deSales(int [][PARTS], int []);
void listParts(int [], char *[], int);
int search(int [], int); /*linear search*/
void salesRpt(int [], int [][PARTS], char *[], char *[], int);
main()
{
int response, menu = 0;
int count, match, part;
int partNum[PARTS] = {0};
char *partName[PARTS];
int sales[SALESPERSON][PARTS] = {0};
char *firstName[SALESPERSON] = {"John", "Sally", "Tim", "Michael", "Janet"};
char *lastName[SALESPERSON]= {"Smith", "Weill", "Lowell", "Dunn", "Keller"};
do
{
printf("MENU\n\n");
printf("1...........Data Entry of Parts\n");
printf("2...........Data Entry of Sales\n");
printf("3...........Print Parts Listing\n");
printf("4...........Search for Part Number\n");
printf("5...........Print Sales Report\n");
printf("6...........End Program\n");
printf("Please select an option then press the enter key.\n");
scanf("%d", &response);
switch(response)
{
case 1:
count = deParts(partNum, partName); /* pass part # int array & part name ptr array) */
printf("\n\n%d\n\n", count);
break;
case 2:
deSales(sales, partNum); /* pass sales qty 2D array & part number int array */
break;
case 3:
listParts(partNum, partName, count); /* pass part # int array; part name ptr array
& my part number counter */
break;
case 4:
printf("Enter part number: ");
scanf("%d", &part);
match = search(partNum, part); /* pass part # int array and part number to search for */
if(match == NOT_FOUND)
printf("Part number %d is not valid.", part);
else
printf("\n\n%-10d%-20s\n", part, partName[match]);
break;
case 5:
salesRpt(partNum, sales, firstName, lastName, count); /* pass part # int array,
sales qty array, first & last
name arrays, and part count */
break;
case 6:
printf("\n\n Thanks for using this program!\n\n");
menu = 1;
break;
}
}while (menu == 0);
return 0;
}
int deParts(int number[], char *name[])
{
int ans=0;
char loop;
char partName[20][20];
static int counter=0;
while (ans == 0)
{
printf("Please enter the part number, then press the enter key.\n");
scanf("%d", &number[counter]);
printf("\n\nPlease enter the part name, then press the enter key.\n");
fflush(stdin);
scanf("%s", partName[counter]);
name[counter] = partName[counter];
printf("it saved");
printf("\n%s\n", name[counter]);
counter++;
printf("\n\nWould you like to enter another part number and name? Y or N\n");
fflush(stdin);
scanf("%c", &loop);
if (loop == 'n' || loop == 'N')
ans = 1;
}
printf("\n\nPlease choose another menu option.\n");
return counter;
}
void deSales(int people[][PARTS], int partNumbers[])
{
int id, part, match, loop1=0, loop2=0;
char response;
printf("\n\nHere you can enter how many parts each salesperson has sold.\n\n");
while(loop1 == 0)
{
printf("Please enter the salesperson's ID number.\n");
scanf("%d", &id);
while(loop2 == 0)
{
printf("\n\nNow you can enter a part number and the quantity the salesperson sold.\n");
printf("Part number: ");
scanf("%d", &part);
match = search(partNumbers, part);
if(match == NOT_FOUND)
printf("This part number is not valid.");
else
{
printf("\nQuantity: ");
scanf("%d", &people[id][match]);
}
printf("Enter another part number and quantity? Y or N \n");
fflush(stdin);
scanf("%c", &response);
if(response == 'n' || response == 'N')
loop2 = 1;
}
printf("Would you like to enter sales for another salesperson? Y or N\n");
fflush(stdin);
scanf("%c", &response);
if(response == 'y' || response == 'Y')
loop2 = 0;
if(response == 'n' || response == 'N')
loop1 = 1;
}
}
void listParts(int partNo[], char *names[], int cnt)
{
int i;
printf("Parts Listing\n\n");
printf("%-10s%-20s\n", "Number", "Name");
for (i=0; i<=cnt-1; i++)
{
printf("%-10d", partNo[i]);
printf("%-20s\n", names[i]);
}
}
int search(int partNo[], int key)
{
int i=0, found=0, where;
while (!found && i < PARTS)
{
if (partNo[i] == key)
found = 1;
else
++i;
}
printf("completed loop");
if(found)
where = i;
else
where = NOT_FOUND;
printf("assigned where value");
return (where);
}
void salesRpt(int partNo[], int salesData[][PARTS], char *first[], char *last[], int cnt)
{
int i, j, total;
printf("Weekly Parts Sales Report\n\n");
for (i=0; i<5; i++)
{
total = 0;
printf("%s %s\n", first[i], last[i]);
printf(" %-20s%-10s\n", "Part Number", "Quantity");
for (j=0; j<=cnt-1; j++)
{
printf(" %-20d%-10d\n", partNo[j], salesData[i][j]);
total = total + salesData[i][j];
}
printf(" Total %d\n\n", total);
}
}
Please Help!!!