船舶停靠系统
实现功能
1:船舶停靠
2:船舶驶离
3:船舶统计
4:船舶质量排序
0:退出系统
项目整体文件
将船舶结构体变量存放在头文件中
#include<stdio.h>
struct ship
{
//船舶编号
int biao;
//船舶名称
char name[10];
//船舶类别
char classic;
//船舶质量
int num_kg;
};
界面
#include<stdio.h>
void jie()
{
printf("\n*********船舶停靠系统*********\n");
printf("*********1:船舶停靠*********\n");
printf("*********2:船舶驶离*********\n");
printf("*********3:船舶统计*********\n");
printf("*********4:船舶质量排序*****\n");
printf("*********0:退出系统*********\n");
}
实现船舶停靠
//停船的方法
void input(struct ship s[],int n,int k)
{
int i;
for(i=k;i<n;i++)
{
flushall();
printf("输入第%d船舶编号、名称、和质量:\n",i+1);
scanf("%d %s %d",&s[i].biao,s[i].name,&s[i].num_kg);
if(s[i].num_kg<10)
{
s[i].classic='x';
}else if(s[i].num_kg>10&&s[i].num_kg<20)
{
s[i].classic='y';
}else
{
s[i].classic='z';
}
}
}
船舶驶离
//出船的方法
void output(struct ship s[],int biao,int count)
{
int i;
for(i=0;i<count;i++)
{
if(s[i].biao==biao)
{
break;
}
}
int k;
for(k=i;k<count-1;k++)
{
s[k]=s[k+1];
}
}
船舶质量排序
//排序
void pai(struct ship s[],int n)
{
int i,j;
struct ship temp;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(s[j].num_kg>s[j+1].num_kg)
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
}
main函数
#include<stdio.h>
#include "variable.h"
struct ship SHIP[10];
void jie();
void input(struct ship s[],int n,int k);
void output(struct ship s[],int biao,int count);
void stat(struct ship s[],int n);
void pai(struct ship s[],int n);
int count=0;
void main()
{
//jie();
//printf("%s",SHIP.biao);
//input(SHIP,5);
int flag=1;
while(flag==1)
{
jie();
int a;
scanf("%d",&a);
switch(a)
{
case 1:
{
int num,start=count;
printf("请输入要进入港口的数量:\n");
scanf("%d",&num);
count+=num;
input(SHIP,count,start);
}
break;
case 2:
{
int biao_shi;
printf("请输出驶离的船舶编号:\n");
scanf("%d",&biao_shi);
output(SHIP,biao_shi,count);
count--;
}
break;
case 3:
{
stat(SHIP,count);
}
break;
case 4:
{
pai(SHIP,count);
}
break;
case 0:
flag=0;
break;
}
}
}