找错:输入一个合理的数字?高手请进!!!

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:09:55
/*
输入一个合理的这数字:
1、这个数大于等于0且小于等于9。
2、可以输入一个'-'只能在数字最前端,可以输入一个'.'如果有'-'必须在第三位或以
后,如果没有'-'必须在第二位或以后,'.'不能在最后一位。
3、遇到'\n'时停止输入。原要求是用(c=getch())!='\r'结束,可是getch();无法正确?
识别出输入字符而getchar();不能识别'\r'所以就变成现在这样了。
4、输入退格键时用'\b'删除一个字符如果删掉了'-'或'.'就还可以你再次输入'-'或
'.'。?
*/
#include<stdio.h>
main()
{
char c;
unsigned int i=0,cunst=0,dian=0; /*i记录当前光标所在的位置,cunst记录是否输
入了'-'如果输入了cunst=1,如果没有输入coust=0,dian记录'.'的位置如果没有输入
cunst=1。*/
while((c=getchar())!='\n')
{
if(c>='0'&&c<='9') /*当输入数字时。*/
{
putchar©;
i++;
}
if(c=='\b') /*当输入退格键时。*/
{
if(i==dian

1.缺少头文件 conio.h
2.putchar©;应该是putchar(c);缺少参数
3.main前面最好加个void 因为你的这个程序没有返回值(这个只是警告!)
下面是修改好了的程序!(编译没问题了! 逻辑错误没看^_^有的话联系我咯^_^)
/*
输入一个合理的这数字:
1、这个数大于等于0且小于等于9。
2、可以输入一个'-'只能在数字最前端,可以输入一个'.'如果有'-'必须在第三位或以
后,如果没有'-'必须在第二位或以后,'.'不能在最后一位。
3、遇到'\n'时停止输入。原要求是用(c=getch())!='\r'结束,可是getch();无法正确?
识别出输入字符而getchar();不能识别'\r'所以就变成现在这样了。
4、输入退格键时用'\b'删除一个字符如果删掉了'-'或'.'就还可以你再次输入'-'或
'.'。?
*/
#include<stdio.h>
#include<conio.h>
void main()
{
char c;
unsigned int i=0,cunst=0,dian=0; /*i记录当前光标所在的位置,cunst记录是否输
入了'-'如果输入了cunst=1,如果没有输入coust=0,dian记录'.'的位置如果没有输入
cunst=1。*/
while((c=getchar())!='\n')
{
if(c>='0'&&c<='9') /*当输入数字时。*/
{
putchar(c);//