程序语言设计课程设计0911090101朱才才《车队管理系统》.docx
- 文档编号:27332196
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:12
- 大小:155.96KB
程序语言设计课程设计0911090101朱才才《车队管理系统》.docx
《程序语言设计课程设计0911090101朱才才《车队管理系统》.docx》由会员分享,可在线阅读,更多相关《程序语言设计课程设计0911090101朱才才《车队管理系统》.docx(12页珍藏版)》请在冰豆网上搜索。
程序语言设计课程设计0911090101朱才才《车队管理系统》
一、题目描述
模拟学生选课程序,进入系统,目录有数据输入,数据插入,数据删除,数据显示,数据查询,数据统计及退出系统。
系统中包括各种信息,程序清晰。
图1
二、功能分析
通过体验并分析后得出车队管理主要功能包括:
1.输入车辆信息
2.插入车辆信息
3.删除数据
4.显示数据
5.查询数据
6.统计数据
0.退出系统
三、系统设计
1.程序总体结构
程序中由主模块负责协调各功能模块的工作。
进入程序后,根据输入操作,执行相应的输入、插入、删除、显示、查询、统计及退出等功能,并在屏幕上输出。
2.输入方式设计
此程序为dos下程序,因此简化为键盘控制。
1、2、3、4、5、6、0分别表示各项功能。
回车表示确认进入各个程程序;
按1显示输入车辆信息;
按2进入插入数据
按3删除车辆信息;
按4显示车辆信息。
按5查询车辆信息
按6统计车辆信息。
按0退出系统;
3.重要数据的数据结构设计
typedefstructEmpk
{ int EmpNum; // 车辆编号
charEmpName[8]; //司机姓名
int Sex; // 性别 1-女 2- 男
charPosition[8]; // 职务
charAddress[10]; // 住址
structTell; //电话
intDay; //出生年月
intYear; //驾龄 1-1-5 2-5-10 3->10
四、关键技术、难点及其解决方法
此程序的关键是是否有保存功能,而且是保存把信息保存到文件中后退出程序,当再次进入程序是是否能查找到上次登陆是录入的信息,还有就是当系统要查找、删除信息是如何确定程序中是否有你要查找、删除的信息,来验证系统中是否存在所要的信息。
五、测试方法
1.按键测试。
检查正确的输入时,是否界面正确表现;错误输入时,是否无效。
2.程序运行测试。
正确运行,观察是否异常;运行时中断,程序是否正确退出。
六、总结
通过对c语言的学习我已经学会了许多的代码和很多的文本函数、图形函数,也通过这些代码编程出了车队管理系统,通过这个系统对车队信息进行管理,并实行车队车辆信息的输入、插入、删除、显示、查询及统计等功能。
也通过这次课程设计理解了编程的具体思想和总体思路,对于以后的编程打下了坚实的基础。
附1、使用说明:
1.功能说明.
此程序分为7个选项,分别是输入车辆信息、插入车辆信息、删除车辆信息、显示车辆信息、查询所需车辆信息、统计车辆信息及存储、退出功能,当选1时是输入数据,2是插入数据,3是删除数据,4是显示数据、5是查询数据,6是统计车辆数据,0是退出系统。
2.用户手册.
.显示主菜单后键入数字:
1.输入数据;
2.插入数据;
3.删除数据;
4.显示数据;
5.查询数据;
6.统计数据;
0.退出系统.
附2、代码清单
#include
#include
#include
#include
typedefstructEmpk
{ int EmpNum; // 车辆编号
charEmpName[8]; //司机姓名
int Sex; // 性别 1-女 2- 男
charPosition[8]; // 职务
charAddress[10]; // 住址
structTell; //电话
intDay; //出生年月
intYear; //驾龄 1-1-5 2-5-10 3->10
}Emp;
Empemp[100];
Emps[1];
voidopen()
{inti;
FILE*fp;
if((fp=fopen("d:
\\bkdat","rb+"))==NULL)
{printf("cannotdoit!
\n");
exit(0);
}
for(i=0;i<100;i++)
{if(fread(&emp[i],sizeof(Emp),1,fp)==EOF)
{printf("输出失败\n");
exit(0);
}
}
fclose(fp);
}
voidclose()
{inti;
FILE*fp;
if((fp=fopen("d:
\\bkdat","wb+"))==NULL)
{printf("cannotdoit!
\n");
exit(0);
}
for(i=0;i<100;i++)
fwrite(&emp[i],sizeof(Emp),1,fp);
fclose(fp);
}
voidinputEmpInfo()
{inti,k;
voidopen();
for(i=0;i<100;i++)
{printf("请输入车辆编号:
");
scanf("%d",&emp[i].EmpNum);
printf("\n请输入司机姓名:
");
scanf("%s",emp[i].EmpName);
printf("\n请输入性别1-女 2- 男:
");
scanf("%d",&emp[i].Sex);
printf("\n请输入职务:
");
scanf("%s",emp[i].Position);
printf("\n请输入住址:
");
scanf("%s",emp[i].Address);
printf("\n请输入电话:
");
scanf("%s",&emp[i].Tell);
printf("\n请输入出生年月:
");
scanf("%d",&emp[i].Day);
printf("\n请输入驾龄 1-1-5 2-5-10 3->10");
scanf("%d",&emp[i].Year);
printf("继续?
(1.y2.n)");
scanf("%d",&k);
if(k==2)break;
}
close();
}
voidadd()
{inti=0;
voidopen();
while(emp[i].EmpNum!
=0)i++;
printf("请输入车辆编号:
");
scanf("%d",&emp[i].EmpNum);
printf("\n请输入司机姓名:
");
scanf("%s",emp[i].EmpName);
printf("\n请输入性别1-女 2- 男:
");
scanf("%d",&emp[i].Sex);
printf("\n请输入职务:
");
scanf("%s",emp[i].Position);
printf("\n请输入住址:
");
scanf("%s",emp[i].Address);
printf("\n请输入电话:
");
scanf("%s",&emp[i].Tell);
printf("\n请输入出生年月:
");
scanf("%d",&emp[i].Day);
printf("\n请输入驾龄 1-1-5 2-5-10 3->10:
");
scanf("%d",&emp[i].Year);
close();
}
voidshow()
{intj;
for(j=0;emp[j].EmpNum!
=0;j++)
{
printf("\n-------------------------车辆信息---------------------------\n");
printf("车辆编号:
%d\n",emp[j].EmpNum);
printf("司机姓名:
%s", emp[j].EmpName);
printf("\n性别 1-女 2- 男:
%d", emp[j].Sex);
printf("\n职务:
%s", emp[j].Position);
printf("\n住址:
%s", emp[j].Address);
printf("\n电话:
%s", emp[j].Tell);
printf("\n出生年月:
%d", emp[j].Day);
printf("\n驾龄1-1-5 2-5-10 3->10 :
%d",emp[j].Year);
}
}
voiddeleteEmp()
{intj,k,m=1,d,i=0;
open();
printf("请输入要删除的车辆编号:
\n");
scanf("%d",&d);
for(j=0;emp[j].EmpNum!
=0;j++)
{if(emp[j].EmpNum==d)
{s[0]=emp[j];
for(k=j;emp[j].EmpNum!
=0;k++)
emp[k]=emp[k+1];
i++;
}
}
printf("%d",i);
/*if(i==0)
{printf("车辆管理系统中没有职工记录!
!
!
\n");
return;
}*/
close();
printf("删除成功\n");
}
voidfindByEmpName()
{intj,i,k=0;
FILE*fp;
voidopen();
printf("请输入要的车辆编号:
\n");
scanf("%d",&i);
for(j=0;emp[j].EmpNum!
=0;j++)
{if(emp[j].EmpNum==i)
{printf("\n-------------------------车辆信息---------------------------\n");
printf("车辆编号:
%d\n",emp[j].EmpNum);
printf("司机姓名:
%s", emp[j].EmpName);
printf("\n性别 1-女 2- 男:
%d", emp[j].Sex);
printf("\n职务:
%s", emp[j].Position);
printf("\n住址:
%s", emp[j].Address);
printf("\n电话:
%s", emp[j].Tell);
printf("\n出生年月:
%d", emp[j].Day);
printf("\n驾龄1-1-5 2-5-10 3->10 :
%d",emp[j].Year);
k++;
}
}
if(k==0)
printf("没有此车辆记录!
!
!
");
close();
}
voidtong()
{intt1=0,t2=0,t3=0,j;
FILE*fp;
Emp*p;
p=(Emp*)malloc(sizeof(Emp));
if((fp=fopen("d:
\\bkdat","rb+"))==NULL)
{printf("cannotdoit!
\n");
exit(0);
}
for(j=0;j<100;j++)
{fread(p,sizeof(Emp),1,fp);
if(p->EmpNum==0)break;
if(1==p->Year) t1++;
if(2==p->Year) t2++;
if(3==p->Year) t3++;
}
printf("1-5,5-10,>10的司机人数分别是%4d,%4d,%4d",t1,t2,t3);
fclose(fp);
free(p);
}
voidfile()
{inti;
open();
for(i=0;i<100;i++)
{emp[i].EmpNum=0;
}
close();
}
voidmenu()
{
printf("\n\n------------------------------------------------------------------\n");
printf("请选择操作的种类:
\n");
printf("1----输入:
完成车辆信息的输入\n");
printf("2----插入:
完成车辆信息的删除;\n");
printf("3----删除:
完成车辆信息的删除;\n");
printf("4----显示:
显示所有车辆的信息; \n");
printf("5----查询:
查询所需车辆的信息; \n");
printf("6----统计:
统计所有车辆的信息;\n");
printf("0----退出程序。
\n");
}
intmain()
{
intop,choice=1;
while(choice==1)
{ menu();
scanf("%d",&op);
switch(op)
{case1:
inputEmpInfo();break;
case2:
add(); break;
case3:
deleteEmp(); break;
case4:
show(); break;
case5:
findByEmpName();break;
case6:
tong(); break;
case0:
printf("欢迎使用车辆管理系统,再见!
!
!
");return0;
}
}
}
图2
图3
图4
图5
图6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车队管理系统 程序语言 设计 课程设计 0911090101 朱才才 车队 管理 系统