欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软件工程白盒测试

程序员文章站 2022-04-10 20:09:25
...

判断输入三个数据 是否可以构成三角形

编译环境:Dev C++ 5.6.1 

/*
** 头文件 Powered by wang_huizhang 
*/
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;

/*
** 全局字符串变量,一些错误提示; 
*/
char error_bigger[40]= "input bigger than 100\n";
char error_notInt[40]= "your input is not an interger\n";

/*
** 全局变量,用于三角形三边的输入。 
*/
char aString[100],bString[100],cString[100];//输入的字符串。 
int a,b,c;//把字符串转换为整数存这。非法则存0。

/*
** 转化函数。 
** 把输入的字符转化为 1-100 之间的整数。
** 格式错误和数值超过100则 抛出异常。error_notInt  error_bigger 
*/ 
int makeStringToInt(char s[])
{
	int res=0;
	int i=0;
	while(i<100&&s[i]!='\0')
	{
		if(s[i]>='0'&&s[i]<='9')
		{
			res=res*10+s[i]-'0';
			i++;
			if(res>100)
			{
				throw error_bigger;
			}
		}
		else
		{
			throw error_notInt;
			i++;
			break;
		}
	}
	return res;
	
}

/*
** 输入函数。用户三角形三边的初始化。 
*/ 
void putIn()
{
	// 输入 a边。 
	printf("please give a value to A:_____\b\b\b");
	scanf("%[^\n]",aString);
	try
	{
		a=makeStringToInt(aString);
		
	}
	catch(char s[])
	{
		cerr<<s<<endl;
		exit(1);
	}
	fflush(stdin);
	
	// 输入 b边。 
	printf("please give a value to B:_____\b\b\b");
	scanf("%[^\n]",bString);
	try
	{
		b=makeStringToInt(bString);
		
	}
	catch(char s[])
	{
		cerr<<s<<endl;
		exit(2);
	}
	fflush(stdin);
	
	
	// 输入 c边。 
	printf("please give a value to C:_____\b\b\b");
	scanf("%[^\n]",cString);
	try
	{
		c=makeStringToInt(cString);
		
	}
	catch(char s[])
	{
		cerr<<s<<endl;
		exit(3);
	}
	fflush(stdin);
	
	return ;
}

/*
** 检测三边是否可构成三角形。 
*/
bool isLegal()
{
	return  (a+b>c)&&(a+c>b)&&(b+c>a);
	
}
int main()
{
	putIn();
	bool res=isLegal();
	if(res)
	{
		printf("abc可以作为三角形三边。\n"); 
	}
	else
	{
		printf("abc不能构成三角形。\n"); 
	}
	return 0;
}

软件工程白盒测试

实现对不少于10个随机数的冒泡排序算法

#include<cstdio>
#include<ctime>
#include<cstdlib>
int numArray[1000];
int numSize;

void print(int size)
{
	for(int i=1;i<=size;i++)
	{
		printf("%5d\t",numArray[i]);
		if(i%5==0)
		{
			printf("\n");
		}
	}
}
void init0()
{
	printf("输入要排序的个数____(int)\b\b\b\b\b\b\b");
	scanf("%d",&numSize);
	for(int i=1;i<=numSize;i++)
	{
		numArray[i]=rand()%1000+1;
	} 
	printf("输入的数为:\n");
	print(numSize);
}
void bubble(int size)
{
	int temp;
	for(int i=1;i<size;i++)
	{
		for(int j=1;j<=size-i;j++)
		{
			if(numArray[j]>numArray[j+1])
			{
				temp=numArray[j];
				numArray[j]=numArray[j+1];
				numArray[j+1]=temp;
			}
		}
	}
}
int main()
{
	srand(time(0));
	init0();
	bubble(numSize);
	printf("\n冒泡排序后:\n");
	print(numSize);
	return 0;
}

软件工程白盒测试

相关标签: 软件工程试验