C语言实现航班管理系统

本文实例为大家分享了C语言实现航班管理系统的具体代码,供大家参考,具体内容如下

/*.航班管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
       ......
 用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入录入航班信息,包括:航班号,起降时间,起飞抵达城市,航班票价,票价折扣,航班是否满仓等;
2)输出记录:输出信息;
3)查询记录:可根据航班号查找记录;
4)删除记录:指定航班号删除该条记录;
5)插入记录:在指定位置插入新的记录。
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 50

int menu();
int input(struct );
void print(struct );
void search(struct flight_info info[],int n);
int find_id(struct flight_info info[],int n,char *p);
int del(struct,int n);
int add(struct ,int n);
//菜单
int menu(){
int i=1,choie;
// struct flight_info *info;
printf("******************航班管理系统*********************\n");
printf("\t\t%d.输入航班信息\n",i++);
printf("\t\t%d.输出航班信息\n",i++);
printf("\t\t%d.查询记录\n",i++);
printf("\t\t%d.删除记录\n",i++);
printf("\t\t%d.插入记录\n",i++);
printf("\t\t%d.退出系统\n",i++);
printf("****************************************************\n");
do{
printf("请输入你所选功能(1~6):");
scanf("%d",&choie);

}while(choie<0||choie>6);
return choie;
}
//输入航班信息
//航班号,起降时间,起飞抵达城市,航班票价,票价折扣,航班是否满仓

struct time{
int hour;
int minute;
};

struct flight_info{
char id[20];  //航班号
time takeoff; //起飞时间
time landing; //降落时间
char city[20]; //起降城市
float money; //航班票价
float discount;//票价折扣
char full[3];//航班是否满仓
};
int input(struct flight_info info[]){
int count;
system("cls");
printf("\n请输入航班记录条数: ");
scanf("%d",&count);
for(int i=0;i<count;i++){
 printf("\n记录号:%d\n",i+1);
 for(int j=0;j<20;j++){printf("-");}
printf("\n航班号: ");scanf("%s",info[i].id);
printf("起飞时间(x时x分)");scanf("%d%d",&info[i].takeoff.hour,&info[i].takeoff.minute);
printf("降落时间(x时x分)");scanf("%d%d",&info[i].landing.hour,&info[i].landing.minute);
printf("起降城市");scanf("%s",info[i].city);
printf("航班票价");scanf("%f",&info[i].money);
printf("票价折扣");scanf("%f",&info[i].discount);
printf("是否满仓");scanf("%s",info[i].full);
}
return count;
}
//输出航班信息
void print(struct flight_info info[],int n){
int i;
system("cls");
printf("\n******************航班信息*********************\n");
printf("航班号 起降时间 起降城市 票价 折扣 是否满仓\n");
printf("------------------------------------------------------------------\n");
for(i=0;i<n;i++){
printf("%s\t%d:%d-%d:%d %s\t %.2f\t%.2f\t%s\n",info[i].id,info[i].takeoff.hour,info[i].takeoff.minute,info[i].landing.hour,info[i].landing.minute,info[i].city,info[i].money,info[i].discount,info[i].full);
printf("------------------------------------------------------------------\n");

}

}
//查询记录
void search(struct flight_info info[],int n){
 char s[20];
 int i;
 system("cls");
printf("请输入查找航班号:\n");
scanf("%s",s);
getchar();
i=find_id(info,n,s);
if(i>n-1)
printf("没有航班号为%s的航班!\n",s);
else {
system("cls");
printf("\n******************航班信息*********************\n");
printf("航班号 起降时间 起降城市 票价 折扣 是否满仓\n");
printf("------------------------------------------------------------------\n");
printf("%s\t%d:%d-%d:%d\t%s\t%.2f\t%.2f\t%s\n",info[i].id,info[i].takeoff.hour,info[i].takeoff.minute,info[i].landing.hour,info[i].landing.minute,info[i].city,info[i].money,info[i].discount,info[i].full);
printf("------------------------------------------------------------------\n");

}

}
//删除记录
int del(struct flight_info info[],int n){
char s[20];
int ch=0;
int i;
printf("请输入要删除的航班号:\n");
scanf("%s",s);
getchar();
i=find_id(info,n,s);
if(i>n-1)
printf("没有航班号为%s的航班!\n",s);
else {
printf("正在删除中!\n");
for(;i<n;i++){   //从删除位置开始依次前移航班记录
strcpy(info[i].id,info[i+1].id);
info[i].takeoff.hour=info[i+1].takeoff.hour;
info[i].takeoff.minute=info[i+1].takeoff.minute;
info[i].landing.hour=info[i+1].landing.hour;
info[i].landing.minute=info[i+1].landing.minute;
strcpy(info[i].city,info[i+1].city);
info[i].money=info[i+1].money;
info[i].discount=info[i+1].discount;
strcpy(info[i].full,info[i+1].full);
}
n--; //删除后记录数减1
printf("删除成功!\n");
}

return n;
}
//插入记录
int add(struct flight_info info[],int n){
struct flight_info temp; //新插入记录信息
int i,j;
char s[20];
printf("请输入要插入的航班记录:\n");
printf("**************************************************");
printf("\n航班号: ");scanf("%s",temp.id);
printf("起飞时间(x时x分)");scanf("%d%d",&temp.takeoff.hour,&temp.takeoff.minute);
printf("降落时间(x时x分)");scanf("%d%d",&temp.landing.hour,&temp.landing.minute);
printf("起降城市");scanf("%s",temp.city);
printf("航班票价");scanf("%f",&temp.money);
printf("票价折扣");scanf("%f",&temp.discount);
printf("是否满仓");scanf("%s",temp.full);

   //输入插入信息
getchar();
printf("------------------------------------------\n");
if(n>0){
printf("请输入插入位置的航班号,将新纪录插入在该航班号前:\n");
scanf("%s",s);  //输入插入位置的姓名
getchar();
 i=find_id(info,n,s); //确定插入位置
}
else
i=0;
for(j=n-1;j>=i;j--){
strcpy(info[j+1].id,info[j].id);
info[j+1].takeoff.hour=info[j].takeoff.hour;
info[j+1].takeoff.minute=info[j].takeoff.minute;
info[j+1].landing.hour=info[j].landing.hour;
info[j+1].landing.minute=info[j].landing.minute;
strcpy(info[j+1].city,info[j].city);
info[j+1].money=info[j].money;
info[j+1].discount=info[j].discount;
strcpy(info[j+1].full,info[j].full);
}
strcpy(info[i].id,temp.id);
info[i].takeoff.hour=temp.takeoff.hour;
info[i].takeoff.minute=temp.takeoff.minute;
info[i].landing.hour=temp.landing.hour;
info[i].landing.minute=temp.landing.minute;
strcpy(info[i].city,temp.city);
info[i].money=temp.money;
info[i].discount=temp.discount;
strcpy(info[i].full,temp.full);

n++; //记录数加1
return n;//返回记录数
}

//按航班号查找函数
int find_id(flight_info info[],int n,char *p){
int i;
for(i=0;i<n;i++){
if(strcmp(p,info[i].id)==0)
 return i;
}
return i;
}

int main(){
int length;
 flight_info info[N];

for(;;){
switch(menu()){
 case 1:length=input(info);break;
 case 2:print(info,length);break;
 case 3:search(info,length);break;
 case 4:length=del(info,length);break;
 case 5:length=add(info,length);break;
 case 6:system("cls");printf("系统已关闭!!!\n感谢使用\n");exit(0);break;
 }
printf("按回车键返回主菜单...\n");
getchar();
}
return 0;
}

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • C语言学生成绩管理系统源代码

    大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; float kaoshi; double zongping; }stu[4]; void main() { void a(); void b(); void

  • C语言编写学生成绩管理系统

    用C语言编写学生成绩管理系统代码,供大家参考,具体内容如下 C语言实现学生成绩管理系统实战教学 https://www.jb51.net/article/154767.htm (1)给出所选课程设计题目以及本题目具体所要完成的功能要求说明. 1.课程设计题目:学生成绩管理系统 2.完成的功能要求: (1).主要实现的功能: 1---学生输入 2---学生插入 3---学生查询(按学号) 4---学生删除 5---学生输出 6---计算每名学生的平均分并输出 7---计算每科的平均分并输出 8--

  • C语言学生管理系统源码分享

    本文实例为大家分享了C语言学生管理系统源码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> //结构体可以存放的学生信息最大个数,不可变变量 int const MAX_LENGTH=100; //学生信息结构体数组,最多可以存放100个学生信息 struct student{ int id; //学号 char *name; //姓名 int age; //年龄 float c_score; //C语言成绩 float engl

  • C语言通讯录管理系统完整版

    C语言实现了通讯录的录入信息.保存信息.插入.删除.排序.查找.单个显示等功能.. 完整的代码如下: #include <stdio.h> #include <malloc.h> //得到指向大小为Size的内存区域的首字节的指针// #include <string.h> #include <stdlib.h> //标准库函数// #define NULL 0 #define LEN sizeof(struct address_list) //计算字节//

  • C语言利用结构体数组实现学生成绩管理系统

    要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).定义结构体类型描述学生信息,每个学生信息包括:学号.姓名.多门课的成绩.总成绩和平均成绩.用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统. (1) 录入每个学生的学号.姓名和各科考试成绩. (2) 计算每门课程的总分和平均分. (3) 计算每个学生的总分和平均分. (4) 按每个学生的总分由高到低排出名次表. (5) 按学号由小到大排出成绩表. (6) 按姓名的字典顺序排出成

  • C语言图书管理系统简洁版

    DOS界面的图书管理系统,具体内容如下 程序分为两块:管理员操作(收录图书.删除图书等)和会员操作(注册.借书.还书等): 1.管理员操作界面 2.会员操作界面 global.h头文件:(程序中只使用了一个编写的头文件,在这里存放了所有的接口函数以及需要使用到的头文件,还有结构体的定义) #include "iostream" #include "string" #include "fstream" #include "conio.h&

  • 学生成绩管理系统C语言代码实现

    C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct person //定义结构体 { char num[10]; //学号 char name[20]; //姓名 float cyuyan; //C语言成绩 float en; //物理学成绩 float ji; //原子物理成绩

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

  • C语言实现航班管理系统

    本文实例为大家分享了C语言实现航班管理系统的具体代码,供大家参考,具体内容如下 /*.航班管理系统 主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数: ...... 用不同的函数实现,除以下模块,还可设计其他功能模块: 1)输入记录:输入录入航班信息,包括:航班号,起降时间,起飞抵达城市,航班票价,票价折扣,航班是否满仓等: 2)输出记录:输出信息: 3)查询记录:可根据航班号查找记录: 4)删除记录:指定航班号删除该条记录: 5)插入记录:在指定位置插入新的记录. *

  • C语言实现航班售票系统 C语言实现航班管理系统

    本文实例为大家分享了C语言航班售票系统的具体代码,供大家参考,具体内容如下 题目描述:实现一个航班售票系统,每个航班应包括以下信息:航班号.起飞地.目的地.总座位数.余票数.乘客名单等:每个乘客的信息有:乘客姓名.证件号码.座位号等. #include <stdio.h> #include <stdlib.h> #include <string.h> #define MaxFlight 32 //最大的航班数 #define MaxPassenger 1000 //最大

  • C语言实现简单航班管理系统

    本文实例为大家分享了C语言实现航班管理系统的具体代码,供大家参考,具体内容如下 /*C语言实现简单的航班管理系统(单个文件)*/ #include <stdio.h> #include <string.h> #include<stdlib.h> #include<assert.h> #define PERSON_MAXNUM 100 #define PERSONNOTICKET_MAX 10 #define MAX_SIZE 10 int _size = 0

  • C语言实现航班订票系统

    本文实例为大家分享了C语言实现航班订票系统的具体代码,供大家参考,具体内容如下 描述: 点定义两个链表,一个存储航班信息,一个存储客户信息: 进行一系列简单的增删查找: 代码如下 #include<cstdio> #include<cstring> #include<iostream> #include<cstdlib> using namespace std; const int MAXN=250; typedef struct { string p_id

  • C语言学生成绩管理系统小设计

    本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.本设计涉及的重要C语言知识有: 1.单链表的各种操作 2.文件流的操作 3.单链表的排序 二.本设计主要以下几个模块组成 1.学生成绩添加模块 2.学生成绩删除模块 3.学生成绩修改模块 4.学生成绩检索模块 5.学生成绩显示模块(包括成绩排序) 6.学生成绩保存模块 效果图: 本设计大概5.6百行代码左右,通过这个设计,本人感觉C语言熟练了很多, 希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

  • C语言实现图书管理系统

    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅.说实话,起初对C语言的印象---只是一个学习计算机语言的敲门砖,对具体C语言如何应用等,非常迷茫.直到大一下半学期的高级语言设计课程之后,试过dos运行的图形化界面的完整小程序,才发现C语言的魅力. ok,废话不多说了,下面是我第二节课的作品----C语言的图书管理系统.一个简单的小程序.并非纯原创,是基于网络搜索到的"学生管理系统"改编而成的.通过直接浏览.修改一个完整的代码,我的收获颇丰.我认为这样比枯燥

  • C语言学生信息管理系统小项目

    本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:system("clear")这个系统调用是linux的,windows里面用system("cls") ) (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.试设计一学生信息管理系统,使之能提供以下功

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

随机推荐