Kobe丶Bryant 2019-06-21 09:57 采纳率: 66.7%
浏览 447

Microsoft Visual Studio 2010 求个大神解决一下问题 帮帮忙啊!!菜鸟在线等

源文件
void menu()
{
int quanxianflag = 0;
char name1[10];
char password1[15];
show();
initial_stuff();
initial_goods();
printf("请输入用户名:\n");
scanf("%s",name1);
printf("请输入用户密码:\n");
scanf("%s",password1);
stuffnode *p2;
p2 = stuffhead;
while(p2->next != NULL)
{
if ((strcmp( p2->s.name, name1) == 0 && strcmp( p2->s.password, password1) == 0 ) &&
((strcmp( p2->s.quanxian, "y") == 0 || strcmp( p2->s.quanxian, "Y") == 0 )))
{
quanxianflag = 1;
break;
}
else
{
p2 = p2->next;
}
}
结构体
struct stuff //员工数据结构体
{
char name[10];
char password[10];
char quanxian[2];
};
struct goods //货品数据结构体
{
char number[20];
char name[20];
int quantity;
char cost[20];
char volume[20];
char weight[20];
};
typedef struct a
{
struct stuff s;
struct a *next;
}stuffnode;
typedef struct b
{
struct goods g;
struct b *next;
}goodsnode;
stuffnode *stuffhead = NULL; //全局结构体链表指针变量头指针
stuffnode *stuffp1 = NULL;
goodsnode *goodshead = NULL;
goodsnode *goodsp1 = NULL;
显示错误
错误 23 error C2065: “p2”: 未声明的标识符

警告 25 warning C4047: “=”:“int”与“stuffnode *”的间接级别不同

错误 22 error C2275: “stuffnode”: 将此类型用作表达式非法
错误 27 error C2223: “->next”的左侧必须指向结构/联合
错误 33 error C2198: “strcmp”: 用于调用的参数太少

错误 29 error C2223: “->s”的左侧必须指向结构/联合

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-06-21 11:43
    关注
    #include <stdio.h>
    #include <string.h>
    
    struct stuff //???????
    {
    char name[10];
    char password[10];
    char quanxian[2];
    };
    struct goods //???????
    {
    char number[20];
    char name[20];
    int quantity;
    char cost[20];
    char volume[20];
    char weight[20];
    };
    typedef struct a
    {
    struct stuff s;
    struct a *next;
    }stuffnode;
    typedef struct b
    {
    struct goods g;
    struct b *next;
    }goodsnode;
    
    
    stuffnode *stuffhead = NULL; //??????????????
    stuffnode *stuffp1 = NULL;
    goodsnode *goodshead = NULL;
    goodsnode *goodsp1 = NULL;
    
    void show()
    {
    
    }
    void initial_stuff()
    {
    
    }
    
    void initial_goods()
    {
    
    }
    
    void menu()
    {
        int quanxianflag = 0;
        char name1[10];
        char password1[15];
        show();
        initial_stuff();
        initial_goods();
        printf("??????:\n");
        scanf("%s",name1);
        printf("???????:\n");
        scanf("%s",password1);
        stuffnode *p2;
        p2 = stuffhead; 
        while(p2->next != NULL)
        {
            if ((strcmp( p2->s.name, name1) == 0 && strcmp( p2->s.password, password1) == 0 ) && 
            ((strcmp( p2->s.quanxian, "y") == 0 || strcmp( p2->s.quanxian, "Y") == 0 )))
            {
            quanxianflag = 1;
            break;
            }
            else
            {
            p2 = p2->next;
            }
        }
    }
    
    
    int main(int argc, char* argv[])
    {
        return 0;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示