| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:求一个目录的程序
只看楼主 加入收藏
兔子兵
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-17
结帖率:0
收藏
已结贴  问题点数:2 回复次数:3 
求一个目录的程序
就是一层套一层的的目录程序,大神有吗,发一个
2016-12-22 18:20
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:1 
我做了一个二级目录~(框架齐全,但内容只是一个半成品)可以参考一下~用函数指针数组为佳~
在此基础上是可以实现多层目录嵌套的,把二维指针数组规模改一下就可以放多层目录了,执行每个目录都是用一个函数实现的~
相当于把函数具备数组的性质~

https://bbs.bccn.net/thread-472743-1-1.html


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-23 07:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
回复 2楼 九转星河
厉害  能看懂楼主在说神马

楼主的语言只能靠猜   

DO IT YOURSELF !
2016-12-23 09:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 2楼 九转星河
勉强完善了一个目录清单~不过这个方法调用函数较多,通常工程较大的导航菜单用结构体树形双向链表里面定义指针函数更好,通过移动链表指针来实现执行不同函数的功能,我这个只是简易版的~

程序代码:
#include<stdio.h>
#include<stdlib.h>
#define SIZE_FUN 5
typedef int FUN (int);
FUN dump;
FUN fun_0_0;
FUN fun_0_1;
FUN fun_0_2;
FUN fun_0_3;
FUN fun_0_4;
FUN fun_1_0;
FUN fun_1_1;
FUN fun_1_2;
FUN fun_1_3;
FUN fun_1_4;
FUN fun_2_0;
FUN fun_2_1;
FUN fun_2_2;
FUN fun_2_3;
FUN fun_2_4;
FUN fun_3_0;
FUN fun_3_1;
FUN fun_3_2;
FUN fun_3_3;
FUN fun_3_4;
FUN fun_4_0;
FUN fun_4_1;
FUN fun_4_2;
FUN fun_4_3;
FUN fun_4_4;
FUN fun_5_0;
FUN fun_5_1;
FUN fun_5_2;
FUN fun_5_3;
FUN fun_5_4;

int main()
{
    int ss=0;

    typedef int (*COM)();

    COM a[][SIZE_FUN]=
    {
        {fun_0_0,fun_0_1,fun_0_2,fun_0_3,fun_0_4},
        {fun_1_0,fun_1_1,fun_1_2,fun_1_3,fun_1_4},
        {fun_2_0,fun_2_1,fun_2_2,fun_2_3,fun_2_4},
        {fun_3_0,fun_3_1,fun_3_2,fun_3_3,fun_3_4},
        {fun_4_0,fun_4_1,fun_4_2,fun_4_3,fun_4_4},
        {fun_5_0,fun_5_1,fun_5_2,fun_5_3,fun_5_4},
    };

    COM (*p)[SIZE_FUN]=a;

    while (1)
    {
        char cmd=0;

        system("cls");

        ss=(*(*(p+ss)+SIZE_FUN-1))(ss);

        cmd=getch()-'0';

        if (cmd<0||cmd>SIZE_FUN-2)
            continue;
        
        ss=(*(*(p+ss)+cmd))(ss);
        fflush(stdin);
    }

    return 0;

}
int fun_0_0(int ss)
{
    exit(0);

    return ss;
}
int fun_0_1(int ss)
{
    return 1;
}
int fun_0_2(int ss)
{
    return 2;
}
int fun_0_3(int ss)
{
    return 3;
}
int fun_0_4(int ss)
{
    printf("请输入:\n");
    printf("1:添加\\删除\\修改学生信息\n");
    printf("2:整理学生信息:\n");
    printf("3:存取学生信息\n");
    printf("0:退出\n");
    return ss;
}
int fun_1_0(int ss)//
{
    return 0;
}
int fun_1_1(int ss)
{
    system("cls");
    printf("初始化学生信息:\n");
    system("pause");
    return ss;
}
int fun_1_2(int ss)
{
    system("cls");
    printf("插入学生信息:\n");
    system("pause");
    return ss;
}
int fun_1_3(int ss)
{
    system("cls");
    printf("删除学生信息:\n");
    system("pause");
    return ss;
}
int fun_1_4(int ss)
{
    printf("请输入:\n");
    printf("1:初始化学生信息\n");
    printf("2:插入学生信息\n");
    printf("3:删除学生信息\n");
    printf("0:返回上一步\n");
    return ss;
}
int fun_2_0(int ss)
{
    return 0;
}
int fun_2_1(int ss)
{
    return 4;
}
int fun_2_2(int ss)
{
    return 5;
}
int fun_2_3(int ss)
{
    system("cls");
    printf("清空学生信息:\n");
    system("pause");
    return ss;
}
int fun_2_4(int ss)
{
    printf("请选择:\n");
    printf("1:查找学生信息\n");
    printf("2:排序\n");
    printf("3:清空学生信息\n");
    printf("0:返回上一步\n");
    return ss;
}
int fun_3_0(int ss)
{
    return 0;
}
int fun_3_1(int ss)
{
    system("cls");
    printf("保存学生信息:\n");
    system("pause");
    return ss;
}
int fun_3_2(int ss)
{
    system("cls");
    printf("读取学生信息:\n");
    system("pause");
    return ss;
}
int fun_3_3(int ss)
{
    return ss;
}
int fun_3_4(int ss)
{
    printf("请选择:\n");
    printf("1:保存学生信息\n");
    printf("2:读取学生信息\n");
    printf("0:返回上一步\n");
    return ss;
}
int fun_4_0(int ss)
{
    return 2;
}
int fun_4_1(int ss)
{
    system("cls");
    printf("查找最高分:\n");
    system("pause");
    return ss;
}
int fun_4_2(int ss)
{
    system("cls");
    printf("查找最低分:\n");
    system("pause");
    return ss;
}
int fun_4_3(int ss)
{
    system("cls");
    printf("查找平均分:\n");
    system("pause");
    return ss;
}
int fun_4_4(int ss)
{
    printf("请选择:\n");
    printf("1:查找最高分\n");
    printf("2:查找最低分\n");
    printf("3:查找平均分\n");
    printf("0:返回上一步");
    return ss;
}
int fun_5_0(int ss)
{
    return 2;
}
int fun_5_1(int ss)
{
    system("cls");
    printf("按学号查找:\n");
    system("pause");
    return ss;
}
int fun_5_2(int ss)
{
    system("cls");
    printf("按成绩查找:\n");
    system("pause");
    return ss;
}
int fun_5_3(int ss)
{
    return ss;
}
int fun_5_4(int ss)
{
    printf("请选择:\n");
    printf("1:按学号排序\n");
    printf("2:按成绩排序\n");
    printf("0:返回上一步\n");
    return 2;
}
int dump(int ss)
{
    return ss;
}


[此贴子已经被作者于2016-12-24 09:34编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-24 09:16
快速回复:求一个目录的程序
数据加载中...
 
   



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

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