| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 715 人关注过本帖
标题:这段c语言是什么意思
只看楼主 加入收藏
ppppphh
Rank: 1
等 级:禁止访问
帖 子:106
专家分:0
注 册:2010-4-11
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:2 
这段c语言是什么意思
#include<stdio.h>
#include<string.h>
struct   Worker  {
          char   name[15];
          int   age;
          float  pay;
};
int  Equal(struct  Worker*  r1, struct  Worker*   r2)
{   
           if(strcmp(r1―〉,name, r2―〉name)==0)return  1;
           else     return   0;
}

void   main()    {
          struct  Worker  a[4]={{"abc",25,420},{"defa",58,638},{"ghin",49,560},{"jklt",36,375}};
struct  Worker  x={"defa");
int  i;
for(i=0;i<4;i++)
          if(Equal(a+i,&x))  break;
if(i>=4) printf("没有查找所需的记录! \n");
else   printf("%s  %d  %6.2f\n",a[i],name,a[i],age,a[i],pay);
}
请问这段c语言是什么意思?

                                                         
搜索更多相关主题的帖子: c语言 
2010-07-02 21:30
suntea
Rank: 2
等 级:论坛游民
帖 子:59
专家分:88
注 册:2010-6-24
收藏
得分:5 
定义一个 struct work ;
work 有3个成员, name,age,pay(salary);
定义一个Equal函数,函数用来比较传入的work对象的name,名字一样 return 1; 不一样 return 0;
main()
创建一个work数组  内有4个元素, 分别进行了赋值]{"abc",25,420},{"defa",58,638},{"ghin",49,560},{"jklt",36,375};
创建一个work对象  x = "defa";//根本就是乱写的,无解!  应该是 x.name = "defa"
for循环
如果a+i 和 &(x.name) 相等 那么 break;

如果i>=4; printf("*******");
else   printf() //a[i].name ,a[i].age,a[i].pay;

大概意思是个查询用;
错误就是太多了,
自己改改吧 ,  
直接copy , 不晓得lz目的
2010-07-02 21:50
hnliji1107
Rank: 4
等 级:业余侠客
帖 子:53
专家分:216
注 册:2009-10-23
收藏
得分:5 
这是根据职工姓名,来查找职工信息的简易程序。

#include<stdio.h>
#include<string.h>

struct   Worker  
{
          char   name[15];
          int   age;
          float  pay;

};//定义了一个包含姓名、年龄、工资的职工结构体

int  Equal(struct  Worker*  r1, struct  Worker*   r2)//判断是否查找到(注意这里传递的是结构体的指针,所以要使用->)
{   
           if(strcmp(r1―>name, r2―>name)==0)
            {
                return  1;//找到返回1即真
            }
           else
            {
             return   0;//否则返回0即假
            }
}

void   main()   
{
            struct  Worker  a[4]={{"abc",25,420},{"defa",58,638},{"ghin",49,560},{"jklt",36,375}};//初始化数据源
            struct  Worker  x={"defa"};//(可能为了简单起见)特地指定了要查找的一个员工
            int  i;
            for(i=0;i<4;i++)//开始查找
            {
                if(Equal(a+i,&x))  
                {
                    break;//如果查找到了,就跳出循环不再浪费时间继续查找了
                }
            }
            if(i>=4)
            {
                printf("没有查找所需的记录! \n");//最后输出结果
            }
            else   
            {
                printf("%s  %d  %6.2f\n",a[i].name,a[i].age,a[i].pay);//如果查找到输出员工信息(注意这里是结构体本身,所以用.符号)
            }
}

另外,我帮你修改了一下代码格式,原来的格式实在是太难看了,还有if...else中最好使用{},代码格式是很重要的,可能在本程序中体现不出来,但是你如果写大程序的话如果不注意会很麻烦的,我在windows下写过7000多行的一个软件,你可以想象如果不注意代码格式会是什么后果...呵呵


[ 本帖最后由 hnliji1107 于 2010-7-2 22:18 编辑 ]
2010-07-02 21:58
快速回复:这段c语言是什么意思
数据加载中...
 
   



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

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