首页 > 编程语言 >Java学习第八周

Java学习第八周

时间:2024-08-24 20:26:23浏览次数:8  
标签:Java cout int void 第八 学习 file bs ticket

include

include

include

include

include

using namespace std;
time_t t=time(NULL);//设置当前时间
static int n=0;//总车次
void menu();
class bus //车票车次类
{
public:
int hour; //发车时间(时)
int minute; //发车时间(分)
char start_station[20]; //起始站
char end_station[20]; //终点站
double runtime; //行车时间
int busload; //载客量
int ys; //已售票
};
class sy //管理系统类
{
private:
bus bs;
public:
void input();//录入车次信息
void browse();//浏览车次信息
void search_train();//按车次查询
void search_station();//按终点站查询
void sp();//售票
void tp();//退票
void display(int a);//显示各车次信息
friend void save();//保存数据
friend void read();//初始化函数,读取"数据.txt"的数据
};
sy ticket[1000];
/* 将车次信息存储在文本文件数据.txt中 /
void save()
{
ofstream file("数据.txt",ios_base::out);
int i;
for(i=0;i<n;i++)
{
file<<i+1<<" ";
file<<ticket[i].bs.hour<<" ";
file<<ticket[i].bs.minute<<" ";
file<<ticket[i].bs.start_station<<" ";
file<<ticket[i].bs.end_station<<" ";
file<<ticket[i].bs.runtime<<" ";
file<<ticket[i].bs.busload<<" ";
file<<ticket[i].bs.ys<<endl;
}
file.close();
cout<<"信息已存入文件"<<endl;
}
/
录入车次信息/
void sy::input()
{
cin>>ticket[n].bs.hour>>ticket[n].bs.minute;
cin>>ticket[n].bs.start_station>>ticket[n].bs.end_station;
cin>>ticket[n].bs.runtime>>ticket[n].bs.busload>>ticket[n].bs.ys;
n++;
save();
}
/
浏览车次信息 /
void sy::browse()
{
tm
pt=localtime(&t);
cout<<"当前时间: "<<setw(2)<tm_hour<<":";
cout<tm_min<<endl;
cout<<"车次信息:"<<endl;
cout<<"班次号\t"<<"发车时间 "<<"起始站 "<<"终点站 "<<"行车时间 "<<"载客量 "<<"已售票 "<<"状态"<<endl;
int j;
for(j=0;j<n;j++)
{
ticket[j].display(j+1);
cout<<" ";
if(ticket[j].bs.hour< pt->tm_hour){
cout<<"此班已发出"<<endl;
}else{
if (ticket[j].bs.minute<=pt->tm_min&&ticket[j].bs.hourpt->tm_hour){
cout<<"此班已发出"<<endl;
}else{
cout<<"此班未发出"<<endl;
}
}
}
}
/* 显示 */
void sy::display(int a){
cout<<a<<"\t"<<bs.hour<<":";
if(bs.minute
0){
cout<<"00";
}else{
cout<<bs.minute;
}
cout<<"\t "<<" "<<bs.start_station<<"\t"<<" "<<bs.end_station<<" "<<bs.runtime<< " "<<bs.busload<<" "<< bs.ys;
}
/* 按车次查询 /
void sy::search_train(){
int s;
cout<<"输入要查询的车次: ";
cin>>s;
cout<<"班次号\t"<<"发车时间 "<<"起始站 "<<"终点站 "<<"行车时间 "<<"载客量 "<<"已售票"<<endl;
cout<<s<<"\t"<<ticket[s - 1].bs.hour << ":"<<ticket[s - 1].bs.minute<<"\t"<<ticket[s - 1].bs.start_station<<"\t"<<ticket[s - 1].bs.end_station<<"\t"<<ticket[s-1].bs.runtime<<"\t"<<ticket[s-1].bs.busload<<"\t"<<ticket[s-1].bs.ys<<endl;
}
/
按终点站查询 /
void sy::search_station(){
char s[20];
int flag=0;
cout<<"要查询的终点站: ";
cin>>s;
int j;
cout<<"查询结果:" << endl;
cout<<"班次号\t"<<"发车时间 "<<"起始站 "<<"终点站 "<<"行车时间 "<<"载客量 "<<"已售票"<<endl;
for (j=0;j<n;j++){
if(strcmp(s,ticket[j].bs.end_station)==0){
cout<<j+1<<"\t"<<ticket[j].bs.hour<<":"<<ticket[j].bs.minute<<"\t"<<ticket[j].bs.start_station<<"\t"<<ticket[j].bs.end_station<<"\t"<<ticket[j].bs.runtime<<"\t"<<ticket[j].bs.busload<<"\t"<<ticket[j].bs.ys<<endl;
}
}
}
/
初始化函数,从数据.txt中读出信息 /
void read(){
ifstream file("数据.txt",ios_base::in);
while(!file.eof()){
file>>ticket[n].bs.hour;
file>>ticket[n].bs.minute;
file>>ticket[n].bs.start_station;
file>>ticket[n].bs.end_station;
file>>ticket[n].bs.runtime;
file>>ticket[n].bs.busload;
file>>ticket[n].bs.ys;
n++;
}
file.close();
}
/
售票 /
void sy::sp(){
int flag=0;
int a;
cout<<"输入售票班次号: ";
cin>>a;
tm
pt=localtime(&t);
if(ticket[a - 1].bs.ys<ticket[a - 1].bs.busload){
if (ticket[a - 1].bs.hour>pt->tm_hour){
flag=1;
}else{
if(ticket[a-1].bs.hourpt->tm_hour&&ticket[a-1].bs.minute>pt->tm_min){
flag = 1;
}
}
}
if (flag == 1){
cout<<"售票成功"<<endl;
ticket[a-1].bs.ys++;
}else{
cout<<"票已售完"<<endl;
}
}
/* 退票 /
void sy::tp(){
int a;
cout<<"退票的车次: ";
cin>>a;
tm
pt=localtime(&t);
int flag=0;
if(ticket[a-1].bs.hour>pt->tm_hour){
flag = 1;
}else{
if(ticket[a-1].bs.hour
pt->tm_hour&&ticket[a-1].bs.minute>pt->tm_min){
flag=1;
}
}
if (flag==1){
cout<<"退票成功"<<endl;
ticket[a-1].bs.ys--;
}else{
cout<<"退票失败"<<endl;
}
}
/主菜单/
void menu(){
cout<<"欢迎使用车票管理系统!"<<endl;
cout<<" ========================="<<endl;
cout<<" 1.录入车票信息 "<<endl;
cout<<" 2.浏览车票信息 "<<endl;
cout<<" 3.查询车票信息 "<<endl;
cout<<" 4.售票 "<<endl;
cout<<" 5.退票 "<<endl;
cout<<" 6.退出系统 "<<endl;

}
int main(){
menu();
int m;
int f;
int z=1;
sy p;
while(z1){
cout<<"\n请选择: ";
cin>>m;
switch(m){
case 1:p.input();
break;//录入车票信息
case 2:p.browse();
break;//浏览车票信息
case 4:p.sp();
break;//售票
case 5:p.tp();
break;//退票
case 6:z = 0;
break;//退出系统
case 3:
cout<<"查询方式(按车次查询输入1,按终点站查询输入2):";
cin>>f;
if(f
1){
p.search_train();
}
if(f==2){
p.search_station();
}
}
}
return 0;
}
(1)录入车次信息(文本文件保存),可随机地增加班次数据。
(2)浏览车次信息,可显示出所有车次当前状态(如果当前时间
超过了某车次的发车时间,则显示“此班已发出”的信息)。
(3)查询路线:可按车次号查询,可按终点站查询
(4)售票和退票功能:情况A:当查询出已售票数小于额定载量且
当前系统时间小于发车时间时才能售票,自动更新已售票人数;情
况B:退票时,输入退票的车次,当本班车未发出时才能退票,自
动更新已售票人数。
程序要求:
(1)车票的总车次n(n<1000,使用静态数组实现),
(2)定义两个类:管理系统类和车票车次类。
程序所显示的菜单基本内容如下:

 =====================
 1.录入车票信息
2.浏览车票信息
3.查询车票信息
4.售票
5.退票
6.退出系统
请选择
package com.sxt;

public class User {
	int id;
	String name;
	String pwd;
	public User() {
	}
	public User(int id) {
		this.id=id;
	}
	public User(int id,String name) {
		this.id=id;
		this.name=name;
	}
	public User(int id,String name,String pwd) {
		this.id=id;
		this.name=name;
		this.pwd=pwd;
	}
	public static void main(String[] args) {
		User u=new User();
		User u1=new User(1001,"李");
		User u2=new User(1002,"王","123456");
	}
}

标签:Java,cout,int,void,第八,学习,file,bs,ticket
From: https://www.cnblogs.com/wsh-wsh-/p/18378211

相关文章

  • 基于java的校园二手物品交易平台(10902)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发四、项......
  • Java行为型设计模式-状态模式(含电梯场景示例)
    1.状态模式简介状态模式(StatePattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。状态模式的目的是让状态转换显式,并且使得状态转换代码集中在一个地方,不需要使用多重条件语句。状态模式(StatePattern)用于解决系统中对......
  • 第八周
    本周在学校进行c++训练;练习车票管理系统以及银行个人账户管理系统以下为一些代码:点击查看代码#ifndefPERSON_H#definePERSON_H#include<string>usingnamespacestd;classCar{public: inthour;//发车时间 intminute;//发车时间 stringstart_station;//起始......
  • 暑假学习Java第八周
    这个周Java学习了选择循环结构在Java编程语言中,选择结构和循环结构是两种基本的控制结构,用于指导程序的执行流程。选择结构选择结构让程序根据特定条件选择执行不同的代码路径1。if语句:基本形式: if(condition){statements;} if条件成立,则执行花括号内的语句;不成立,则跳......
  • 第八周
    java已学到文件夹。《大道至简》读后感《大道至简》是一本由李尚龙所著的书籍,主要探讨了简约生活和简化思维的哲学。书中通过深入浅出的语言,阐述了简约不仅是一种生活方式,更是一种智慧和力量的体现。阅读此书后,我对简约的理解有了更深刻的认识,也对如何在复杂的世界中找到简单而......
  • 学生Java学习路程-8
    ok,到了一周一次的总结时刻,我大致会叙述这周学习了Java的那些东西。面向对象复习类和对象内存底层面向对象三大特征1.继承2.封装3.多态特殊类1.抽象类2.接口file类......
  • 第八周学习报告
    又经过了一周的学习,今天对本周学习进行总结双列集合双列集合(也称为键值对集合或映射)是一种将键(Key)映射到值(Value)的对象,一个键最多只能映射到最多一个值。map接口Map接口是Java集合框架中的一个重要接口,它定义了将键映射到值的映射。一个映射不能包含重复的键;每个键最多只能映......
  • 基于Java Springboot校园跑腿系统
    一、作品包含源码+数据库+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA数据库:MySQL8.0数据库管理工具:Navicat10以上版本环境配置软件:JDK1.8+Maven3.6.3......
  • 基于Java Springboot海洋馆预约系统
    一、作品包含源码+数据库+设计文档万字+PPT+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA/eclipse数据库:MySQL5.7数据库管理工具:Navicat10以上版本环境......
  • 基于Java Springboot停车场车位预约系统
    一、作品包含源码+数据库+设计文档万字+PPT+全套环境和工具资源+部署教程二、项目技术前端技术:Html、Css、Js、Vue、Element-ui数据库:MySQL后端技术:Java、SpringBoot、MyBatis三、运行环境开发工具:IDEA/eclipse数据库:MySQL5.7数据库管理工具:Navicat10以上版本环境......