Мне нужно создать табличную программу ha sh, которая будет принимать первый символ строки в маленькой строчной букве и по модулю ASCII с размером таблицы ha sh, которую вводит пользователь. Где я должен ввести размер, отличный от основного?
Это мои текущие коды. В этом коде я прошу пользователя ввести размер в основной функции модуля, но я не совсем понимаю, как использовать его в каждой функции, кроме основной. Любая помощь приветствуется.
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
struct data
{
char name [100];
char age[2];
struct data *next;
};
struct data *chain[size] = {NULL};
struct data* insert(char name[], char age[]){
struct data *curr = (struct data*) malloc (sizeof(data));
strcpy(curr->name, name);
printf("input name: ");
scanf(" %[^\n]s",strcpy(curr->name, name));
printf("input age: ");
scanf(" %[^\n]s", strcpy(curr->age, age));
curr->next = NULL;
return curr;
};
int main(){
int n;
char name[100];
char age[2];
char firstChar;
int key;
int index = 0;
printf("input the number of hash table: ");
scanf("%d", &n); getchar();
printf("\n");
int option;
do{
printf("=== Option Menu ===\n");
printf("1. insert data\n");
printf("2. delete data\n");
printf("3. search data\n");
printf("4. view data\n");
printf("5. exit\n");
printf("input option: ");
scanf("%d", &option); getchar();
switch(option){
case 1:
insert(name,age);
break;
}
}while(option!=5);
}