my code is not working properly and I don't know why, gets(delhiAgency[i].drvrName); is not waiting for user input, I am stuck here.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void) {
typedef struct busMngr {
char* drvrName;
int drvrLicNumb;
int busNumb;
char* fullRoute;
char* route[2];
int kms;
} busManager;
int busNo;
printf("Enter number of buses: ");
scanf("%d", &busNo);
busManager delhiAgency[busNo]; //Derived data type busManager
for (int i = 0; i < busNo; i++) {
delhiAgency[i].drvrName = (char *) malloc(15 * sizeof(char));
delhiAgency[i].fullRoute = (char *) malloc(20 * sizeof(char));
for (int j = 0; j < 2; j++) {
delhiAgency[i].route[j] = (char *) malloc(20 * sizeof(char));
delhiAgency[i].route[j] = (char *) malloc(20 * sizeof(char));
}
}
for (int i = 0; i < busNo; i++) {
printf("Enter the name of driver: ");
gets(delhiAgency[i].drvrName);
printf(" Enter the license number of driver '%s': ", delhiAgency[i].drvrName);
scanf("%d\n", &delhiAgency[i].drvrLicNumb);
printf("Enter bus number alloting to driver '%s': ", delhiAgency[i].drvrName);
scanf("%d\n", &delhiAgency[i].busNumb);
printf("Enter the route of bus number %d\n", delhiAgency[i].busNumb);
gets(delhiAgency[i].fullRoute);
printf("Enter the starting point of bus number %d: \n", delhiAgency[i].busNumb);
gets(delhiAgency[i].route[0]);
printf("Enter the destinatin of bus number %d: \n", delhiAgency[i].busNumb);
gets(delhiAgency[i].route[1]);
}
return 0;
}