C Primer Plus学习 六十三 队列 ADT(三)
2016-10-21 11:56
211 查看
测试队列
在重要程序中使用一个新的设计(比如队列包)之前,应先对这个新设计进行测试。测试的一种方法 是编写一个短小的程序。这样的程序有时被称为驱动程序(driver),其惟一用途是进行测试。例如,程序 清单17.8使用一个可以添加和删除整数的队列。在运行程序之前,要确保下面这行代码出现在头文件 queue.h 中:
typedef int item;
还要记住,需要链接queue.c和use_q.c。
/* use_q.c --测试Queue接口的驱动程序*/
/* compile with queue.c */
#include<stdio.h>
#include"queue.h"/* 限定 queue,Item */
int main(void)
{
Queue line;
Item temp;
char ch;
InitializeQueue(&line);
puts("Testing the queue interface.type a to add a value,");
puts("type d to delete a value,and type q to quit.");
while((ch=getchar())!='q')
{
if(ch!='a'&&ch!='d')
continue;
if(ch=='a')
{
printf("Integer to add:");
scanf("%d",&temp.processtime);
if(!QueueIsFull(&line))
{
printf("Putting %d into queue\n",temp.processtime);
EnAddQueue(temp,&line);
}
else
puts("queue is full!");
}
else
{
if(QueueIsEmpty(&line))
puts("nothing to delete!");
else{
DeQueue(&temp,&line);
printf("removing %d from queue\n",temp.processtime);
}
}
printf("%d items in queue\n",QueueItemCount(&line));
puts("type a to add, d to delet, q to quit:");
}
EmptyTheQueue(&line);
puts("Bye!");
return 0;
}
在重要程序中使用一个新的设计(比如队列包)之前,应先对这个新设计进行测试。测试的一种方法 是编写一个短小的程序。这样的程序有时被称为驱动程序(driver),其惟一用途是进行测试。例如,程序 清单17.8使用一个可以添加和删除整数的队列。在运行程序之前,要确保下面这行代码出现在头文件 queue.h 中:
typedef int item;
还要记住,需要链接queue.c和use_q.c。
/* use_q.c --测试Queue接口的驱动程序*/
/* compile with queue.c */
#include<stdio.h>
#include"queue.h"/* 限定 queue,Item */
int main(void)
{
Queue line;
Item temp;
char ch;
InitializeQueue(&line);
puts("Testing the queue interface.type a to add a value,");
puts("type d to delete a value,and type q to quit.");
while((ch=getchar())!='q')
{
if(ch!='a'&&ch!='d')
continue;
if(ch=='a')
{
printf("Integer to add:");
scanf("%d",&temp.processtime);
if(!QueueIsFull(&line))
{
printf("Putting %d into queue\n",temp.processtime);
EnAddQueue(temp,&line);
}
else
puts("queue is full!");
}
else
{
if(QueueIsEmpty(&line))
puts("nothing to delete!");
else{
DeQueue(&temp,&line);
printf("removing %d from queue\n",temp.processtime);
}
}
printf("%d items in queue\n",QueueItemCount(&line));
puts("type a to add, d to delet, q to quit:");
}
EmptyTheQueue(&line);
puts("Bye!");
return 0;
}
相关文章推荐
- C Primer Plus学习 六十一 队列 ADT(一)
- C Primer Plus学习 六十二 队列 ADT(二)
- C++ Primer Plus学习:第四章 复合类型(4)
- C Primer Plus学习计划
- [学习笔记][C++Primer Plus]使用cout格式化输出字符串
- C++ Primer Plus学习:第三章 处理数据(2)
- C++ Primer Plus学习:第四章 复合类型(1)
- C++ primer plus学习:第一章 预备知识
- C++ Primer Plus学习:第七章 函数-C++的编程模块(3)
- C++ Primer Plus学习:第四章 复合类型(6)
- C++ Primer Plus学习:第五章 循环和关系表达式(1)
- C++ Primer Plus学习:第八章 函数探幽(1)
- C++ Primer Plus 第二章 开始学习C++
- C++ Primer Plus学习:第六章 分支语句和逻辑操作符(2)
- C++ Primer Plus学习:第七章 函数-C++的编程模块(1)
- [学习笔记][C++Primer Plus]String类的使用
- 学习C++ Primer Plus 存储作用域、链接性、连续性总结
- 学习C++Primer Plus 函数探幽总结
- C++ Primer Plus学习:第三章 处理数据(1)
- C++ Primer Plus学习:第四章 复合类型(2)