| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:请问在 dos 操作下怎么键盘输入知道输入数据结束并执行下一步操作呢?
只看楼主 加入收藏
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
结帖率:91.67%
收藏
已结贴  问题点数:2 回复次数:9 
请问在 dos 操作下怎么键盘输入知道输入数据结束并执行下一步操作呢?
看百度说是ctrl z,为什么我的不行呢!
上代码
程序代码:
#include "stdio.h"
#include <stdlib.h>
#define N 100
void conversion(int *q,int C);
void main()
{
    printf("请输入要转换的二进制数:");
    int *p;int count=1;int i;
    p=(int*)malloc(sizeof(int) * N);
    while(getchar() != '\n')
    {scanf("%d",p++);count++;}
    for(i=0;i<count;i++)
    {printf("输入的二进制数为:\n%d",*(p+i));}
    conversion(p,count);

}
void conversion(int *q,int C)
{
    int result=0;int i;
    for(i=0;i<C;i++)
    {
        result+=(*q*2);
    }
    printf("转换后的结果为:%d",result);

}
搜索更多相关主题的帖子: 下一步 百度 color 键盘 
2014-05-16 22:28
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
while(getchar() != '\n')
{scanf("%d",p++);count++;}


你想过他会怎么执行么?


[fly]存在即是合理[/fly]
2014-05-17 01:41
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 2 楼 azzbcc
那这块怎么结束怎么写呢?这样写还是不对啊
程序代码:
  p=(int*)malloc(sizeof(int) * N);
    while((getchar())!='\n')
    {
        *p=getchar();p++;count++;
    }
2014-05-17 18:36
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 2 楼 azzbcc
就是想输入一个任意的二进制数,以enter结束,并存到开辟的内存个中。
2014-05-17 18:37
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
for (char *p_tmp = p;'\n' != *p_tmp;p_tmp++)
{
  *p_tmp = getchar();
}


[fly]存在即是合理[/fly]
2014-05-17 19:10
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
用gets可以直接读一行,不过不建议用。


[fly]存在即是合理[/fly]
2014-05-17 19:11
icanbestrong
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:138
注 册:2013-3-13
收藏
得分:0 
回车是\t吧,我觉得你可以以一个特殊字符但不是特别特殊的那种作为结束标志,比如#号。我也遇到过这个问题,百度了一下,说EOF是根据操作系统不同那个按键也会不一样,不过windows下确实是ctrl+z,但是不管用,我的解决方法就是上面提到的,希望可以帮到你
2014-05-17 20:57
icanbestrong
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:138
注 册:2013-3-13
收藏
得分:0 
回车是\t吧,我觉得你可以以一个特殊字符但不是特别特殊的那种作为结束标志,比如#号。我也遇到过这个问题,百度了一下,说EOF是根据操作系统不同那个按键也会不一样,不过windows下确实是ctrl+z,但是不管用,我的解决方法就是上面提到的,希望可以帮到你
2014-05-17 20:57
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 7 楼 icanbestrong
我后来改的 那部分有错误吗?
还是说就是最后在电脑上不行。
嗯嗯,加特殊符号的挺好的也,谢谢啦!不一定要用换行键表示结束,嗯嗯。,thanks
2014-05-18 00:37
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 5 楼 azzbcc
不懂唉!
2014-05-18 11:59
快速回复:请问在 dos 操作下怎么键盘输入知道输入数据结束并执行下一步操作呢?
数据加载中...
 
   



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

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