【源码项目】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 ", 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 == 3 )
{
printf( "\n请输入需要查询的终点站:" );
scanf( "%s", search );
for ( i = 0; i < x; i++ )
{
j = strcmp( search, end_station[i] );
if ( j == 0 )
{
++k;
if ( k == 1 )
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 == 4 )
{
printf( "\n请输入需要查询的发车时间:" );
scanf( "%s", search );
for ( i = 0; i < x; i++ )
{
j = strcmp( search, start_time[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 == 5 )
{
printf( "\n请输入需要查询的到达时间:" );
scanf( "%s", search );
for ( i = 0; i < x; i++ )
{
j = strcmp( search, end_time[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 == 6 )
{
printf( "\n请输入需要查询的票价:" );
scanf( "%d", &search1 );
for ( i = 0; i < x; i++ )
{
j = search1 == price[i] ? 0 : 1;
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
printf( "\n请正确输入排序方式编号!\n" );
}
/*----------列表子函数----------*/
void sum( void )
{
if ( x != 0 )
{
printf( "\n----------------------------------------------------------------------\n" );
printf( "编号 车次 出发站 终点站 发车时间 到达时间 票价" );
printf( "\n----------------------------------------------------------------------\n" );
for ( i = 0; i < x; i++ )
{
printf( "%-8d ", i + 1 );
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", x );
}
/*----------排序子函数----------*/
void sort( void )
{
char sort[1][10];
int sort1;
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", &k );
/*----------以下为排序工作流程----------*/
if ( k == 1 )
{
for ( i = 0; i < x; i++ )
for ( j = i; j < x - 1; j++ )
{
l = strcmp( trains[i], trains[j + 1] );
if ( l > 0 )
{
strcpy( sort[0], trains[i] );
strcpy( trains[i], trains[j + 1] );
strcpy( trains[j + 1], sort[0] );
strcpy( sort[0], start_station[i] );
strcpy( start_station[i], start_station[j + 1] );
strcpy( start_station[j + 1], sort[0] );
strcpy( sort[0], end_station[i] );
strcpy( end_station[i], end_station[j + 1] );
strcpy( end_station[j + 1], sort[0] );
strcpy( sort[0], start_time[i] );
strcpy( start_time[i], start_time[j + 1] );
strcpy( start_time[j + 1], sort[0] );
strcpy( sort[0], end_time[i] );
strcpy( end_time[i], end_time[j + 1] );
strcpy( end_time[j + 1], sort[0] );
sort1 = price[i];
price[i] = price[j + 1];
price[j + 1] = sort1;
}
}
}else if ( k == 2 )
{
for ( i = 0; i < x; i++ )
for ( j = i; j < x - 1; j++ )
{
l = strcmp( start_station[i], start_station[j + 1] );
if ( l > 0 )
{
strcpy( sort[0], trains[i] );
strcpy( trains[i], trains[j + 1] );
strcpy( trains[j + 1], sort[0] );
strcpy( sort[0], start_station[i] );
strcpy( start_station[i], start_station[j + 1] );
strcpy( start_station[j + 1], sort[0] );
strcpy( sort[0], end_station[i] );
strcpy( end_station[i], end_station[j + 1] );
strcpy( end_station[j + 1], sort[0] );
strcpy( sort[0], start_time[i] );
strcpy( start_time[i], start_time[j + 1] );
strcpy( start_time[j + 1], sort[0] );
strcpy( sort[0], end_time[i] );
strcpy( end_time[i], end_time[j + 1] );
strcpy( end_time[j + 1], sort[0] );
sort1 = price[i];
price[i] = price[j + 1];
price[j + 1] = sort1;
}
}
}else if ( k == 3 )
{
for ( i = 0; i < x; i++ )
for ( j = i; j < x - 1; j++ )
{
l = strcmp( end_station[i], end_station[j + 1] );
if ( l > 0 )
{
strcpy( sort[0], trains[i] );
strcpy( trains[i], trains[j + 1] );
strcpy( trains[j + 1], sort[0] );
strcpy( sort[0], start_station[i] );
strcpy( start_station[i], start_station[j + 1] );
strcpy( start_station[j + 1], sort[0] );
strcpy( sort[0], end_station[i] );
strcpy( end_station[i], end_station[j + 1] );
strcpy( end_station[j + 1], sort[0] );
strcpy( sort[0], start_time[i] );
strcpy( start_time[i], start_time[j + 1] );
strcpy( start_time[j + 1], sort[0] );
strcpy( sort[0], end_time[i] );
strcpy( end_time[i], end_time[j + 1] );
strcpy( end_time[j + 1], sort[0] );
sort1 = price[i];
price[i] = price[j + 1];
price[j + 1] = sort1;
}
}
}else if ( k == 4 )
{
for ( i = 0; i < x; i++ )
for ( j = i; j < x - 1; j++ )
{
l = strcmp( start_time[i], start_time[j + 1] );
if ( l > 0 )
{
strcpy( sort[0], trains[i] );
strcpy( trains[i], trains[j + 1] );
strcpy( trains[j + 1], sort[0] );
strcpy( sort[0], start_station[i] );
strcpy( start_station[i], start_station[j + 1] );
strcpy( start_station[j + 1], sort[0] );
strcpy( sort[0], end_station[i] );
strcpy( end_station[i], end_station[j + 1] );
strcpy( end_station[j + 1], sort[0] );
strcpy( sort[0], start_time[i] );
strcpy( start_time[i], start_time[j + 1] );
strcpy( start_time[j + 1], sort[0] );
strcpy( sort[0], end_time[i] );
strcpy( end_time[i], end_time[j + 1] );
strcpy( end_time[j + 1], sort[0] );
sort1 = price[i];
price[i] = price[j + 1];
price[j + 1] = sort1;
}
}
}else if ( k == 5 )
{
for ( i = 0; i < x; i++ )
for ( j = i; j < x - 1; j++ )
{
l = strcmp( end_time[i], end_time[j + 1] );
if ( l > 0 )
{
strcpy( sort[0], trains[i] );
strcpy( trains[i], trains[j + 1] );
strcpy( trains[j + 1], sort[0] );
strcpy( sort[0], start_station[i] );
strcpy( start_station[i], start_station[j + 1] );
strcpy( start_station[j + 1], sort[0] );
strcpy( sort[0], end_station[i] );
strcpy( end_station[i], end_station[j + 1] );
strcpy( end_station[j + 1], sort[0] );
strcpy( sort[0], start_time[i] );
strcpy( start_time[i], start_time[j + 1] );
strcpy( start_time[j + 1], sort[0] );
strcpy( sort[0], end_time[i] );
strcpy( end_time[i], end_time[j + 1] );
strcpy( end_time[j + 1], sort[0] );
sort1 = price[i];
price[i] = price[j + 1];
price[j + 1] = sort1;
}
}
}else if ( k == 6 )
{
for ( i = 0; i < x; i++ )
for ( j = i; j < x - 1; j++ )
{
l = price[i] > price[j + 1] ? 1 : 0;
if ( l > 0 )
{
strcpy( sort[0], trains[i] );
strcpy( trains[i], trains[j + 1] );
strcpy( trains[j + 1], sort[0] );
strcpy( sort[0], start_station[i] );
strcpy( start_station[i], start_station[j + 1] );
strcpy( start_station[j + 1], sort[0] );
strcpy( sort[0], end_station[i] );
strcpy( end_station[i], end_station[j + 1] );
strcpy( end_station[j + 1], sort[0] );
strcpy( sort[0], start_time[i] );
strcpy( start_time[i], start_time[j + 1] );
strcpy( start_time[j + 1], sort[0] );
strcpy( sort[0], end_time[i] );
strcpy( end_time[i], end_time[j + 1] );
strcpy( end_time[j + 1], sort[0] );
sort1 = price[i];
price[i] = price[j + 1];
price[j + 1] = sort1;
}
}
}else
printf( "\n----------你的输入错误!----------n\n" );
/*----------排序工作流程结束----------*/
printf( "\n-------------------------------------------------------------\n" );
printf( "车次 出发站 终点站 发车时间 到达时间 票价" );
printf( "\n-------------------------------------------------------------\n" );
for ( i = 0; i < x; i++ )
{
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" );
}
}
/*----------编辑子函数----------*/
void edit( void )
{
if ( x != 0 )
{
printf( "\n----------------------------------------------------------------------\n" );
printf( "编号 车次 出发站 终点站 发车时间 到达时间 票价" );
printf( "\n----------------------------------------------------------------------\n" );
for ( i = 0; i < x; i++ )
{
printf( "%-8d ", i + 1 );
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----------------------------------\n" );
printf( "----------编辑功能主菜单----------" );
printf( "\n----------------------------------\n" );
}
if ( x == 0 )
printf( "\n----------没有数据可编辑!----------\n" );
else{
printf( "\n请输入要修改信息的编号:" );
scanf( "%d", &j );
if ( j >= 1 && j <= x )
{
printf( "\n--------------" );
printf( "\n 1.车次 " );
printf( "\n 2.出发站 " );
printf( "\n 3.终点站 " );
printf( "\n 4.发车时间 " );
printf( "\n 5.到达时间 " );
printf( "\n 6.票价 " );
printf( "\n--------------" );
printf( "\nn请输入要修改的项目:" );
scanf( "%d", &k );
if ( k == 1 || k == 2 || k == 3 || k == 4 || k == 5 || k == 6 )
{
printf( "\n请输入你要修改的数据:" );
if ( k == 1 )
{
scanf( "%s", &trains[j - 1] );
printf( "\n----------编辑操作成功----------\n" );
}else if ( k == 2 )
{
scanf( "%s", &start_station[j - 1] );
printf( "\n----------编辑操作成功----------\n" );
}else if ( k == 3 )
{
scanf( "%s", &end_station[j - 1] );
printf( "\n----------编辑操作成功----------\n" );
}else if ( k == 4 )
{
scanf( "%s", &start_time[j - 1] );
printf( "\n----------编辑操作成功----------\n" );
}else if ( k == 5 )
{
scanf( "%s", &end_time[j - 1] );
printf( "\n----------编辑操作成功----------\n" );
}else {
scanf( "%d", &price[j - 1] );
printf( "\n----------编辑操作成功----------\n" );
}
}else
printf( "\n----------请输入正确的项目!----------\n" );
}else
printf( "\n----------请输入正确的编号!----------\n" );
}
}
/*----------删除子函数----------*/
void del( void )
{
if ( x != 0 )
{
printf( "\n----------------------------------------------------------------------\n" );
printf( "编号 车次 出发站 终点站 发车时间 到达时间 票价" );
printf( "\n----------------------------------------------------------------------\n" );
for ( i = 0; i < x; i++ )
{
printf( "%-8d ", i + 1 );
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----------------------------------\n" );
printf( "----------删除功能主菜单----------" );
printf( "\n----------------------------------\n" );
printf( "\n请输入以上要删除信息的编号:" );
scanf( "%d", &j );
}
if ( x == 0 )
printf( "\n----------没有数据可删除!----------\n" );
else if ( j < x && j > 0 )
{
for (; j < x + 1; j++ )
{
strcpy( trains[j - 1], trains[j] );
strcpy( start_station[j - 1], start_station[j] );
strcpy( end_station[j - 1], end_station[j] );
strcpy( start_time[j - 1], start_time[j] );
strcpy( end_time[j - 1], end_time[j] );
price[j - 1] = price[j];
}
x = x - 1;
printf( "\n----------删除操作成功!----------\n" );
}else if ( j == x )
{
x = x - 1;
printf( "\n----------删除操作成功!----------\n" );
}else
printf( "\n----------请输入正确的编号!----------\n" );
}
效果图:
嘻嘻哒~~~
看到这里你是不是又学到了很多新知识呢~
如果你很想学编程,小编推荐我的C语言/C++编程学习基地【点击进入】!
都是学编程小伙伴们,带你入个门还是简简单单啦,一起学习,一起加油~
还有许多学习资料和视频,相信你会喜欢的!
涉及:游戏开发、常用软件开发、编程基础知识、课程设计、黑客等等......
【源码项目】C语言编程之火车票管理系统!(最强代码)的更多相关文章
- Eclipse导入Hadoop源码项目及编写Hadoop程序
一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...
- Hadoop1.x目录结构及Eclipse导入Hadoop源码项目
这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...
- FFmpeg源码简单分析:结构体成员管理系统-AVOption
===================================================== FFmpeg的库函数源码分析文章列表: [架构图] FFmpeg源码结构图 - 解码 FFm ...
- HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!
HashMap源码深度剖析,手把手带你分析每一行代码! 在前面的两篇文章哈希表的原理和200行代码带你写自己的HashMap(如果你阅读这篇文章感觉有点困难,可以先阅读这两篇文章)当中我们仔细谈到了哈 ...
- STL源码--iterator和traits编程技法
第一部分 iterator学习 STL iterators定义: 提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式. 任何iteartor都应该提供5 ...
- Muzei Live Wallpaper壁纸应用安卓源码项目
这个刚刚在安卓教程网那里看到的,这个是Muzei Live Wallpaper壁纸应用源码,这是已经在Playstore上线了的android壁纸应用,点击壁纸界面可以磨砂透明效果以及一般背景效果之间 ...
- 安装Hadoop系列 — 导入Hadoop源码项目
将Hadoop源码导入Eclipse有个最大好处就是通过 "ctrl + shift + r" 可以快速打开Hadoop源码文件. 第一步:在Eclipse新建一个Java项目,h ...
- android 近百个源码项目【转】
http://www.cnblogs.com/helloandroid/articles/2385358.html Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多 ...
- spring5.0源码项目搭建
一.准备相应环境以及下载spring项目 Ps:此处只讲解安装gradle 1.JDK安装 2.Idea安装 3.gradle安装 Gradle下载路径:https://services.gradle ...
随机推荐
- python基础:异常捕捉
一.异常 python在程序运行过程中,可能会出现一些错误和异常,导致程序停止运行.我们可以通过捕捉异常,并对异常进行处理,使得程序可以正常运行 异常有很多类型,可以根据类型挨个捕捉.也可统一捕获: ...
- pyhton:操作redis
一.redis介绍 redis是一种非关系型数据库:没有表结构,没有字段,没有sql语句.只是用get获取数据,set插数据,类似字典.比如mangodb,redis redis的数据全存在内存,re ...
- vue | 基于vue的城市选择器和搜索城市对应的小区
城市选择器应该是比较常用的一个组件,用户可以去选择自己的城市,选择城市后返回,又根据自己选择的城市搜索小区. 功能展示 这是选择结果 这是选择城市 这是搜索小区 这是搜索小区接口,key为城市名字,i ...
- 踩坑了,JDK8中HashMap依然会死循环!
是否你听说过JDK8之后HashMap已经解决的扩容死循环的问题,虽然HashMap依然说线程不安全,但是不会造成服务器load飙升的问题. 然而事实并非如此.少年可曾了解一种红黑树成环的场景,=v= ...
- Alibaba内部SpringCloud参考笔记,在GitHub一天就标星81.6k?
前言 阿里巴巴,作为国内互联网公司的Top,算是业界的标杆,有阿里背景的程序员,也更具有权威性.作为程序员,都清楚阿里对于员工要求有多高,技术人员掌握的技术水平更是望尘莫及.所以,大厂程序员的很多经验 ...
- zookeeper 回调和Watcher
ZooKeeper客户端可以对指定节点设置指定Watcher,当服务器指定节点发生变化是,客户端会收到服务器的通知,然后客户端可以执行相应Watcher的代码. 默认ZooKeeper内置了一个wat ...
- Mybatis快速逆向生成代码
先下载生成器的文件, 并在eclipse或者IDEA里面打开这个工程 热乎乎的链接 然后配置一下 选择你需要生成的数据的ip和端口 点击运行入口函数 运行成功 接着在浏览器输入localhost: 这 ...
- element-ui upload上传文件并携带参数 使用formData对象
需求:上传文件的时候,需要携带其他的参数 问题:使用upload上传文件时,必须使用formData对象,而其他的参数通过data获取的到的,formData和data是不能同时传输的 解决:获取到的 ...
- selenium的文档API
你用WebDriver要做的第一件事就是指定一个链接,一般我们使用get方法: from selenium import webdriver from selenium.webdriver.commo ...
- 刷题[CISCN2019 总决赛 Day2 Web1]Easyweb
解题思路 打开网页是这样一个登陆框,随机试了一下常见弱密钥,二次注入等.均是返回不同的猫咪图案 不同的id对应不同的猫咪图案.经测试,返回的id应该是无序,随机的.感觉这里有可能存在注入点,但是测试好 ...