【源码项目】C语言编程之火车票管理系统!(最强代码)

C语言实现火车票管理系统
本文介绍了大学计算机软件技术基础课程设计任务——火车票信息管理系统,旨在提升C++编程能力及软件工程知识,包括功能改进和错误修复。文章提供项目效果图,并推荐了一个C语言/C++编程学习资源。

大学计算机软件技术基础课程设计任务书

一、题目:

        火车票信息管理系统;

二、目的与要求 :

        ● 目的培养学生综合利用C++语言进行程序设计的能力,

        ● 培养学生的编程能力、用计算机解决实际问题的能力,加强对理论知识的理解和实际运用;

        ● 培养学生对软件工程知识和方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力;

        ● 提高学生的实际动手能力和独立思考的能力。

最后的版本,不想更新了。更新也没有什么功能自己可以弄了。该版本修改了前几个版本中错误的地方,相对完整了许多,功能也加强了。

/*----------该程序主要实现火车票信息的管理----------*/

#include <string.h>

#include <stdio.h>

/*----------定义车次、出发站、终点站、发车时间、到达时间、票价数组----------*/

char    trains[10][10], start_station[10][10], end_station[10][10], start_time[10][10], end_time[10][10];

int price[10], i = 0, j = 0, k = 0, l = 0, x = 0; /* ----------定义全局变量---------- */

void set( void );

void search( void );

void sum( void );

void sort( void );

void edit( void );

void del( void );

int main( void )

{

    int o;  /* ----------o在此处为选项数值---------- */

/*----------以下代码为主菜单选项----------*/

    for ( o = 1; o != 0; o )

    {

        printf( "\n------------------------------------------------\n" );

        printf( "----------欢迎使用火车票管理系统主菜单----------" );

        printf( "\n------------------------------------------------\n" );

        printf( "          1.set                (录入)\n" );

        printf( "          2.search              (查询)\n" );

        printf( "          3.sum                (统计)\n" );

        printf( "          4.sort                (排序)\n" );

        printf( "          5.edit                (编辑)\n" );

        printf( "          6.del                (删除)\n" );

        printf( "          0.exit                (退出)\n" );

        printf( "\n请输入要选择的服务项目:" );

        scanf( "%d", &o );

        if ( o == 1 )

            set();

        else if ( o == 2 )

            search();

        else if ( o == 3 )

            sum();

        else if ( o == 4 )

            sort();

        else if ( o == 5 )

            edit();

        else if ( o == 6 )

            del();

        else if ( o == 0 )

            break;

        else

            printf( "\n请输入正确的数字!n\n" );

    }

}

/*----------录入子函数---------*/

void set( void )

{

    printf( "\n请输入准备录入的信息数:" );

    scanf( "%d", &i );

    if ( i <= 0 || i > 10 )

    {

        printf( "\n----------请正确输入1-10之间的整数!----------\n" );

        return;

    }

    i = i + x;

    for ( j = x; j < i; j++ )

    {

        ++x; /* ----------记录录入的信息总条数---------- */

        printf( "\n请输入车次:" );

        scanf( "%s", &trains[j] );

        printf( "\n请输入出发站:" );

        scanf( "%s", &start_station[j] );

        printf( "\n请输入终点站:" );

        scanf( "%s", &end_station[j] );

        printf( "\n请输入发车时间:" );

        scanf( "%s", &start_time[j] );

        printf( "\n请输入到达时间:" );

        scanf( "%s", &end_time[j] );

        printf( "\n请输入票价:" );

        scanf( "%d", &price[j] );

    }

    printf( "\n----------信息录入完毕----------n\n" );

}

/*----------查询子函数----------*/

void search( void )

{

    char    search[10];

    int search1;

    k = 0;

    if ( x == 0 )

    {

        printf( "\n----------暂无数据可查询!----------\n" );

        return;

    }

    printf( "\n--------------------------------\n" );

    printf( "----------查询功能菜单----------" );

    printf( "\n--------------------------------\n" );

    printf( "          1.车次\n" );

    printf( "          2.出发站\n" );

    printf( "          3.终点站\n" );

    printf( "          4.发车时间\n" );

    printf( "          5.到达时间\n" );

    printf( "          6.票价\n" );

    printf( "\n请输入要查询方式的编号:" );

    scanf( "%d", &l );

    if ( x == 0 )

    {

        printf( "\n----------当前数据库为空----------\n" );

    }else if ( l == 1 )

    {

        printf( "\n请输入需要查询的车次:" );

        scanf( "%s", search );

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

        {

            j = strcmp( search, trains[i] );

            if ( j == 0 )

            {

                ++k;

                if ( k == 1 )

                {

                    printf( "\n-------------------------------------------------------------\n" );

                    printf( "车次 出发站 终点站 发车时间 到达时间 票价" );

                    printf( "\n-------------------------------------------------------------\n" );

                }

                printf( "%-8s ", trains[i] );

                printf( "%-10s ", start_station[i] );

                printf( "%-10s ", end_station[i] );

                printf( "%-12s ", start_time[i] );

                printf( "%-12s ", end_time[i] );

                printf( "%-8d", price[i] );

                printf( "\n" );

            }

        }

        printf( "\n----------查询结束,本次共查询的%d个结果----------n\n", k );

    }else if ( l == 2 )

    {

        printf( "\n请输入需要查询的出发站:" );

        scanf( "%s", search );

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

        {

            j = strcmp( search, start_station[i] );

            if ( j == 0 )

            {

                ++k;

                if ( k == 1 )

                    printf( "\n车次 出发站 终点站 发车时间 到达时间 票价\n" );

                printf( "%-8s "
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值