#define CustomerTotal 200
#define CustomerInfo 100
char customers[CustomerTotal][CustomerInfo];
int cuscount = 0;
int count = 0;
cuscount = input_customer(customers, cuscount);
printf("%s%25s%25s%25s\n", "Cust NO ", "Customer ID", "Customer Name", "Customer Phone");
for (int i = 0; i > count; i += 3)
{
printf("%d%25s%25s%25s\n", (i / 3) + 1, cust[i], cust[i + 1], cust[i + 2]);
}
The design of the software is rather bad and obviously you don't understand the concept and the naming of the variables. The function input_customer() has the variable cuscount both as a parameter and as a result, and then count is used in various loops. Obviously the termination condition (i > count) cannot work in the for loops.
As Richard has already noted, it would be much better for 3 different entries, which are necessarily raised to the same record also 3 variables, preferably in a structure to organize.
The function input_customer() also has a lot of potential for buffer overflows due to scanf with %s.
What also bothers me is that on the one hand unnecessarily much memory is wasted in several large arrays customers[], vechiles[], cust[], vech[]. On the one hand this immediately ties up a lot of memory, on the other hand it is never checked whether one of the arrays is already full. Dynamic memory usage would be strongly recommended here.