问答题已知C源程序如下: /*分数运算 fsys.c*/ #include<stdio.h> int main() long int a,b,c,d,i,x,y,z; char op; printf("两分数b/a,d/c作+、-、*、/四则运算。结果为分数。/n"); printf("请输入分数运算式:b/a op d/c/n"); scanf("%ld/%ld%c%ld%ld", if(a==0||c==0) printf("分母为0,输入错误!/n"); return(0); if(op=='+') y=b*c+d*a; x=a*c; /*运算结果均为y/x*/ if(op=='-') y=b*c-d*a; x=a*c; if(op=='*') y=b*d; x=a*c; if(op=='/') y=b*c; x=a*d; z=x; if(x>y)z=y; i=z; while(i>1) if(x%i==0y=y/i;continue;; i——; printf("%ld/%ld%c%ld/%ld=%ld/%ld./n",b,a,op,d,c,y,x); return 0;
问答题以下电费计算的几条规则,请按要求回答问题。 一些城市的电力公司把用户分为两类:单费率用户和复费率用户。对于单费率用户实行单一电价,即在任何时间段都是一个价;对于复赞率用户在不同时段实行不同的电价。有4条计算电费的规则:对于单费率用户,按公式A计算电费;对于复费率用户,如果不在规定期间内,同单费率用户,按照公式A计算电费,否则按公式B计算;如果既不是单费率用户也不是复费率用户,则做其他处理。
问答题根据以下简单规格,确认输入整数有效性的应用程序。 (1)输入数由非零数字开始。 (2)该数字后面可接任意位数的数字。 (3)任何输入整数都应以空格结束。 请根据以上处理规则:1.要求画出状态转换图。
问答题针对以下C语言程序,按要求回答问题。 已知link.c程序如下: /*link.c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入节点、删除节点和链表反转操作*/ #include<stdio.h> #include<stdlib.h> typedef struet list_node*list_pointer; //定义链表指针 typedef struct list_node //定义链表结构 int date; list_pointer link; list node; //用到的操作函数 1ist_pointer create(); //建立一个单向链表 vold insert(list_pointer*p_ptr,list_pointer node; //在node后加入一个新的节点 void delete_node(list_pointer*p_ptr,list_pointer trail,list_pointer node); //删除前一个节点是trail的当前节点node void print(list_pointer*p_ptr); //打印链表节点中的值 list_pointer invert(list_pointer lead); //反转链表 int main() list_pointer ptr=NULL; list_pointer node,trail; list_pointer*p=&ptr; int choose,location,i; printf("you should creale a link first:/n"); //建立一个单向链表 ptr=create();/*ptr指向链表的第一个节点*/ print(ptr); //根据用户的不同选择进行相应的操作: printf("input number 0,you can quit the program/n"); printf("input number 1,you can insert a new node to link/n"); printf("input number 2,you can delete a node from the link/n"); printf("input number 3,you can invert the link/n"); printf("please input your choice/n"); scanf("&d",&choose); while(choose!=0) switch(choose) case 1: i=1; while(i<location) node=node->link; insert(p,node);/*p为指向ptr的指针*/ print(ptr); break; case 2: printf("you will delete a node from the link/n"); printf("please input the location of the node:/n"); scanf("&d,&location); node=ptr; if(location==1) trail=NULL; trail=ptr; i=1; while(i<location) trail=trail->link; i++; node=trail->link; delete_node(p,trail,node); print(ptr); brcak; ease 3: printf("you will invert the link/n"); ptr=invert(ptr); print(ptr); break; default; break; return-1; printf("please input your choiee/n"); seanf("&d",&choose); printf("please input you choice/n"); scanf("&d",&choose); retnrn 0; //根据用户的输入数值建立一个新的单向链表; list_pointer create() int i,current,length; list_pointer p1,p2,head; prinff("please input the node number of the link:/n"); scanf("&d",&length); printf("the nnmber of the link is:&d",length); printf("please input the dais for tile link node:/n"); i=0; p1=p2=(list_pointer)malloc(sizeof(list_node)); head=p1; for(i=1;i<length;i++) scanf("&d",&current); p1->data=curren1:。 p2->link=p1; p2=p1; p1=(list_pointer)malloc(sizeof(list_node)); p2->link=NULL; return head;
问答题以下是某C++程序,用来判定用户口令,请仔细阅读程序并完成要求。
//**********************************************************//
// 口令检验程序
// // 文件名:password_check. cpp
//
//**********************************************************//
#include<iostream. h> #include<string. h>
//**********************************************************//
// 主函数
//
//**********************************************************//
void main(void) { char
password[128]={'/0/}; cout<<“请输入您的口令:"; cout.
flush(); while(true){ cin.
getline(password,128,'/n'); if(strlen(password)<6)
//口令长度少于6位 {
cout<<"您的用户口令少于6个字符!"<<endl; cout<<"请重新输入:";
cout. flush(); }else{ bool capital=false;
//检验是否有大写字母 bool lowercase=false;
//检验是否有小写字母 bool digit=false;
//检验是否有数字 for(unsigned int
i=0;i<strlen(password);i++){
if(password[i]>='A'&&password[i]<='Z')
capital=true;
if(passwordEi]>="a"&&password[i]<='Z')
lowercase=true;
if(password[i]>='0'&&password[i]<='9')
digit=true; } //判断用户输入的口令中缺少哪中字符
if(capital){ cout<<"您的用户口令中没有大写字母!"<<endl;
cout<<"请重新输入:"; }else if(lowercase){
cout<<"您的用户口令中没有小写字母!"<<endl; cout<<"请重新输入:";
}else if(digit){ cout<<"您的用户口令中没有数字!"<<endl;
cout<<"请重新输入:"; }else{
cout<<"您的口令满足要求!"<<endl; break;
} } } }
问答题论述题1:以下是某软件项目规格说明,请按要求回答问题 某一软件项目的规格说明:对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理。 (1)请根据规格说明,画出对应的因果图。 (2)采用基于因果图的方法为该软件项目设计测试用例。
问答题以下是某“象棋中走马事件”应用程序的走马规则,请按要求回答问题。
以下是中国象棋中走马事件中的走马规则:
1)如果落点在棋盘外,则不移动棋子;
2)如果落点与起点不构成日字形,则不移动棋子;
3)如果落点处有己方棋子,则不移动棋子;
4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5)如果不属于1)~4)条,且落点处无棋子,则移动棋子。
6)如果不属于1)~4)条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
7)如果不属于1)~4)条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
问答题根据以下简单规格,确认输入整数有效性的应用程序。 (1)输入数由非零数字开始。 (2)该数字后面可接任意位数的数字。 (3)任何输入整数都应以空格结束。 请根据以上处理规则:
问答题针对以下C语言程序,请按要求回答问题。
已知weekday.c源程序如下:
#include<stidio.h>
#include<conio.h>
/*主函数*/
Int main()
{
Char letter;
Printf("please input the first letter, "Y" to exit!/n");
While((1etter=getch())!="Y") //当输入字母为Y时结束
{
Switch(letter)
{
Case "S":
Printf("%c/n", letter);
Printf("please input second letter/n"); //输入第二个字母
If((letter=getch())=="a")
Printf("Saturday/n");
Else if(letter=="u")
Printf("Sunday/n");
Else printf("data error/n");
Break;
Case "F":
Printf("fridaykn");
Break;
Case "M":
Printf("mondayha");
Break;
Case "T":
Printf("%c/n", letter);
Printf("please input second letter/a"); //输入第二个字母
If((letter=getch())=="u")
Printf("Tuesday/n");
Else if(letter=="h")
Printf("Thursday/n");
Break;
Case "W":
Printf("Wednesday/n");
}
}
Return 0;
}
问答题在QESuite Web Version 1.0中,已知Lead 1.0邮件系统测试项目的部分信息如下:
(1)测试版本:总计两个测试版本,按日期排序分为Lead1.0_090703、Lead1.0_090801。
(2)功能分类视图中部分待测区域及人员分配定义如下表所示:
功能区域
功能区域
测试人员
开发人员
安全
Test1
Developer 1
邮件系统
邮件管理
Test2
Developer2
发邮件
Test2
Developer2
……
……
收邮件
Test2
Developer2
性能
并发处理能力
Test5
Developer3
……
……已知在功能区域“性能/并发处理能力”下有一个软件问题处于“打开/修复失败”状态,下表中是该软件问题当前的部分操作历史信息,请依据QESuite
Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息填写表中空缺的操作历史信息。
操作序号
操作者
执行操作
操作后的问题状态
测试版本
1
新建
Lead1.0_090703
2
打开/再现
3
修复/修复
4
打开/修复失败
Lead1.0_090801
问答题以下是QESuite web Version 1.0用户手册的相关内容,请仔细阅读并按要求回答问题
问答题下图为对4个已知数字进行排序的程序流程图。问题:
问答题设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。
问答题以下是某C++程序,用来判定用户口令,请仔细阅读程序并完成要求。 //**********************************************************************// // 口令检验程序 // // // // 文件名:password_check.cpp// //*********************************************************************// # incllide<iostream.h> # include<string.h> //*********************************************************************// // 主函数 // //*******************************************************************// void main(void) char.password[128]='/o'; cout<<"请输入您的口令:"; cout.flush(); while(true) cin.getline(password,128,'/n'); if(strlen(password)<6) //口令长度少于6位 cout<<"您的用户口令少于6个字符!"<<endl; cout<<"请重新输入:"; cout.flush(); else bool capital=false; //检验是否有大写字母 bool lowercase=false: //检验是否有小写字母 bool digit=false; //检验是否有数字 for(unsigned int i=0;i<strlen(password);i++) if(password[i]>='A'&&password[i]<='z') capital=true; if(password[i]>='a'&&password[i]<='z') lowercase=true; if(password[i]>='0'&&password[i]<='9') digit=true; //判断用户输入的口令中缺少哪中字符 if(!capital) cout<<"您的用户口令中没有大写字母!"<<endl; cout<<"请重新输入:"; else if(!lowercase) cout<<"您的用户口令中没有小写字母!"<<endl; cout<<"请重新输入:"; else if(!digit) cout<<"您的用户口令中没有数字!"<<endl; cout<<"请重新输入:"; else cout<<"您的口令满足要求!"<<endl; break;
问答题以下是ATM系统交互功能的描述,请仔细阅读并完成要求。 ATM系统具有取款、查询和修改密码的功能。 进入初始页面,显示“请输入密码”。如果正确输入密码,则进入主操作页面,显示三个可选框,取款、查询、修改密码;如果密码输入错误,回到初始页面。 选择取款页面,请输入取款金额,如果金额合理可行,则ATM吐出现金,然后回到主操作页面;如果金额输入不合理,则回到取款页面。 选择查询页面,则显示当前余额,然后回到主操作页面。 选择修改密码页面,则提示输入新密码并确认,完成后回到主操作页面;如果新密码设置错误则回到修改密码页面。 最后在主操作页面选择退卡,ATM系统则退卡给用户,操作结束。
问答题根据状态转换图和状态转换表,导出基本路径测试的测试用例及其覆盖的测试路径。
问答题以下是某应用程序的输入条件限制,请按要求回答问题。
某应用程序的输入条件组合为: 姓名:填或不填 性别:男或女
状态:激活或未激活
问答题下图是一个简单的ATM机中描述验证信用卡PIN活动的有限状态机。其中包含五个用“”表示的状态和八个用“→”表示的转移。转移上的标签所遵循的是:横线上方是引起转移的事件,横线下方是与该转移相关联的行动。该有限状态机允许储户有三次输入PIN的机会,如果三次都输入错误,则停止交易退卡。请完成下列工作:
问答题
以下是某应用程序的输入条件限制,请按要求回答问题。 某应用程序的输入条件组合为:
姓名:填或不填 性别:男或女 状态:激活或未激活
问答题以下电费计算的几条规则,请按要求回答问题。
一些城市的电力公司把用户分为两类:单费率用户和复费率用户。对于单费率用户实行单一电价,即在任何时间段都是一个价;对于复费率用户在不同时段实行不同的电价。有4条计算电费的规则:对于单费率用户,按公式A计算电费;对于复费率用户,如果不在规定期间内,同单费率用户,按照公式A计算电费,否则按公式B计算;如果既不是单费率用户也不是复费率用户,则做其他处理。