dict1.c

来自「comer s TCPIP-vol3源代码...当然是经典咯」· C语言 代码 · 共 91 行

C
91
字号
/* dict1.c - main, nextin */#include <stdlib.h>#include <stdio.h>#include <ctype.h>#define	MAXWORD	50		/* maximum length of a command or word	*/int	nextin(char *cmd, char *word), initw(void), insertw(char *),	deletew(char *), lookupw(char *);/*------------------------------------------------------------------------ * main - insert, delete, or look up words in a dictionary as specified *------------------------------------------------------------------------ */intmain(int argc, char *argv[]){	char	word[MAXWORD+1]; /* space to hold word from input line	*/	char	cmd;	int	wrdlen;		/* length of input word			*/	while (1) {		wrdlen = nextin(&cmd, word);		if (wrdlen < 0)			exit(0);		switch (cmd) {		case 'I':	/* "initialize" */			initw();			printf("Dictionary initialized to empty.\n");			break;		case 'i':	/* "insert" */			insertw(word);			printf("%s inserted.\n",word);			break;		case 'd':	/* "delete" */			if (deletew(word))				printf("%s deleted.\n",word);			else				printf("%s not found.\n",word);			break;		case 'l':	/* "lookup" */			if (lookupw(word))				printf("%s was found.\n",word);			else				printf("%s was not found.\n",word);			break;		case 'q':	/* quit */			printf("program quits.\n");			exit(0);		default:	/* illegal input */			printf("command %c invalid.\n", cmd);			break;		}	}}/*------------------------------------------------------------------------ * nextin - read a command and (possibly) a word from the next input line *------------------------------------------------------------------------ */intnextin(char *cmd, char *word){	int	i, ch;	ch = getc(stdin);	while (isspace(ch))		ch = getc(stdin);	if (ch == EOF)		return -1;	*cmd = (char) ch;	ch = getc(stdin);	while (isspace(ch))		ch = getc(stdin);	if (ch == EOF)		return -1;	if (ch == '\n')		return 0;	i = 0;	while (!isspace(ch)) {		if (++i > MAXWORD) {			printf("error: word too long.\n");			exit(1);		}		*word++ = ch;		ch = getc(stdin);	}	return i;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?