24小时热门版块排行榜    

查看: 863  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyj8119

木虫 (著名写手)

[交流] 【求助】请教一个C++语言程序 已有1人参与

CODE:
#include
#include
struct DIC{
        char name[3];
        char code[5];
};
struct PROD{
        char name[3];
        char no[3];
};

void code(PROD *p1,int m,DIC *p2,int n)
{    for(int i=0;i              char code[8];
                 for(int j=0;j                          if(strcmp((p1+i)->name,(p2+j)->name)==0){
                                 strcpy(code,(p2+j)->code);
                                 strcpy(code+4,(p1+j)->no);
                                 break;
                         }
                         if(j>=n){
                                 cout<<"企业名称:"<<(p1+i)->name<<';';
                                 cout<<"内部产品编号:"<<(p1+i)->no<<','<<"企业名不存在"<                                  continue;
                         }
                         for(int k=0,m=0;k<6;k++)
                                 if(code[k]=='1')m++;
                         code[k]=m%2+'0';
                         code[k+1]='\0';
                         cout<<"企业名称:"<<(p1+i)->name<<',';
                         cout<<"内部产品编号:"<<(p1+i)->no<<','<<"产品代码:"< }
}

void main()
{    DIC di[4]={"AA","0101","BB","1101","CC","0111","DD","1111"};
     PROD pr[5]={"AA","01","BB","10","CC","11","EE","10","DD","01"};
         code(pr,5,di,4);
}

[ Last edited by zyj8119 on 2010-11-1 at 21:24 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fzr417

木虫 (正式写手)

zyj8119(金币+2):谢谢! 2010-11-02 16:40:42
引用回帖:
Originally posted by zyj8119 at 2010-11-01 21:20:29:

code[k]=m%2+'0';
                         code[k+1]='\0';
这两句是什么意思?"\0"和'\0'有什么区别?

code[k]=m%2+'0';表示给code[k]赋值,值的大小为字符'0'(m为偶数时),或者字符'1'(m为奇数时)

其中%为取余的意思,就是m除以2的余数

'\0'表示一个空字符,通常用来做字符串结束符的标志符(因c,c++字符串结束时的默认标志就是这个)

"0"表示一个字符串,包括0与上面的'/0',即是两个字符
9楼2010-11-02 14:28:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by zyj8119 at 2010-11-01 21:19:21:
[code]#include
#include
struct DIC{
        char name[3];
        char code[5];
};
struct PROD{
        char name[3];
        char no[3];
};

void code(PROD *p1,int m,DIC *p2,int n ...

code[k]=m%2+'0';
                         code[k+1]='\0';
这两句是什么意思?"\0"和'\0'有什么区别?
好好学习,天天向上。
2楼2010-11-01 21:20:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by zyj8119 at 2010-11-01 21:20:29:

code[k]=m%2+'0';
                         code[k+1]='\0';
这两句是什么意思?"\0"和'\0'有什么区别?

还有=和==有什么区别?||和&&有什么区别?
好好学习,天天向上。
3楼2010-11-01 21:23:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚


zyj8119(金币+1):谢谢参与
CODE:
code[k]=m%2+'0';
code[k+1]='\0';

这是要“凑”一个什么码。

例如,m=8的话,m%2=0
那么,code[k]这个字符就是‘0’

而,m=9的话,m%2=1
那么,code[k]这个字符就是‘1’;即'0'+1,字符'0'加上1,就是字符'1'。

code[k+1]='\0';

这是为了给code这个字符串加上一个结束符。
5楼2010-11-01 22:58:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见