예제 #1
0
파일: copy.c 프로젝트: alreimer/httpd_nh221
void free_page_mem(void){
    free_par(&cfg1);
    cfg_p = &cfg1;

    free_cgi(cgi_name);
    cgi_name = NULL;
    free_tbl();
}
예제 #2
0
파일: 13main.c 프로젝트: s1nn0sk2/daigaku-C
int main(void)
{
    struct score_node *node, *p;
	FILE	*fin;
	char	name[20], buf[50];
	int	num_menu;
	int	i;

	printf("2012年度第13回アルゴリズムとデータ構造演習S課題\n");

	/* 入力ファイル名を指定する */
	printf("入力ファイル名を指定してください\n");

	if (gets(buf) == NULL)
	{
		fprintf(stderr, "入力ファイル名の指定時にエラーが発生しました\n");
		exit(EXIT_FAILURE);
	} 
    if((fin = fopen(buf, "r")) == NULL ) {
        	fprintf(stderr,"入力ファイルオープンエラー\n");
        	exit(EXIT_FAILURE);
	}
	if (make_tbl(fin) == -1)
	{
		fprintf(stderr, "ハッシュテーブル作成時にエラーが発生しました\n");
		exit(EXIT_FAILURE);
	}
	while (1)
   	{
       	printf("メニュー番号入力?\n");
		printf("1:探索\n");
		printf("2:終了\n");
		gets(buf);
		num_menu = atoi(buf);
		printf("\n");

        	if (!(num_menu >= 1 && num_menu <= 2))
        	{
          	  printf("1,2のいずれかの数字を入力してください!\n");
        	}
      	  	else if (num_menu == 2)
       		{
           		 break;
        	}
		else
		{
			printf("氏名?\n");
			gets(name);
			printf("\n");
		
			if ( (node = search_node(name)) != NULL)
			{
				printf("学生番号:%d\t氏名:%s\t成績:%d\n", node->no, node->name, node->score);
				printf("\n");
			}
			else
			{
				printf("%sのデータが存在しません\n", name);
			}
		}
    }
	/* ハッシュテーブル表示 */
	
	for (i = 0; i < 11; i++)
	{
		printf("Hash_tbl[%d]:\t", i);
		for (p = Hash_tbl[i]; p; p = p->next)
		{
			printf("%s, ", p->name);
		}
		printf("\n");
	}
	
    

    /* ハッシュテーブル削除 */
    free_tbl();
    
    return 1;
}