这个C++程序错哪里了?

来源:百度知道 编辑:UC知道 时间:2024/05/13 22:57:28
#include<iostream.h>
#include<string.h>
class puke
{
char huase[20];
char shuzhi[20];
public:
void shuru(int n);
void shuchu(int n);
}puke[52];
void puke::shuru(int n)
{
switch(n%4)
{case 0:strcmp(huase,"hongtao");break;
case 1:strcmp(huase,"heitao");break;
case 2:strcmp(huase,"meihua");break;
case 3:strcmp(huase,"caohua");break;
}
switch(n/4)
{case 0:strcmp(shuzhi,"3");break;
case 1:strcmp(shuzhi,"3");break;
case 2:strcmp(shuzhi,"3");break;
case 3:strcmp(shuzhi,"3");break;
case 4:strcmp(shuzhi,"3");break;
case 5:strcmp(shuzhi,"3");break;
case 6:strcmp(shuzhi,"3");break;
case 7:strcmp(shuzhi,"3");break;
case 8:strcmp(shuzhi,"3");break;
case 9:strcmp(shuzhi,"3");break;
case 10:strcmp(shuzhi,&q

不该用strcmp吧,那个是字符串比较,应该用strcpy才能赋值

最后循环错误!

#include<iostream.h>
#include<string.h>
class puke
{
char huase[20];
char shuzhi[20];
public:
void shuru(int n);
void shuchu(int n);
}p[52]; //另外取了一名p
void puke::shuru(int n)
{
switch(n%4)
{case 0:strcpy(p[n].huase,"hongtao");break; //huase前面加上p[n].
case 1:strcpy(p[n].huase,"heitao");break;
case 2:strcpy(p[n].huase,"meihua");break;
case 3:strcpy(p[n].huase,"caohua");break;
}
switch(n/4)
{case 0:strcpy(p[n].shuzhi,"1");break; //改为输出数字,而不是全3
case 1:strcpy(p[n].shuzhi,"2");break;
case 2:strcpy(p[n].shuzhi,"3");break;
case 3:strcpy(p[n].shuzhi,"4");break;
case 4:strcpy(p[n].shuzhi,"5");break;
case 5:strcpy(p[n].shuzhi,"6");break;
case 6:strcpy(p[n].shuzhi,"7");brea