| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 546 人关注过本帖
标题:数据结构求对错
只看楼主 加入收藏
a1371147985
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-11-25
结帖率:0
收藏
已结贴  问题点数:10 回复次数:7 
数据结构求对错
一、    按以下要求提交源代码(50分)

项目  员工档案管理系统(用单链表完成)
基本要求
1、员工结点数据项:员工号,姓名,性别、出生日期、电话等。
2、简单的注释
2、能完成以下菜单功能:

               |**********欢迎进入员工档案管理系统********|
               |                 1.录入员工信息           |
               |                 2.显示员工信息           |
               |                 3.查询员工信息           |
               |                 4.修改员工信息           |
               |                 5.添加员工信息           |
               |                 6.删除员工信息           |
               |                 7.统计员工信息           |
               |                 0.退出                   |
               |******************************************|
请输入您所选的选项(0--7):
#include<stdio.h>
#define MAX 100
typedef int Staff;

typedef struct     //学生信息结构体定义
{
    char num[MAX];
    char name[20];
    char sex[8];
    char birth[20];
    char telenum[20];
}ElemType;
typedef struct
{
    ElemType data[MAX];
    int length;
}SqList;
void ListInit(SqList *L)//录入员工信息
{
    int x,i;
    L->length=0;
    printf("请输入要输入员工的人数:\n");
    scanf("%d",&x);
    for(i=0;i<x;i++)
    {
        printf("请输入第%d个员工的信息:\n", i + 1);    //输入数据元素
            printf("员工号:");
            scanf("%d", &L->data[i].num);
            printf("姓名:");
            scanf("%s", L->data[i].name, 20);
            printf("性别:");
            scanf("%s", L->data[i].sex, 8);
            printf("出生日期:");
            scanf("%s", L->data[i].birth, 20);
            printf("电话号码:");
            scanf("%s",L->data[i].telenum,20);
        }
        L->length++;
}
void PrintList(SqList *L)//查询员工信息
{
    int i;
    printf("*****************************\n");
    printf("输出员工表:\n");
    printf("*****************************\n");
    for (i = 0; i < L->length; i++)
    {
        printf("%d的信息为:\n", L->data[i].num);
        printf("姓名:%s\n", L->data[i].name);
        printf("性别:%s\n", L->data[i].sex);
        printf("出生日期:%s\n", L->data[i].birth);
        printf("电话号码:%s\n", L->data[i].telenum);
    }
}
Staff LocateElem(SqList *L)//查询员工信息
{
    ;
    return 0;
}



Staff ListInsert(SqList *L)//添加员工信息
{
    ;
    return 0;
}
Staff ListDelete(SqList *L)//删除员工信息
{
    ;
    return 0;
}

int main()//主函数
{
    SqList L;
    int n;
    while (1)
    {
    printf("|******欢迎进入员工档案管理系统******|\n");
    printf("|            1.录入员工信息          |\n");
    printf("|            2.显示员工信息          |\n");
    printf("|            3.查询员工信息          |\n");
    printf("|            4.修改员工信息          |\n");
    printf("|            5.添加员工信息          |\n");
    printf("|            6.删除员工信息          |\n");
    printf("|            7.统计员工信息          |\n");
    printf("|            0.退出                  |\n");
    printf("请输入您所选的选项(0--7):\n");
        scanf("%d", &n);
        switch (n)
        {
        case 1:    ListInit(&L); break;
        case 2:    PrintList(&L); break;
        case 3:    LocateElem(&L); break;
        case 4:    ListInsert(&L); PrintList(&L); break;
        case 5: ListDelete(&L); PrintList(&L); break;
        default:printf("Enter data error!\n");
        }
    }

    return 0;
}
搜索更多相关主题的帖子: 档案管理 出生日期 源代码 电话 项目 
2015-06-07 12:15
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:5 
挺高大上的哎!
等等。。又是作业
Staff LocateElem(SqList *L)//查询员工信息
Staff ListInsert(SqList *L)//添加员工信息
Staff ListDelete(SqList *L)//删除员工信息

2015-06-07 14:07
a1371147985
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-11-25
收藏
得分:0 
回复 2楼 hjx1120
对啊!帮我看看弄的对不对,那个还在弄,可我同学说我弄错了!

暗夜星流年
2015-06-07 14:31
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:5 
项目  员工档案管理系统(用单链表完成)
基本要求
1、员工结点数据项:员工号,姓名,性别、出生日期、电话等。
2、简单的注释
2、能完成以下菜单功能

且不说是作业贴,能不能看看这是不是数据结构的板块?
你们到底想干什么?

剑栈风樯各苦辛,别时冰雪到时春
2015-06-07 14:54
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
项目  员工档案管理系统(用单链表完成)
程序代码:
typedef struct     //学生信息结构体定义
{
    char num[MAX]; 
    char name[20]; 
    char sex[8]; 
    char birth[20];
    char telenum[20];
}ElemType;
typedef struct
{
    ElemType data[MAX];              //结构体数组嵌套定义,很明显的顺序结构
    int length;                 
}SqList;

这是什么?这种连基本要求都不知道的代码(下面的错误就不说了)也贴上来
你觉得C板块的人没学过数据结构?
收到的鲜花
  • a13711479852015-06-08 19:12 送鲜花  3朵   附言:我很赞同

剑栈风樯各苦辛,别时冰雪到时春
2015-06-07 15:21
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
大概改了C板块的代码,希望楼主能多思考。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100
typedef int Staff;

typedef struct ElemType{    //学生信息结构体定义
    char num[MAX]; 
    char name[20]; 
    char sex[8]; 
    char birth[20];
    char telenum[20];
    struct ElemType *next;
}ElemType;
typedef struct
{
    ElemType *data;
    int length;
}SqList;
void ListInit(SqList &L){//录入员工信息 
    int x,i;
    L.length=0;
    L.data=(ElemType *)malloc(sizeof(ElemType));
    ElemType *p=L.data;
    printf("请输入要输入员工的人数:\n");
    scanf("%d",&x);
    for(i=0;i<x-1;i++){
        p->next=(ElemType *)malloc(sizeof(ElemType));
        printf("请输入第%d个员工的信息:\n", i + 1);    //输入数据元素
        printf("员工号:");
        scanf("%s",p->num);
        printf("姓名:");
        scanf("%s",p->name);
        printf("性别:");
        scanf("%s",p->sex);
        printf("出生日期:");
        scanf("%s",p->birth);
        printf("电话号码:");
        scanf("%s",p->telenum);
        L.length++;
        p=p->next;
    }
    printf("请输入第%d个员工的信息:\n", i + 1);    //输入数据元素
    printf("员工号:");
    scanf("%s", p->num);
    printf("姓名:");
    scanf("%s",p->name);
    printf("性别:");
    scanf("%s",p->sex);
    printf("出生日期:");
    scanf("%s",p->birth);
    printf("电话号码:");
    scanf("%s",p->telenum);
    L.length++;
    p->next=NULL;
}
void PrintList(SqList L){//输出员工信息 
      int i;
    ElemType *p=L.data;
    printf("*****************************\n");
    printf("输出员工表:\n");
    printf("*****************************\n");
    for (i = 0;i < L.length; i++){
        printf("%s的信息为:\n", p->num);
        printf("姓名:%s\n",p->name);
        printf("性别:%s\n",p->sex);
        printf("出生日期:%s\n",p->birth);
        printf("电话号码:%s\n",p->telenum);
        p=p->next;
    }
}
void LocateElem(SqList L){//查询员工信息
   int i;
    ElemType *p=L.data;
    char num1[MAX];
    printf("请输入员工的员工号:\n");
    scanf("%s",num1); 
    printf("*****************************\n");
    printf("输出员工表:\n");
    printf("*****************************\n");
    for (i = 0;i < L.length; i++){
        if(!strcmp(num1,p->num)){ 
            printf("%s的信息为:\n", p->num);
            printf("姓名:%s\n",p->name);
            printf("性别:%s\n",p->sex);
            printf("出生日期:%s\n",p->birth);
            printf("电话号码:%s\n",p->telenum);
            break;
        }
        p=p->next;
    }
    if(i==L.length)printf("输入有误,员工号不存在:\n");
}

 void ListUpdate(SqList &L){ 
    ElemType *p=L.data,*q;
    char num1[MAX];
    int i; 
    while(p->next)p=p->next;
    q=(ElemType *)malloc(sizeof(ElemType));
    q->next=NULL;
    printf("请输入员工的员工号:\n");
    scanf("%s",num1); 
    for (i = 0;i < L.length; i++){
        if(!strcmp(num1,p->num)){ 
            break;
        }
        p=p->next;
    }
    if(i==L.length)printf("输入有误,员工号不存在:\n");
    else{
        printf("请输入%s员工的更改后的信息:\n");    //输入数据元素 
        printf("姓名:");
        scanf("%s",p->name);
        printf("性别:");
        scanf("%s",p->sex);
        printf("出生日期:");
        scanf("%s",p->birth);
        printf("电话号码:");
        scanf("%s",p->telenum);  
        printf("修改成功\n");
    }
    
}
void ListInsert(SqList &L){//添加员工信息
    ElemType *p=L.data,*q;
    while(p->next)p=p->next;
    q=(ElemType *)malloc(sizeof(ElemType));
    q->next=NULL;
    printf("请输入新员工的信息:\n");    //输入数据元素
    printf("员工号:");
    scanf("%s", q->num);
    printf("姓名:");
    scanf("%s",q->name);
    printf("性别:");
    scanf("%s",q->sex);
    printf("出生日期:");
    scanf("%s",q->birth);
    printf("电话号码:");
    scanf("%s",q->telenum); 
    p->next=q;
    L.length++;
}
void ListDelete(SqList L){//删除员工信息 
    int i; 
    char num1[MAX];
    ElemType *p=L.data,*q;
    printf("请输入员工的员工号:\n");
    scanf("%s",num1); 
    if(!strcmp(num1,p->num))p=p->next;
    else
    for (i = 0;i < L.length-1; i++){
        q=p->next;
        if(!strcmp(num1,q->num)){ 
            p->next=q->next;
            L.length--;
            printf("删除成功\n");
            break;
        }
        p=p->next;
    }
    if(i==L.length)printf("输入有误,员工号不存在:\n"); 
}

int main(){//主函数 
    SqList L;
    int n;
    while (1){
    printf("|******欢迎进入员工档案管理系统******|\n");
    printf("|            1.录入员工信息          |\n");
    printf("|            2.显示员工信息          |\n");
    printf("|            3.查询员工信息          |\n");
    printf("|            4.修改员工信息          |\n");
    printf("|            5.添加员工信息          |\n");
    printf("|            6.删除员工信息          |\n");
    printf("|            7.统计员工信息          |\n");
    printf("|            0.退出                  |\n");
    printf("请输入您所选的选项(0--7):\n");
        scanf("%d", &n);
        switch (n){
        case 1: ListInit(L); break;
        case 2: PrintList(L); break;
        case 3: LocateElem(L); break;
        case 4: ListUpdate(L);break;
        case 5: ListInsert(L); PrintList(L); break;
        case 6: ListDelete(L); PrintList(L); break;
        default:printf("Enter data error!\n");
        }
    }
    return 0;
}
收到的鲜花
  • a13711479852015-06-08 19:13 送鲜花  3朵   附言:我很赞同

剑栈风樯各苦辛,别时冰雪到时春
2015-06-07 16:32
a1371147985
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-11-25
收藏
得分:0 
回复 6楼 林月儿
额,谢谢大神,那个数据结构学的太差,请谅解!

暗夜星流年
2015-06-08 10:01
a1371147985
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-11-25
收藏
得分:0 
回复 6楼 林月儿
大神啊!这个程序的修改,删除都有错!是哪个指针没有弄好吗?

暗夜星流年
2015-06-09 12:58
快速回复:数据结构求对错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034934 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved