| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 674 人关注过本帖
标题:请帮看哈什么地方错了~找了半天还是不行
只看楼主 加入收藏
bodyactione
Rank: 2
等 级:论坛游民
帖 子:46
专家分:15
注 册:2009-10-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
请帮看哈什么地方错了~找了半天还是不行
/* Note:Your choice is C IDE */
#include "stdio.h"
# include "string.h"
struct add
{  
   
    char a[20];
    int  n;
    };
 main()
{
    char b[20];
    int i;
    struct add emp[2];
    printf("please emp1");

    scanf("%s%d",&emp[0].a,&emp[0].n);
    printf("please emp2");
    scanf("%s%d",&emp[1].a,&emp[1].n);
    for(i=0;i<2;i++)
    {
    printf("%s,%d",emp[i].a,emp[i].n);
    printf("\n");
    }
    printf("shuru niyaochaxund shu");
        gets(b);
    switch(b[20])
    {
 case emp[0].a:printf("%s,%d",emp[0].a,emp[0].n);
 case emp[1].a:printf("%s,%d",emp[1].a,emp[1].n);
 default:printf("hun dan mei de zh ren");
    }
   
}这个是做的查询信息的~输入名字然后显示有关信息
2009-11-19 20:19
bodyactione
Rank: 2
等 级:论坛游民
帖 子:46
专家分:15
注 册:2009-10-20
收藏
得分:0 
自己顶哈 看哈了说哈给点希望貌似没人理的
2009-11-19 20:36
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:10 
程序代码:
#include "stdio.h"
#include "string.h"
struct add
{  
    
    char a[20];
    int  n;
    };
main()
{
    char b[20];
    int i;
    struct add emp[2];
    puts("please emp1");//用puts()函数能够在输出的时候自动换行//
    scanf("%s%d",emp[0].a,&emp[0].n);//不用&符号,因为字符数组的名称代表了首地址//
    getchar();//在输入完数的时候键入回车键,格式显得比较规范//
    puts("please emp2");
    scanf("%s%d",emp[1].a,&emp[1].n);
    getchar();//在输入完数的时候键入回车键,格式显得比较规范//
    for(i=0;i<2;i++)
    {
    printf("%s,%d",emp[i].a,emp[i].n);
    printf("\n");
    }
    puts("shuru niyaochaxund shu");
        gets(b);
   if(strcmp(b,emp[0].a)==0)//用这个函数才是正确的,比较两个字符串是否一样//
   printf("%s,%d",emp[0].a,emp[0].n);
   else
   if(strcmp(b,emp[1].a)==0)
   printf("%s,%d",emp[1].a,emp[1].n);
   else
   printf("hun dan mei de zh ren");
   return 0;
}

愿用余生致力编程
2009-11-19 21:07
ginkgo
Rank: 2
等 级:论坛游民
帖 子:20
专家分:54
注 册:2009-11-17
收藏
得分:5 
用这个代码
#include "stdio.h"
# include "string.h"
struct add
{  
   
    char a[20];
    int  n;
    };
main()
{
    char b[20];
    int i;
    int flag=-1;
    struct add emp[2];
    printf("please emp1");

    scanf("%s%d",emp[0].a,&emp[0].n);输入格式,注意!
    printf("please emp2");
    scanf("%s%d",emp[1].a,&emp[1].n);
    for(i=0;i<2;i++)
    {
    printf("%s,%d",emp[i].a,emp[i].n);
    printf("\n");
    }
    printf("shuru niyaochaxund shu");
        gets(b);
    if(strcmp(b,emp[0].a)==0)flag=0;
    if(strcmp(b,emp[1].a)==0)flag=1;
    switch(flag)
    {
case 0:printf("%s,%d",emp[0].a,emp[0].n);break;
case 1:printf("%s,%d",emp[1].a,emp[1].n);break;
default:printf("hun dan mei de zh ren");
    }
}
你主函数还少半个括号
2009-11-19 21:07
ginkgo
Rank: 2
等 级:论坛游民
帖 子:20
专家分:54
注 册:2009-11-17
收藏
得分:0 
主函数没少括号,没看到,抱歉
若果想用switch语句的话,这样就可以
2009-11-19 21:09
Bosen
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:65
专家分:102
注 册:2009-11-3
收藏
得分:5 
程序代码:
#include "stdio.h"
# include "string.h"
struct add
{  
    
    char a[20];
    int  n;
};
main()
{
    char b[20];
    int i;
    typedef struct add ADD;
    ADD emp[2];
    printf("please emp1");

    scanf("%s%d",&emp[0].a,&emp[0].n);
    printf("please emp2");
    scanf("%s%d",&emp[1].a,&emp[1].n);
    for(i=0;i<2;i++)
    {
    printf("%s,%d",emp[i].a,emp[i].n);
    printf("\n");
    }
    printf("shuru niyaochaxund shu");
        gets(b);
    switch(i)//case中i需要一个确定的值!
    {
case 0 :printf("%s,%d",emp[0].a,emp[0].n);break;
case 1 :printf("%s,%d",emp[1].a,emp[1].n);break;
default:printf("hun dan mei de zh ren");
    }
}
   你这个程序并不是很好!建议换一种思路编写!
2009-11-19 21:36
bodyactione
Rank: 2
等 级:论坛游民
帖 子:46
专家分:15
注 册:2009-10-20
收藏
得分:0 
/* Note:Your choice is C IDE */
#include "stdio.h"
# include "string.h"
struct add
{  
   
    char a[20];
    int  n;
    };
 main()
{
    char b[20];
    int i;
    struct add emp[2];
    printf("please emp1\n");

    scanf("%s%d",&emp[0].a,&emp[0].n);
    printf("please emp2\n");
    scanf("%s%d",&emp[1].a,&emp[1].n);
    for(i=0;i<2;i++)
    {
    printf("%s,%d\n",emp[i].a,emp[i].n);
    printf("\n");
    }
    printf("shuru niyaochaxund shu\n");
   
          fflush(stdin);
        gets(b);

    if (strcmp("[20]","(emp[0].a)"==0))
    printf("%s,%d",emp[0].a,emp[0].n);
    else if(strcmp("b[20]","(emp[1].a)==0"))
    printf("%s,%d",emp[1].a,emp[1].n);
    else
    printf("hun dan mei zh ren");

   
}为什么运行到输入B[]就出错误了编译能通过
2009-11-19 22:03
bodyactione
Rank: 2
等 级:论坛游民
帖 子:46
专家分:15
注 册:2009-10-20
收藏
得分:0 
回复 6楼 Bosen
你这个也运行不了~~出错
2009-11-19 22:14
xiefeng122
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:126
专家分:139
注 册:2009-4-1
收藏
得分:0 
switch()中的控制表达式还能是字符串?不是只能是整形或字符吗?其实字符也是整数值···
2009-11-19 23:16
快速回复:请帮看哈什么地方错了~找了半天还是不行
数据加载中...
 
   



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

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