软件工程实验题目大全

软件工程实验题目大全

软件工程实验题目
实验一
下面是用PAD图描述对数组A进行排序的PAD图,用TC2.0编写一程序,实现下面PAD图的算法。
实验二
按照软件工程中序设计风格的要求,编写一程序:求解一元二次方程的根。
方程:AX2+BX+C=0
编程语言任眩

#include"iostream.h"
#include"math.h"
void you();
void main()
{
float a,b,c;
double i,x1,x2,j=0;
cout<<"退出程序请输入00"<<endl;
you();
do
{
do
{
cout<<"请输入三个数:";
cin>>a;
if(a==00) break;
cin>>b>>c;
cout<<endl;
i=sqrt(b*b-4*a*c);
x1=(-b+i)/2*a;
x2=(-b-i)/2*a;
cout<<"x1="<<x1<<" ""x2="<<x2<<endl;
you();
}while(a!=00);
cout<<"是否退出!"<<"1 是"<<" 0 否"<<endl;
cin>>i;
if(i==0)continue;else break;
you();
}while(j==0);
}
void you()
{
for(int i=0;i<40;i++)
cout<<"*";
cout<<endl;
}

实验三
按照软件工程中软件测试的方法,测试下面的C程序,并纠正该软件中的明显和潜在错误。
程序:
/*函数f1是实现n!*/
#include"stdio.h"
main()
{intn,result;
clrscr();


printf("/pleaseinputn:");
scanf("%d",&n);
result=f1(n);
printf("%d",result);
}
f1(intn)
{
if(n=0)return0;
returnn*f1(n-1);
}
实验四
按照模块化程序设计的准则,设计一程序,实现如下功能:
给定数组a[]={32,35,3,89,13,434,54,656,2}
1. 模块一:实现对数组a[]的排序。
2. 模块二:找出数组中最大的数。
3. 模块三:找出数组中所有的素数。
4. 模块四:计算数组各元素之和。

#include"iostream.h"
void you();
void main()
{
int a[10]={2,585,58,23,24,25,3,95,3,52};
int i,j,s;
//排序
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
int p;
if(a[i]>a[j])
{p=a[i];a[i]=a[j];a[j]=p;}
}
cout<<"从小到大排序:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<endl;
you();
//求最大
cout<<"The max:"<<a[9]<<endl;
you();
//求和
cout<<"和"<<a[0];
for(i=1;i<10;i++)
{
cout<<"+"<<a[i];
s+=a[i];
}
s=s+a[0];
cout<<"="<<s<<endl;

you();
//找素数

}
void you()
{
int i;
for(i=0;i<30;i++)
cout<<"*";
cout<<endl;
}

实验五显示学生名次表
实验要求:
按学号从键盘输入一个班学生的两门课程的考试成绩
根据学生成绩进行排名,要求能按两门课程的成绩分别进行排名,以及能按两门课的平均成绩进行排名
从键盘输入成绩排名查询选项(如选项1为查询第一门课成绩排名,选项2为查询第二门课成绩排名,选项3为查询平均成绩排名),按排名顺序输出学生学号
按某特殊按键退出程序
实验效果如:
C:/>rank.exe
Grade1? 87,91,92,65,77,96,54
Grade2? 66,70,78,64,80,92,62

1
Rank: 006,003,002,001,005,004,007
2
Rank: 006,005,003,002,001,004,007