| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 311 人关注过本帖
标题:请各位大神帮忙添加一个数据结构排序的方法并在主函数中调用
只看楼主 加入收藏
fantic
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-12-31
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
请各位大神帮忙添加一个数据结构排序的方法并在主函数中调用
程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef struct student *ST;
struct student
{
        int stnu;
        char stname[6];
        char ststate[1];
        ST next;
};
ST head=NULL;

int ShowNode()
{
        int no;
        ST t;
        printf("输入学号:");
        scanf("%d", &no);
        for (t = head; t; t = t->next)
        {
                if (t->stnu == no)
                {                    
                        printf("|学号|:%d    |姓名|:%s     |是否缺席|:%s \n", t->stnu, t->stname,t->ststate);
                        printf("是否缺席(缺席N,出席Y):");
                        scanf("%s", &t->ststate);
                        return 0;
                }
        }
        printf("无此学生\n");
        return 0;
}

void SelectNode()
{
    ST t;
    int sum=0,i=0;
    for (t = head; t; t = t->next)
    {
        printf("学号:%d\n",t->stnu);
        printf("姓名:%s\n",t->stname);
        printf("出勤情况:%s\n",t->ststate);
        sum=++i;
        printf("☆---------------☆\n");
    }
    printf("共有%d人",sum);
}


int InsertNode()
{
        ST t;
        t = (ST)malloc(sizeof *t);
        printf("输入学号:");
        scanf("%d", &t->stnu);
        printf("输入姓名:");
        scanf("%s", &t->stname);
        printf("输入Y(默认出席):");
        scanf("%s",&t->ststate);
        t->next = head;
        head = t;
        printf("添加成功");
        return 0;
}

int DelNode()
{
        ST x, y;
        int no;
        printf("输入学号:");
        scanf("%d", &no);
        for (x = y = head; x; y = x, x = x->next)
        {
                if (x->stnu == no)
                {
                        if (x == y)
                        {
                                x = head = head->next;
                                y->next = NULL;
                                free(y);
                                printf("删除成功!\n");
                                return 0;
                        }
                        else
                        {
                                y->next = x->next;
                                x->next = NULL;
                                free(x);
                                printf("删除成功!\n");
                                return 0;
                        }
                }
        }
        printf("无此学生\n");
        return 0;
}



int main(void)
{
        int i;
        while(1)
        {
            printf("\n");
            printf("☆---------------------------------☆\n");
                printf("-----------☆  点名开始  :1☆-----------\n"
                                "-----------☆报道学生添加:2☆-----------\n"
                                "-----------☆  删除学生  :3☆-----------\n"
                                "-----------☆  查看全体  :4☆-----------\n"
                                "-----------☆  退    出  :5☆-----------\n");
            printf("☆---------------------------------☆\n");
            printf("请选择:");
                scanf("%d", &i);
                if (i==1)
                {
                       ShowNode();
                       //system("cls");
                }
                else if(i==2)
                {
                       InsertNode();
                }
                else if(i==3)
                {
                       DelNode();
                }
                else if(i==4)
                {
                       SelectNode();
                }
                else if(i==5)
                {
                       break;
                }
                else
                {
                       printf("输入错误!请重新输入!\n");
                       continue;
                }
        }
        return 0;
}
2014-12-31 09:24
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
老师没和你说  大神都很闲

DO IT YOURSELF !
2014-12-31 09:25
快速回复:请各位大神帮忙添加一个数据结构排序的方法并在主函数中调用
数据加载中...
 
   



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

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