benglala0828 2021-12-11 21:03 采纳率: 100%
浏览 83
已结题

公司员工基本信息管理程序设计 设计结构体数组,结构中包含数据为:员工编号、姓名、性别、年龄、职务、部门、住址。 设计各个函数

会无限循环

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int n;
struct employee
{
    int  num;
    char name[20];
    char sex;
    char post[20];
    char department[30];
    char Addr[50];
    int  age;
};
struct employee peo[10];
void addmessages(struct employee peo[])
{
    char c[2];
    do
    {
        printf("员工编号.姓名.性别.年龄.职务.部门.住址\n");
        scanf("%d %s %c %d %s %s %s",&peo[n].num,peo[n].name,&peo[n].sex,&peo[n].age,peo[n].post,peo[n].department,peo[n].Addr);
        n++;
        printf("\n继续输入下一次请按Y或y:");
        scanf("%s",c);
    }
    while(!(strcmp(c,"Y"))||!(strcmp(c,"y")));
}
void show( struct employee peo[])
{
    int i;
    for(i=0; i<n; i++)
    {
        printf("%d %s %c %d %s %s %s\n",peo[i].num,peo[i].name,peo[i].sex,peo[i].age,peo[i].post,peo[i].department,peo[i].Addr);
    }
}
void find(struct employee peo[])
{
    printf("输入部门,性别查找员工信息:");
    int i;    //n,
    char bm[20];
    char sex1;
    scanf("%s %c",bm,&sex1);
    for(i=0; i<n; i++)
    {
        if((strcmp(peo[i].department,bm)==0)&&(peo[i].sex == sex1))
        {
            printf("%d %s %c %d %s %s %s\n",peo[i].num,peo[i].name,peo[i].sex,peo[i].age,peo[i].post,peo[i].department,peo[i].Addr);
            break;
        }
    }
    if(i >= n)
        printf("not found!\n");
}
main()
{
    int menu ;
    while (1)
    {
        printf ("1. 输入数据 \n");
        printf ("2. 显示所有员工信息 \n");
        printf ("3. 输入部门、性别,显示该部门的员工记录\n");
        printf ("4. 结束.");
        printf("请输入数字1—3:");
        scanf("%d",&menu);
        switch (menu)
        {
        case 1:
            addmessages(peo);
            break ;
        case 2:
            show(peo);
            break;
        case 3:
            find(peo);
            break;
        case 4:
            exit(0);
        }
    }
}


  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-12-11 21:30
    关注

    int n;应该初始化n为0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月11日
  • 已采纳回答 12月11日
  • 创建了问题 12月11日

悬赏问题

  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?