| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:用结构体来查询信息 没什么显示 请各位改正下 我是新手!
只看楼主 加入收藏
Sun_mark
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2011-2-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
用结构体来查询信息 没什么显示 请各位改正下 我是新手!
#include"stdio.h"

#ifndef NULL
#define NULL 0
#endif /*end if define NULL*/
struct student
        {
                char name[10];
                int num;
                int tel;
                        };
        main()
{ int i,k;
  struct student  s[]={{"qqq",17,613},
                       {"sss",28,662},
                       {"bbb",43,28789}
                      };
              for(i=0;i<3;i++)
      {printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);//显示这些数据
       }
           printf("intput num:");
           scanf("%d\n",&k);//输入一个数
         for(i=0;i<3;i++)
         {

          if(s[i].num==k)
          printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);
            else
            printf("is a NO\n");
            }


getch();
}
搜索更多相关主题的帖子: 查询信息 结构体 
2011-02-23 12:10
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
收藏
得分:5 
        scanf("%d\n",&k);这个\n去掉。因为无法接收。

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2011-02-23 12:37
Sun_mark
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2011-2-23
收藏
得分:0 
谢谢  但是我怎么把每次的else后面的数据取消? 我输入一个对的数  但是后面还跟着一个NO !
2011-02-23 13:23
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:5 
#include"stdio.h"

#ifndef NULL
#define NULL 0
#endif /*end if define NULL*/
struct student
        {
                char name[10];
                int num;
                int tel;
                        };
        main()
{ int i,k;
  struct student  s[]={{"qqq",17,613},
                       {"sss",28,662},
                       {"bbb",43,28789}
                      };
              for(i=0;i<3;i++)
      {printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);//显示这些数据
       }
           printf("intput num:");
           scanf("%d",&k);//输入一个数
         for(i=0;i<3;i++)
         {

          if(s[i].num==k)
         
        
             printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);
            break;//找到对的就跳出循环,这样主可以了
        
        else
            printf("is a NO\n");
            }


getch();
}

勤能补拙,熟能生巧!
2011-02-23 13:45
marschant
Rank: 2
等 级:论坛游民
帖 子:18
专家分:31
注 册:2009-12-31
收藏
得分:5 
回复 4楼 huangapple
肯定不行啊,第一次检测不符合的话,就会产生输出,直到符合才能跳出。
2011-02-23 13:51
marschant
Rank: 2
等 级:论坛游民
帖 子:18
专家分:31
注 册:2009-12-31
收藏
得分:0 
回复 楼主 Sun_mark
楼主,有问题先找书本,一味问解决不了本质问题啊
2011-02-23 14:07
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
#include"stdio.h"

#ifndef NULL
#define NULL 0
#endif /*end if define NULL*/
struct student
        {
                char name[10];
                int num;
                int tel;
                        };
        main()
{ int i,k;
  struct student  s[]={{"qqq",17,613},
                       {"sss",28,662},
                       {"bbb",43,28789}
                      };
              for(i=0;i<3;i++)
      {printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);//显示这些数据
       }
           printf("intput num:");
           scanf("%d",&k);//输入一个数
         for(i=0;i<3;i++)
         {

          if(s[i].num==k)
         
        
             printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);
             int ill = 0;        
            }
        if(ill != 0)
            printf("NO\n");

getch();
}

勤能补拙,熟能生巧!
2011-02-23 14:32
Sun_mark
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2011-2-23
收藏
得分:0 
回复 5楼 marschant
恩 知道  谢谢你!
2011-02-23 19:26
format123
Rank: 2
等 级:论坛游民
帖 子:35
专家分:60
注 册:2010-11-26
收藏
得分:5 
#include"stdio.h"

#ifndef NULL
#define NULL 0
#endif /*end if define NULL*/
struct student
        {
                char name[10];
                int num;
                int tel;
                        };
        main()
{ int i,k;
  struct student  s[]={{"qqq",17,613},
                       {"sss",28,662},
                       {"bbb",43,28789}
                      };
              for(i=0;i<3;i++)
      {printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);//显示这些数据
       }
           printf("intput num:");
           scanf("%d",&k);//输入一个数
         for(i=0;i<3;i++)
         {

          if(s[i].num==k)   
          {
              printf("%s %d %d\n",s[i].name,s[i].num,s[i].tel);
           break;
          }
          else
          {
              printf("is a NO\n");
            break;
          }
         }

getch();
}

要善用几种循环控制
2011-02-23 20:46
Sun_mark
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2011-2-23
收藏
得分:0 
回复 8楼 Sun_mark
你好  我输入你的那程序  我输入28  但显示的是is  a NO  而不是显示28对应的内容  怎么回事?
2011-02-24 12:33
快速回复:用结构体来查询信息 没什么显示 请各位改正下 我是新手!
数据加载中...
 
   



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

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