| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:[求助]类型输入不匹配问题
取消只看楼主 加入收藏
溪水
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2006-3-14
收藏
 问题点数:0 回复次数:1 
[求助]类型输入不匹配问题
要求输入的数是float型,但你输入string类型,怎样写代码才可以提示你输入的类型错误

[此贴子已经被作者于2007-4-7 12:11:57编辑过]

搜索更多相关主题的帖子: 类型 输入 
2007-04-07 10:25
溪水
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2006-3-14
收藏
得分:0 

首先谢谢各位的回帖,也许是由于我没有把问题说清,才给大家带来了麻烦。现在我把问题再说的详细点,顺便把我做写出来的程序贴出来,希望大家多提点意见

题目类型[软件测试]
问题:用C或C++语言写一个通过输入三角形的三边生成一个三角形的程序,要求程序尽可能多的满足测试用例(普通三角形、等腰、等边三角形)。错误的测试用例要提示,例如:边出现负数、零、字符型的要提示出错

代码:#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <vector>

using namespace std;

int IsTri(float a,float b,float c)
{
if(a+b<=c)
{ cout<<"The edges cannot be TRI!"<<endl;
return 0;

}

else
if(a+c<=b)
{ cout<<"The edges cannot be TRI!";
return 0;

}
else

if(b+c<=a)
{ cout<<"The edges cannot be TRI!";
return 0;

}
else
return 1;

}
}


int main( )
{

float a,b,c;
int res;

cout<<"Please input 3 edges:\n"<<endl;

float n[3];
int ret,i=0;

while(i<=2)
{
do{
printf("input:");
ret=scanf("%f",&n[i]); //这里如果输入2e的话不会提示出错,因为我的编译器把它e默认为2.71929

while(getchar()!='\n')
ret=0;

if(ret!=0) i++;

if(ret==0)
cout<<"Please Input again\n";

}while(ret!=1);

}


if(n[0]==0||n[1]==0||n[2]==0)//判断是否为零值

cout<<"The value of Tri cannot be zero!"<<endl;

if(n[0]<0||n[1]<0||n[2]<0)//判断是否为负值

cout<<"The value of Tri cannot be a negative number!"<<endl;


res=IsTri(n[0],n[1],n[2]);

if(res)
{
cout<<n[0]<<" "<<n[1]<<" "<<n[2]<<" can make a Tri\n"<<endl;

}

if(n[0]==n[1]&&n[1]==n[2])

cout<<"It's a zheng Tri\n"<<endl;

else if(n[0]==n[1]||n[1]==n[2]||n[0]==n[2])

cout<<"It's a deng yao Tri\n"<<endl;

else

cout<<"It's a general Tri\n"<<endl;

return 0;
}

[此贴子已经被作者于2007-4-7 22:25:38编辑过]


菜鸟学习中.......
2007-04-07 22:11
快速回复:[求助]类型输入不匹配问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015950 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved