⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 73.c

📁 一些简单的 c语言 例子 对初学者 比较的 有用的 的
💻 C
字号:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>

#define MAX 100

char *p[MAX], *qretrieve(void);
int spos = 0;
int rpos = 0;
void enter(void), qstore(char *q), review(void), delete_ap(void);

int main(void)
{
	char s[80];
	register int t;
	
	for(t=0; t < MAX; ++t) p[t] = NULL; /* init array to nulls */
	
	for(;;) {
		printf("Enter, List, Remove, Quit: ");
		gets(s);
		*s = toupper(*s);
		
		switch(*s) {
		case 'E':
			enter();
			break;
		case 'L':
			review();
			break;
		case 'R':
			delete_ap();
			break;
		case 'Q':
			exit(0);
		}
	}
	return 0;
}
/* Enter appointments in queue. */
void enter(void)
{
	char s[256], *p;
	
	do {
		printf("Enter appointment %d: ", spos+1);
		gets(s);
		if(*s==0) break; /* no entry */
		p = (char *) malloc(strlen(s)+1);
		if(!p) {
			printf("Out of memory.\n");
			return;
		}
		strcpy(p, s);
		if(*s) qstore(p);
	} while(*s);
}

/* See what's in the queue. */
void review(void)
{
	register int t;
	
	for(t=rpos; t < spos; ++t)
		printf("%d. %s\n", t+1, p[t]);
}

/* Delete an appointment from the queue. */
void delete_ap(void)
{
	char *p;
	
	if((p=qretrieve())==NULL) return;
	printf("%s\n", p);
}

/* Store an appointment. */
void qstore(char *q)
{
	if(spos==MAX) {
		printf("List Full\n");
		return;
	}
	p[spos] = q;
	spos++;
}

/* Retrieve an appointment. */
char *qretrieve(void)
{
	if(rpos==spos) {
		printf("No more appointments.\n");
		return NULL;
	}
	rpos++;
	return p[rpos-1];
}

⌨️ 快捷键说明

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