一根小草飘呀飘 2020-09-30 15:07 采纳率: 0%
浏览 59

妃子管理系统打印哪里出了问题?#C语言

运行界面的信息输入进去,但是浏览的时候什么也没有。
#define STACK_INIT_SIZE
#include
#include
#include
//No.3 数据管理设计---->结构体封装
struct MM
{
char name[20];
int age;
int num;
char addr[20];

};
//No.4 改链表--------和数据有关的都要改
//链表 把结构体变量跟结构体变量链接在一起
struct Node{

//int data;//数据
struct MM data;
struct Node*next;//指针
};
//创建节点
struct Node*list =NULL;

struct Node* createList()
{
struct Node* headNode = (struct Node*)malloc(sizeof (struct Node));
headNode->next=NULL;
return headNode;
}

struct Node* createNode(struct MM data)
{
struct Node* newNode = (struct Node*)malloc(sizeof (struct Node));
newNode->data= data;
newNode->next;
return newNode;
}

//1.插入方式,表头插入
void insertByHead(struct Node* headNode,struct MM data)
{
struct Node* newNode=createNode(data);
}
//2.一种删除---指定位置删除
void deleteByName(struct Node*headNode,char posName)
{
struct Node
posfrontNode =headNode;
struct Node* posNode =headNode->next;
while(posNode!=NULL&&strcmp(posNode->data.name,posName))
{
posfrontNode = posNode;
posNode=posfrontNode->next;
}if(posNode=NULL)
return;
posfrontNode->next = posNode;
free(posNode);
posNode=NULL;
}

//3.一种查找方式
struct Node* searchByname(struct Node*headNode,char posName)
{
struct Node
pMove = headNode->next;
while(pMove!=NULL&&strcmp(pMove->data.name,posName))
{

pMove = pMove->next;
} return pMove;
}
struct Node* searchByage(struct Node*headNode,int age)
{
struct Node* pMove = headNode->next;
while(pMove!=NULL&&pMove->data.age== age) {
pMove = pMove->next; }

return pMove;
}
//4.需要一种打印方式
void printList(struct Node* headNode)
{
struct Node* pMove = headNode->next;
printf("姓名\t年龄\t编号\t住址\n");

while(pMove!=NULL)

{
printf("%s\t%d\t%d\t%s\n",pMove->data.name,pMove->data.age,pMove ->data.num,pMove->data.addr);
pMove=pMove->next;
} printf("\n");
}
//No.1 做界面
void makeMenu()
{
printf("--------后宫管理系统--------\n"
"\t\t 0.退出系统\n"
"\t\t 1.登陆妃子信息! \n "
"\t\t 2.浏览妃子信息! \n "
"\t\t 3.查找妃子信息! \n"
"\t\t 4.打入冷宫! \n"
"\t\t 5.修改妃子信息 \n"
"t\t 6.删除所有姓名相同的妃子姓名!\n"

"\t\t 7.排序显示! \n") ;
printf("请输入你的选择:(0-7)");
}
//No.2 按键交互
void keyDown()
{ int userKey=0;
struct MM data;//临时存储信息
struct Node* result=NULL;
scanf("%d",&userKey);
switch(userKey)
{
case 0:
printf("正常退出!\n");
system("pause");
exit(0);

    case 1:
        printf("input name age num addr:");
        scanf("%s%d%d%s",data.name,&data.age,&data.num,data.addr);
        insertByHead(list,data);
        break;
    case 2:
        printList(list);
        break;
    case 3:
        printf("请输入妃子的姓名:");
        scanf("%s",data.name);
        result = searchByname(list,data.name);
        if(result==NULL)
        {
            printf("查无此人!\n"); 
        } 
         else{
            printf("姓名\t年龄\t编号\t住址\n");
            printf("%s\t%d\t%d\t%s\n",result->data.name,result->data.age,result->data.num,result ->data.addr);

         }

        break;
    case 4:
        printf("请输入要删除的妃子的姓名:");
        scanf("%s",data.name);
        deleteByName(list,data.name);
        printf("操作成功!\n"); 
        break;
    case 5:
        printf("请输入要修改妃子的姓名:");
        scanf("%s",data.name);
        result = searchByname(list,data.name);
        if(result==NULL)
        {
            printf("查无此人!无法修改\n"); 
        } 
         else{
            printf("input new name age num addr:");
            scanf("%s\t%d\t%d\t%s\n",result->data.name,&result->data.age,&result->data.num,result ->data.addr);
            printf("修改成功!"); 
         }

        break;
    case 6:
        break;
    case 7:
        break;                  
    default :
        printf("输入错误,请重修输入!\n"); 
        break;

}

}

int main()
{

list=createList();

while (1)
{
makeMenu();
keyDown();
system("pause");//防止闪屏
system("cls");//清屏
}

getchar(); 
return  0;

}

代码奉上,求好心人帮帮我,谢谢

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-09-30 22:01
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算