| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 674 人关注过本帖
标题:急呀,求大神
只看楼主 加入收藏
银河战舰2011
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-27
结帖率:88.89%
收藏
 问题点数:0 回复次数:6 
急呀,求大神
int a,b[SIZE_ROW][SIZE_COLUMN]={0};
    char c;
    display_mx(b); /*这个是其他的函数
    for(;;)
    {
    clrscr();     /*这个是其他的函数
    menu_mx();    /*这个是其他的函数
    scanf("%s",&c);
    a=c-'0';
    if(isdigit(c)!=0)   这个地方的问题最大,用的对吗?
        clrscr();   
        switch (a)
                case………………………………
  这个是主函数的一部分,为什么提示没有错误,但是无法运行   求指导呀
搜索更多相关主题的帖子: 函数 
2011-11-12 20:54
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
scanf("%s",&c);
你这句就有问题,应写为scanf("%c",&c);
程序不用这么复杂,可用

scanf("%c",&c);
switch(c)
case '1':...
case '2':...
以此类推
2011-11-12 23:15
银河战舰2011
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-27
收藏
得分:0 
回复 2楼 heroinearth
因为输入的c是一个字符型的  所以我才想用这个式子来转换成整形的变量  这样才能进行switch
2011-11-13 00:19
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
可以把输入的数字直接当字符处理不就行了。
2011-11-13 00:21
银河战舰2011
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-27
收藏
得分:0 
回复 4楼 heroinearth
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define SIZE_ROW 5
#define SIZE_COLUMN 5
void init_mx(int (*mx)[SIZE_COLUMN])
{
    int i,j;
    for(i=0;i<SIZE_ROW;i++)
    {
    for(j=0;j<SIZE_COLUMN;j++)
        {
        mx[i][j]=0;
        printf("%d",mx[i][j]);
        }
    printf("\n");
    }        
}
………………

int main(void)
{
    int b[SIZE_ROW][SIZE_COLUMN]={0};
    char c;
    display_mx(b);
    for(;;)
    {
    menu_mx();
    scanf("%c",&c);
    if(isdigit(c)!=0)
        clrscr();
        switch (c)
        {
        case '1':init_mx(b);break;
        case '2':upper_mx(b);break;
        case '3':lower_mx(b);break;
        case '4':random_mx(b);break;
        case '5':display_mx(b);break;
        case '6':transpose_mx(b);break;
        case '7':sum_mx(b);break;
        case '8':return 0;
        default:menu_mx();break;
        }
    if(isdigit(c)==0)
    clrscr();
    }
}
这个是我的部分代码  为什么输入之后不能显示出矩阵?
2011-11-13 01:21
luojie5683
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:69
专家分:49
注 册:2011-10-10
收藏
得分:0 
scanf("%s",&c);
c只是个字符变量,而%s是指字符串。
2011-11-13 05:48
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
以下是引用银河战舰2011在2011-11-13 01:21:34的发言:

#include  
#include  
#include  
#define SIZE_ROW 5
#define SIZE_COLUMN 5
void init_mx(int (*mx))
{
    int i,j;
    for(i=0;i

虽然我不明白你要画的是什么矩阵,
if(isdigit(c)!=0)
        clrscr();
if(isdigit(c)==0)
    clrscr();


语句完全可以删了,用case:'0':clrscr();break;代替。你说不能画可能跟 你用了上面的语句有关。for(;;)也可用while(1)代替,可主读性会更好。
2011-11-13 14:51
快速回复:急呀,求大神
数据加载中...
 
   



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

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