精华内容
下载资源
问答
  • 2021-05-20 07:47:41

    地铁管理系统C语言源程序,程序比较详细,可以下载看看

    #include

    #include

    #include

    #include "api.h"

    #include "SubwayCharge.h"

    FILE *pfWrite = NULL;

    #ifdef __cplusplus

    extern "C"

    {

    #endif

    int opGetDistanceBetweenTwoStation(char* sStartStation, char* sObjectStation, int* pnDistance);

    int ComputeBasePrice(int distance);

    int ComputeChargePrice(int nBasePrice,TravelInfo_ST* pstTravelInfo);

    int GetSameStationChargePrice(TravelInfo_ST* pstTravelInfo);

    int ChargeProcess(int nChargePrice, TravelInfo_ST* pstTravelInfo);

    int AddHistoryItemOnListTail(int nChargePrice, TravelInfo_ST* pstTravelInfo);

    int IsCheckTimeValid(QueryCond_ST* pstQueryCond, LogItem_ST *logAddr);

    HistoryItem *removeNodeByCardNo(int iCradNo);

    void removeHistoryList(void);

    int IsValidTravel(TravelInfo_ST* pstTravelInfo);

    void searchHistoryNode(int iCardNo);

    void Swap(LogItem_ST &logItemA, LogItem_ST &logItemB);

    void SortByCardID(LogItem_ST logItems[], int nItems);

    void readFile(void);

    void writeFile(HistoryItem *historyFile);

    void queryLogInf(QueryCond_ST* pstQueryCond);

    #ifdef __cplusplus

    }

    #endif

    CardStat_EN g_CardStatusInfo[MAX_MEMBER_NUM] = {CARD_VALID};

    /*****************************************************************************

    函 数 名 : main

    功能描述 : 主入口参数(考生无需更改)

    输入参数 : argc 程序启动时的参数个数

    argv 程序启动时的参数

    输出参数 : 无

    返 回 值 : 无

    *****************************************************************************/

    void main(int argc, char* argv[])

    {

    pHeadHistory = NULL;

    readFile();

    /*启动Socket服务侦听5555端口(apiServerStart函数在lib库已实现)*/

    apiServerStart(argc, argv);

    return;

    }

    /*****************************************************************************

    函 数 名 : opResetProc

    功能描述 : 考生需要实现的接口

    完成程序初始化,或程序功能复位操作

    程序启动自动调用该函数,r/R命令时自动调用该函数

    输入参数 : 无

    输出参数 : 无

    返 回 值 : 无

    *****************************************************************************/

    void opResetProc(void)

    {

    int i = 0;

    for(i = 0; i < MAX_MEMBER_NUM; i++)

    {

    g_CardStatusInfo[i] = CARD_VALID; //卡号为0-9的可用

    }

    }

    /*****************************************************************************

    函 数 名 : opChargeProc

    功能描述 : 考生需要实现的接口

    完成请求扣费的功能(详见试题规格说明)

    c/C命令时自动调用该函数

    输入参数 : pstTravelInfo 单次乘车记录信息

    输出参数 : 无

    返 回 值 : 无

    *********************************************

    ********************************/

    void opChargeProc(TravelInfo_ST* pstTravelInfo)

    {

    int nBasePrice = 0;

    int nChargePrice = 0;

    //首先判断卡是否

    更多相关内容
  • 地铁管理系统

    2014-03-16 20:50:44
    地铁管理系统的c语言程序,各功能函数的实现,是对地铁实际情况进行管理,实现了地铁管理系统的c语言实现。
  • 地铁售票管理系统C++课设.pdf
  • 仿照北京市地铁管理系统制作的winform桌面应用,包含购票售票,路线查询,用户设置,用户充值和管理员路线维护和用户管理等模块的一个完善的地铁售票系统。
  • //本程序已实现增删改和按地铁号查询,可以在查询栏目里添加按站点和按起点终点查询;
  • 地铁管理系统C

    2016-04-28 14:27:12
    地铁管理系统C
  • 北京地铁系统

    2017-12-04 11:29:48
    利用CSS,HTML5,JS制作的地铁计价器 涉及数学运算脚本,和JQuery的灵活运用,代码量不大, 但方法令人耳目一新
  • 地铁消费系统.zip

    2020-09-14 22:40:03
    本项目主要是为了方便人们的出行,有利于地铁的高效运行,减少旅客的出行麻烦,加强交通运行的管理,提高人们的生活质量,可以使用户自主查询信息,充值费用。
  • 地铁线路管理系统

    2021-02-28 13:53:45
    合作人:李琼目标:设计一套地铁开发系统,输入任意两个地方,给出最短路线方案设计:第一步做到点击地铁线路显示地铁站点第二步做到输入起始站,终点站,输出最短路线源代码:package Metro;public class Calculat ...

    合作人:李琼

    目标:设计一套地铁开发系统,输入任意两个地方,给出最短路线

    方案设计:

    第一步做到点击地铁线路显示地铁站点

    第二步做到输入起始站,终点站,输出最短路线

    源代码:

    package Metro;

    public class Calculat {

    public String[] judge(int site1, String[][] route, int site2, String[][] route2) {

    String [] route3;

    if(route[0][0].equals(route2[0][0])) {

    route3= Setroute(site1,route,site2);

    }

    else {

    route3= Setroute(site1,route,site2,route2);

    }

    return route3;

    }

    private String[] Setroute(int site1, String[][] route, int site2) {

    String [] route3=new String [30];

    if(site1>site2) {

    for(int i=site1,j=0;i>=site2;i--,j++) {

    route3[j]=route[i-1][2];

    }

    }

    else {

    for(int i=site1,j=0;i<=site2;i++,j++) {

    route3[j]=route[i-1][2];

    }

    }

    return route3;

    }

    private String[] Setroute(int site1, String[][] route, int site2, String[][] route2) {

    String [] route3=new String [100];

    String [] route4=new String [30];

    int line2=0,site0;

    System.out.println(site2);

    line2=Integer.parseInt(route2[0][0]);

    site0=Find(route,line2,site1);

    route3=Setroute(site1,route,site0);

    site0=Find(route,route2,site0);

    route4=Setroute(site0,route2,site2);

    route3=Combine(route3,route4);

    return route3;

    }

    private int Find(String[][] route, String[][] route2, int site0) {

    int i=0;

    for(;route2[i][0]!=null;i++) {

    if(route2[i][2].equals(route[site0-1][2]))break;

    }

    return i;

    }

    private String[] Combine(String[] route3, String[] route4) {

    int i=0;

    String [] route=new String [100];

    for(;route3[i]!=null;i++) {

    route[i]=route3[i];

    }

    for(int j=0;route4[j]!=null;i++,j++) {

    route[i]=route4[j];

    }

    return route;

    }

    private int Find(String[][] route, int line2, int site1) {

    int [] site=new int [2];

    for(int i=0,j=0;route[i][0]!=null&&j<2;i++) {

    if(route[i][3]!=null&&route[i][3].equals(""+line2)) {site[j]=Integer.parseInt(route[i][1]);j++;}

    }

    if(site[1]!=0)site[0]=judge_site(site,site1);

    return site[0];

    }

    private int judge_site(int[] site, int site1) {

    int diff1,diff2;

    diff1=site[0]-site1;

    diff2=site[1]-site1;

    if(diff1<0)diff1=0-diff1;

    if(diff2<0)diff2=0-diff2;

    if(diff1

    else return site[1];

    }

    }package Metro;

    import java.sql.Connection;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.sql.Statement;

    public class Dao {

    public String GetSite(int num,String name) { //查找节点

    String sql = "select * from site"+num+" where sitename='"+name+"'";

    String result=null;

    Connection conn = DBUtil.getConn();

    Statement state=null;

    ResultSet rs = null;

    System.out.println(sql);

    try {

    state = conn.createStatement();

    rs = state.executeQuery(sql);

    while(rs.next()) {

    result=rs.getString("id");

    }

    }catch(SQLException e) {

    e.printStackTrace();

    } finally {

    DBUtil.close(rs, state, conn);

    }

    return result;

    }

    public String[][] GetRote(String res) { //获取某个表整条路线

    String sql = "select * from "+res+" ";

    String [][] result=new String [50][4];

    int i=0;

    Connection conn = DBUtil.getConn();

    Statement state=null;

    ResultSet rs = null;

    System.out.println(sql);

    try {

    state = conn.createStatement();

    rs = state.executeQuery(sql);

    while(rs.next()) {

    result[i][0]=res.substring(4, 5);

    result[i][1]=rs.getString("id");

    result[i][2]=rs.getString("sitename");

    result[i][3]=rs.getString("transfer");

    i++;

    }

    }catch(SQLException e) {

    e.printStackTrace();

    } finally {

    DBUtil.close(rs, state, conn);

    }

    return result;

    }

    public String search(String strname) {

    String num=null;

    int i=1;

    for(;i<=6;i++) {

    num=GetSite(i,strname);

    if(num!=null)break;

    }

    return i+" "+num;

    }

    }

    package Metro;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.sql.Statement;

    public class DBUtil {

    public static String db_url = "jdbc:mysql://localhost:3306/subway?useSSL=false&serverTimezone=GMT";

    public static String db_user = "root";

    public static String db_pass = "1234567";

    public static Connection getConn () {

    Connection conn = null;

    try {

    Class.forName("com.mysql.jdbc.Driver");

    conn = DriverManager.getConnection(db_url, db_user, db_pass);

    } catch (Exception e) {

    e.printStackTrace();

    }

    return conn;

    }

    /**

    * 关闭连接

    * @param state

    * @param conn

    */

    public static void close (Statement state, Connection conn) {

    if (state != null) {

    try {

    state.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    if (conn != null) {

    try {

    conn.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    }

    public static void close (ResultSet rs, Statement state, Connection conn) {

    if (rs != null) {

    try {

    rs.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    if (state != null) {

    try {

    state.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    if (conn != null) {

    try {

    conn.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    }

    }

    package Metro;

    public class Main {

    public static void main(String[] args) {

    //Samerote();

    Different();

    }

    private static void Different() {

    Dao service=new Dao();

    Calculat cal=new Calculat();

    String Strname="南王";

    String Endname="碧海云天";

    String site1=null,site2=null;

    int line1,line2; //开始节点,结束节点所在的线路号

    String [][] route=new String [50][4];

    String [][] route2=new String [50][4];

    String [] route3=new String [100];

    line1=Integer.parseInt(service.search(Strname).substring(0, 1));

    line2=Integer.parseInt(service.search(Endname).substring(0, 1));

    site1=service.search(Strname).substring(2, service.search(Strname).length());

    site2=service.search(Endname).substring(2, service.search(Endname).length());

    route=service.GetRote("site"+line1);

    route2=service.GetRote("site"+line2);

    System.out.println(line1+" "+site1);

    System.out.println(line2+" "+site2);

    show(route);

    show(route2);

    route3=cal.judge(Integer.parseInt(site1),route,Integer.parseInt(site2),route2);

    show(route3);

    }

    private static void Samerote() {

    Dao service=new Dao();

    Calculat cal=new Calculat();

    String [][] route=new String [30][4]; //开始节点所在的线路,(线路号,结点序号,结点名称,换乘线路号)

    String [][] route2=new String [30][4]; //结束节点所在的线路

    String [] route3=new String [50]; //所需要的线路

    String site1=null,site2=null; //开始节点,结束节点所在的线路的次序号

    String Strname="南王";

    String Endname="华医学院";

    int num=4;

    site1=service.GetSite(num,Strname);

    route=service.GetRote("site"+num);

    site2=service.GetSite(num,Endname);

    route2=service.GetRote("site"+num);

    System.out.println(site1);

    System.out.println(site2);

    show(route);

    show(route2);

    route3=cal.judge(Integer.parseInt(site1),route,Integer.parseInt(site2),route2);

    show(route3);

    }

    private static void show(String[][] route) {

    System.out.println(route[0][0]);

    System.out.println(route[0][1]);

    for(int i=0;route[i][0]!=null;i++)

    {

    System.out.print(route[i][2]+"->");

    }

    System.out.println();

    }

    private static void show(String[] route) {

    System.out.println("线路");

    for(int i=0;route[i]!=null;i++)

    {

    System.out.print(route[i]);

    if(route[i+1]!=null)System.out.print("->");

    else System.out.println();

    }

    }

    }

    开发过程中的时间记录日志:

    计划

    预估耗时

    实际开始时间

    实际结束时间

    实际耗时

    任务估计时间

    3.5小时

    3:30pm

    9:25pm

    大约5个小时

    · 需求分析

    0.5小时

    3:30pm

    4:.15pm

    0.75小时

    · 代码设计说明

    0.5小时

    4:25pm

    5:15pm

    40分钟

    · 具体编码

    1.5小时

    6:00pm

    8:00pm

    2小时

    · 测试并完善代码

    0.5小时

    8:pm

    8:45pm

    0.75小时

    · 过程总结

    0.5小时

    8:50pm

    9:20pm

    0.5小时

    合计

    3.5小时

    ---

    ---

    4小时40分钟

    截图:

    297354f17dab0986750240987ff337f1.png

    77d9c37e1f0e5341455f96ebd18d5cb8.png

    e0fac9eaa98ac3efa4999fa65980d95d.png

    2d01cf65305b36eeb1d9f8082aafcdbf.png

    总结分析:

    一个是我们的地铁外观不好看,没有调用百度开源报表

    另一方面是算法不够简洁,实现时间较长

    展开全文
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • C语言:地铁信息管理系统

    千次阅读 多人点赞 2019-11-16 20:42:46
    设计一简单的地铁管理系统可以对地铁线路进行简单管理,系统的主要功能:显示已有的地铁信息,分类显示,分别按地铁编号、线路、起始站、终点站进行查询记录,添加、删除和更新地铁线路,并保存记录至文件中等。...

    地铁信息管理系统

    一、问题描述
    设计一简单的地铁管理系统可以对地铁线路进行简单管理,系统的主要功能:显示已有的地铁信息,分类显示,分别按地铁编号、线路、起始站、终点站进行查询记录,添加、删除和更新地铁线路,并保存记录至文件中等。
    二、需求分析
    功能需求分析
    通过c程序实现对地铁信息管理的设计,建立文件,用来存储地铁的各类信息,在浏览信息时可以对文件中保存的信息进行调用浏览。其中有以下模块:地铁信息管理系统界面设计、查询信息、增加信息、删除信息、浏览所有信息和根据地铁的编号更新不同类别的信息;
    地铁信息管理系统界面设计
    主要功能是设计地铁信息管理系统的界面,能够提示用户的实际操作等。采用编号的形式实现相对应的操作,其中:0 刷新地铁信息 1 增加地铁信息 2 浏览地铁信息 3查询地铁信息 4 更新地铁信息 5 删除地铁信息 6 退出
    在这里插入图片描述
    查询信息模块
    主要功能是查找需要的地铁线路信息,根据用户选择的三种方式输入查询的地铁线路、起始站、终点站,将会显示所有相关的线路信息
    在这里插入图片描述
    增加信息模块
    主要功能是添加地铁信息,添加操作是根据用户的要求实现的,输入待增加的地铁数量,系统会提示之后进行输入地铁的编号,编号会自动更新,如果输入已有的编号,系统会提示输入正确的编号,之后在操作提示下输入增加的地铁线路、起始站、终点站、途径站数的信息,输入完成后,将提示用户录入成功;
    删除信息模块
    主要功能是删除不需要的地铁信息,根据输入地铁的编号删除相关的信息,系统会提示删除成功,如果输入的编号错误系统将提示该编号不存在!
    浏览信息模块
    主要功能是显示地铁的所有信息,包括地铁编号、线路、起始站、终点站、票价、途经站数,用户在浏览信息前需要先刷新系统,再进行浏览的操作;
    更新信息模块
    主要功能是更新地铁的信息,根据用户输入要更新的地铁编号再进行对地铁信息的修改;
    在这里插入图片描述
    代码如下:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include <conio.h>
    #define N 100 
    struct subway//定义一个结构体 
    {
    	char num[N]; 
    	char line[N];//地铁线路 
    	char sstation[N];//起始站 
    	char ostation[N];//终点站 
    	char wstation[N];//途径站数 
    	char charge[N];//票价 	
    }sub[N];//给结构体起别名sub; 
        int k=1,n,m;
        char readfile();//文件读取 
        void save();//将信息保存至文件 
        void insert();//增加地铁信息 
        void Delete();//删除地铁信息 
        void Search();//查询地铁信息 
        void Print();//浏览地铁信息 
        void Update();//更新地铁信息 
        void menu();//主菜单调用其他函数 
    int main()
    {  
        while(k)
        menu();
        system("pause");
        return 0;
    } 
    char readfile()
    {
        FILE *fp;//要读取的文件指针 
        int i=0;//数组移动 
        if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功 
        {  
        printf("Open file is error!");
        system("pause");
        exit(0);
        }
        //原txt文档的数据之间是空格隔开的,fscanf用来格式化读取文件中的数据 
        while(fscanf(fp,"%s %s %s %s %s %s",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation)==6)
        {
        i++;
        }
        fclose(fp);//关闭文件 
        n=i;
        printf("录入完毕!\n");
        }
    void save()
    {
        int i;
        FILE *fp;//要读取的文件指针 
        fp=fopen("subway.txt","w"); //打开文件进行写入操作 
        for(i=0;i<n;i++)
        { 
        //原txt文档的数据之间是空格隔开的,fprintf用来向文件写格式化数据 
        fprintf(fp,"%s %s %s %s %s %s\n",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation);
        }
        fclose(fp);//关闭文件 
    }
    void insert() /*插入函数*/
    {  
        FILE *fp;//要读取的文件指针 
        int i=0;//数组移动 
        if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功
        {  
        printf("Open file is error!");
        system("pause");
        exit(0);
        }
        //原txt文档的数据之间是空格隔开的,fscanf用来格式化读取文件中的数据 
       while(fscanf(fp,"%s %s %s %s %s %s",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation)!=EOF)
        {
        i++;
        } 
        n=i;
    	int j,flag;
        printf("请输入待增加的地铁线路数量:\n");
        scanf("%d",&m);
        do
        {
        flag=1;
        while(flag)
        {
        flag=0;
        printf("请输入第 %d 个地铁的编号:\n",i+1);
        scanf("%s",sub[i].num);
        for(j=0;j<i;j++)
        if(strcmp(sub[i].num,sub[j].num)==0)
        {
        printf("已有该地铁编号,请检查后重新录入!\n");
        flag=1;
        break; /*如有重复立即退出该层循环,提高判断速度*/
        }
        }
        printf("请输入第 %d 个地铁线路:\n",i+1);
        scanf("%s",sub[i].line);
        printf("请输入第 %d 个地铁的起始站:\n",i+1);
        scanf("%s",sub[i].sstation);
        printf("请输入第 %d 个地铁的终点站\n",i+1);
        scanf("%s",sub[i].ostation);
        printf("请输入第 %d 个地铁的票价:\n",i+1);
        scanf("%s",sub[i].charge);
        printf("请输入第 %d 个地铁的途经站数\n",i+1);
        scanf("%s",sub[i].wstation);
        if(flag==0)
        { 
        i++;
        }
        }
        while(i<n+m);
        n+=m;
        printf("录入完毕!\n\n");
        fclose(fp);//关闭文件 
        system("pause");
        save();//调用函数在增加信息后进行保存 
        return ;
    }
    void Delete()
    {
    	FILE *fp;//要读取的文件指针 
        int i=0;//数组移动
        if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功 
        {  
        printf("Open file is error!");
        system("pause");
        exit(0);
        }
        //原txt文档的数据之间是空格隔开的,fscanf用来格式化读取文件中的数据
       while(fscanf(fp,"%s %s %s %s %s %s",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation)!=EOF)
        {
        i++;
        } 
        n=i;
        int t,j,flag=0;
        char s1[30];
        printf("请输入要删除的地铁编号:\n");
        scanf("%s",s1);
        for(t=0;t<n;t++)
        if(strcmp(sub[t].num,s1)==0)
        {
        flag=1;
        for(j=t;j<n-1;j++)
        sub[t]=sub[t+1];
        }
        if(flag==0)
        printf("该编号不存在!\n");
        if(flag==1)
        {
        printf("删除成功\n");
        n--;
        }
        save();//调用函数删除信息后进行保存 
    } 
    void Search()//查找 
    {
    	FILE *fp;//要读取的文件指针 
        int i=0;//数组移动
        if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功 
        {  
        printf("Open file is error!");
        system("pause");
        exit(0);
        } 
        //原txt文档的数据之间是空格隔开的,fscanf用来格式化读取文件中的数据
       while(fscanf(fp,"%s %s %s %s %s %s",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation)!=EOF)
        {
        i++;
        } 
        n=i;
    	int j,item,flag=0;
    	char s1[10];
    	printf("----------------------------------------------------------\n");
        printf("------------------◎ 1.按线路查询   ◎--------------------\n");
        printf("------------------◎ 2.按起始站查询 ◎--------------------\n");
        printf("------------------◎ 3.按终点站查询 ◎--------------------\n");
        printf("------------------◎ 4.退出本菜单   ◎--------------------\n");
        printf("----------------------------------------------------------\n");
        while(1)
       {
       printf("请选择子菜单编号:");
       scanf("%d",&item);
       flag=0;
       switch(item)
      {
        case 1:
        printf("请输入要查询的地铁线路:");//通过地铁线路查找 
    	scanf("%s",s1);
    	for(j=0;j<n;j++)
            if(strcmp(sub[j].line,s1)==0)
    		{
    		    flag=1;
    		    printf("地铁编号  地铁线路   起始站    终点站    票价     途经站数\n"); 
                printf("----------------------------------------------------------\n");
    			printf("%4s %10s %11s %11s %3s %10s\n",sub[j].num,sub[j].line,sub[j].sstation,sub[j].ostation,sub[j].charge,sub[j].wstation);
    			printf("查询完毕!\n\n");
            }	 	
    		if(flag==0)
    		printf("查询错误,无该信息!\n"); break;
    	case 2:
        printf("请输入查询的地铁起始站:");//通过地铁起始站查找 
    	scanf("%s",s1);
    	for(j=0;j<n;j++)
            if(strcmp(sub[j].sstation,s1)==0)
    		{
    		    flag=1;
    			printf("地铁编号  地铁线路   起始站    终点站    票价     途经站数\n"); 
                printf("----------------------------------------------------------\n");
    			printf("%4s %10s %11s %11s %3s %10s\n",sub[j].num,sub[j].line,sub[j].sstation,sub[j].ostation,sub[j].charge,sub[j].wstation);
    			printf("查询完毕!\n\n");
            }	 	
    		if(flag==0)
    		printf("查询错误,无该信息!\n"); break;	
    	case 3:
    	printf("请输入查询的地铁终点站:");//通过地铁终点站查找 
    	scanf("%s",s1);
    	for(j=0;j<n;j++)
            if(strcmp(sub[j].ostation,s1)==0) 
    		{
    		    flag=1;
    		    printf("地铁编号  地铁线路   起始站    终点站    票价     途经站数\n"); 
                printf("----------------------------------------------------------\n");
    			printf("%4s %10s %11s %11s %3s %10s\n",sub[j].num,sub[j].line,sub[j].sstation,sub[j].ostation,sub[j].charge,sub[j].wstation);
    			printf("查询完毕!\n\n");
    	    }
    		if(flag==0)
    		printf("查询错误,无该信息\n"); break;	
    	case 4: return;
    	default:printf("请在1-4之间选择\n");//提示用户在有效范围中选择 
    }
    }
    }
     void Print()//存储信息的浏览 
    {
        int i; 
        printf("欢迎查询地铁线路!所有信息为:\n");
        printf("地铁编号  地铁线路   起始站    终点站    票价     途经站数\n"); 
        printf("----------------------------------------------------------\n");
        save();//调用函数 
        for(i=0;i<n;i++)
        {
    	printf("%4s %10s %11s %11s %3s %10s\n",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation);
    	}
        
    }
    void Update()//信息的更新 
    {   FILE *fp;//要读取的文件指针 
        int i=0;//数组移动
        if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功 
        {  
        printf("Open file is error!");
        system("pause");
        exit(0);
        }
        //原txt文档的数据之间是空格隔开的,fscanf用来格式化读取文件中的数据
       while(fscanf(fp,"%s %s %s %s %s %s",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation)!=EOF)
        {
        i++;
        } 
        n=i;
        int j,item;
        char s1[N],s2[N];
        printf("请输入要更新的地铁编号:");
    	scanf("%s",s1);
    	for(j=0;j<n;j++)
        if(strcmp(sub[j].num,s1)==0)
        {
            printf("----------------------------------------------------------\n");
            printf("---------------◎ 1.修改地铁线路    ◎--------------------\n");
            printf("---------------◎ 2.修改地铁起始站  ◎--------------------\n");
            printf("---------------◎ 3.修改地铁终点站  ◎--------------------\n");
            printf("---------------◎ 4.修改票价        ◎--------------------\n");
            printf("---------------◎ 5.修改地铁途经站数◎--------------------\n");
            printf("---------------◎ 6.退出本菜单      ◎--------------------\n");
            printf("----------------------------------------------------------\n");
            while(1)
            {
            printf("请选择子菜单编号:");
            scanf("%d",&item);
            switch(item)
            {
            case 1:
            printf("请输入新的地铁线路:\n");
            scanf("%s",s2);
            strcpy(sub[j].line,s2); break;
            case 2:
            printf("请输入新的起始站:\n");
            scanf("%s",s2);
            strcpy(sub[j].sstation,s2); break;
            case 3:
            printf("请输入新的终点站:\n");
            scanf("%s",s2);
            strcpy(sub[j].ostation,s2); break;
            case 4:
            printf("请输入新的票价:\n");
            scanf("%s",s2);
            strcpy(sub[j].charge,s2); break;
            case 5:
            printf("请输入新的途经站数:\n");
            scanf("%s",s2);
            strcpy(sub[j].wstation,s2); break;
            case 6:return;
            default:printf("请在0-6之间选择\n");
        }
    }
    save();//调用函数更新信息后进行保存 
    }
    	if(strcmp(sub[j].num,s1)!=0)
    	printf("无此编号,请输入正确的编号!\n");
    } 
    void menu()//主菜单 
    {
    	int num;
    	system("color 75");//更改界面颜色为灰色背景浅紫色字体 
    	printf("********************************地铁信息管理系统********************************\n");
    	printf("***********************友情提示:浏览和更新前请先刷新系统***********************\n");
    	printf("                       **********************************                       \n");
    	printf("                       *     0     刷新地铁信息         *                       \n");
    	printf("                       *     1     地铁信息的增加       *                       \n");
    	printf("                       *     2     地铁信息的浏览       *                       \n");
    	printf("                       *     3     地铁信息的查询       *                       \n");
    	printf("                       *     4     地铁信息的更新       *                       \n");
    	printf("                       *     5     地铁信息的删除       *                       \n");
    	printf("                       *     6          退出            *                       \n");
    	printf("                       **********************************                       \n");
    	printf("请输入选择序号:\n");
    	scanf("%d",&num);
    	switch(num)
        { 
        case 0:readfile();break; 
    	case 1:insert();break;
        case 2:Print();break;
        case 3:Search();break;
        case 4:Update();break;
        case 5:Delete();break;
        case 6:k=0;printf("Bye!\n");break;
        default:printf("请在0-6之间选择\n");
    }
    }
    
    
    展开全文
  • 功能范围:管理系统 使用范围:地铁管理人员,个人 类型地位:商务 2 General description 总体概述 定位:地铁消费系统 风格:商务 用户人群:地铁工作人员以及地铁消费人员 产品:桌面应用程序,后台管理等 2.1 ...
  • 在21世纪,伴随着国内建设技术的强大,人民生活越来越富足。对于上海市、北京市、广州市等的交通压力越来越大,增加了地铁的...地铁人事管理系统开发所需要的开发软件有eclipse,通过使用javaee和SSH框架去集成开发,

    在21世纪,伴随着国内建设技术的强大,人民生活越来越富足。对于上海市、北京市、广州市等的交通压力越来越大,增加了地铁的规模。随着地铁的数量越来越多、工作人口的增加、现代计算机科技的发展,需要开发软件去管理地铁的工作人员。
    通过了解某个地铁公司的具体需求,研究并整理了某地铁企业对于地铁工作人员管理的基本需求,按照软件工程导论、需求工程的相关理论知识的学习,通过对地铁公司的查询、了解去进行一些需求的分析、设计和实现。地铁人事管理系统开发所需要的开发软件有eclipse,通过使用javaee和SSH框架去集成开发,以及MySQL数据库和html的页面处理。最终系统化、可视化的开发了基于Java EE地铁人事管理的可视化页面的系统。
    先通过对地铁人事管理系统的现代条件、现代发展状况以及社会背景进行了综合阐述,结合现实的基础情况,勾勒出整体的系统框架,再根据系统的各个模块功能的不同,设计出各个模块的基本的功能和其实现的方法。在系统有几大实现的功能模块,如:登录模块、职员档案信息管理、工资管理,系统权限管理、考勤管理、奖励机制管理等模块的详细设计,再附上各个模块的功能实现的关键代码、及其对该功能的解释。
    关键词: eclipse、javaee、MySQL、SSH框架、地铁人事管理系统

    目录:
    1背景与意义        1
    1.1课题研究背景        1
    1.2国内发展状况        2
    1.3国外发展状况        2
    1.4选题意义        2
    1.5本文研究内容        3
    1.5.1基于B/S架构设计        3
    1.5.2 SSH框架        4
    1.5.3 MySQL简介        7
    1.5.4 Hibernate简介        7
    2 需求分析        9
    2.1功能性需求分析        9
    2.2 非功能性分析        9
    2.3可行性分析        10
    2.3.1 技术可行性        11
    2.3.2经济可行性        11
    2.3.3 管理可行性        11
    2.3.4 法律可行性        12
    2.4  软件运行平台设置        12
    3系统设计        13
    3.1系统设计目标        13
    3.2系统架构设计        13
    3.3系统功能设计        13
    3.3.1系统模块功能图        13
    3.3.2系统流程图        15
    3.3.3系统时序图        18
    4数据库设计        21
    4.1数据库分析        21
    4.2数据库设计概念        21
    4.3数据库逻辑结构设计        24
    4.4数据库安全策略        26
    5编码与实现        28
    5.1登录模块的实现        28
    5.2档案管理模块        31
    5.2.1添加员工信息        31
    5.2.2查询员工信息        33
    5.2.3删除员工信息        36
    5.2.4修改员工信息        38
    5.3系统管理        39
    5.3.1用户管理        39
    5.3.2 密码修改        41
    5.4考勤管理模块        44
    5.4.1考勤登记        44
    5.4.2考勤信息查看        44
    5.5奖惩模块        45
    5.5.1奖惩信息登记        45
    5.5.2奖惩信息查看        45
    5.6工资管理模块        46
    5.6.1基本工资录入        46
    5.6.2基本工资查看        46
    5.7 公司系统简介        47
    6系统测试与运行        49
    6.1系统测试综述        49
    6.2测试方法        49
    6.3测试用例设计        50
    6.4测试结论        52
    致  谢        53
    参考文献        54
    外文原文        55
    中文翻译        61

    论文字数:25288
    包含资料:



    截图:

    展开全文
  • 地铁票务管理系统地铁票务管理系统
  • 中南大学C++课程设计——地铁售票管理系统 自动化学院 内含源程序、实验报告、预设数据及必要程序说明 PS:该程序为本人大一时所写,能力有限,若有差漏,请君斧正 Contact me:2576826692@qq.com; 设计任务书摘要...
  • 地铁信息管理系统需求报告.doc
  • 在 2D 组态 和 3D 组态 上,Hightopo(以下简称 HT )的 HT for Web 产品有着丰富的组态可供选择,本文将介绍运用 HT 丰富的 2/3D 组态 搭建出的一个 地铁数字孪生管理系统 。 数字孪生指现实世界以及利用数字化技术...
  • 数字孪生地铁设备管理系统方案

    千次阅读 2022-04-12 00:50:41
    目前地铁车站采用监视控制与数据采集系统来实现地铁车站监控运维管理,但存在以下三方面缺陷: 信息可视化方面:传统监控运维系统中,不同设施、不同地点的信息和状态通常使用二维图纸进行信息展示,难以与实际物理...
  • 地铁能源管理系统建设分析.doc
  • 地铁能源管理系统.doc

    2022-06-26 14:10:59
    能源管理系统可作为地铁管理层的分析、决策使用的工具,也能作为各用电单位的 考核工具; 4. 全线变电所0.4kV开关柜、车站通风空调电控柜的主要回路设置带远程通信功能的 多功能表,用于监测动力照明负荷; 5. 全线...
  • 地铁收费管理系统

    2016-01-08 15:48:55
    地铁收费管理系统 华为入职培训 C语言版本 src资源文档
  • 2.3.2 数据库管理系统(DBMS) 5 2.3.3 Mysql数据库 5 2.3.4 MySQL特点特性 7 2.3.5 MySQL数据库应用环境 7 2.4 JAVA概述 7 2.5 J2EE技术 7 2.6 B/S结构 8 2.7 Tomcat服务器 10 2.8 Web技术 10 3 系统需求分析 11 ...
  • 根据国内轨道交通自动化系统建设情况,提出地铁综合信息管理系统的定义和功能目标。以南京地铁2号线综合信息管理系统建设为背景,立足于国产监控软件和星形千兆以太网,接入地铁各自动化设备系统的数据信息,对控制...
  • 地铁工程车辆的动力电池管理系统设计
  • 基于MFC的那宁地铁线路查询系统。里面有整个完整工程的代码。可供大家下载并学习参考使用。希望大家支持
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • 俗话说流程决定绩效,而这一款整理发布的某地铁管理信息系统规划及方案设计项目地铁商铺装修业...该文档为某地铁管理信息系统规划及方案设计项目地铁商铺装修业务流程调查表,是一份很不错的参考资料,具有较高参考...
  • XX地铁管理信息系统解决方案设计以实践认知世界,以实事构架世界,XX地铁管理信息系统解决方案设计总能给...该文档为XX地铁管理信息系统解决方案设计,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,708
精华内容 6,283
关键字:

地铁管理系统