当前位置:文档之家› 【C语言实战应用】交通处罚单管理系统

【C语言实战应用】交通处罚单管理系统

【C语言实战应用】交通处罚单管理系统
【C语言实战应用】交通处罚单管理系统

C语言实践应用

交通处罚单管理系统

内容:

〔要求〕交通处罚单涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码,处罚时间等信息。

功能:

(1)要求可以输入、删除、浏览交通处罚单信息。

(2)可以按车辆、驾驶员和开单交警查询。

(3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。

第二部分:需求分析

1.交通处罚单信息用文件存储,提供文件的输入输出操作;

2.要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;

3.要车辆、驾驶员和开单交警查询,则要提供查找操作;

4.另外提供系统操作和键盘式选择菜单以实现功能选择。

第三部分:程序总体设计思路

由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。

在编写本程序的过程中,首先,确定目标程序运行的次序与界面,

即本程序首先运行【用户系统】菜单界面,菜单界面上为用户提供信息输入,信息删除,信息查询,信息浏览,信息统计,退出菜单共六种操作选择。此功能用switch语句来实现。其次,根据目标程序运行的次序与界面,确定设计顺序,设计界面(包括各部分菜单与用户提示信息)。再次,按照程序运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。

第四部分:程序功能模块划分、图示及流程图

系统的结构图:

.

【信息输入模块】

该模块的功能是为用户提供信息输入界面,用户可以根据信息提示进行信息输入,用户输入的信息将被保存在文件当中。

【流程图】

【程序】:

void shuru()

{

FILE *fp;

int i=0;

if((fp=fopen("data.txt","wb"))==NULL)

{

printf("Can not open the file\n");

exit(0);//调用此函数时必须包含

}

printf("请输入车牌号码:\n");

scanf("%d",&dan[NUM ].chepai);

printf("请输入驾驶员姓名:\n");

scanf("%s",dan[NUM ].name);

printf("请输交警ID:\n");

scanf("%d",&dan[NUM ].id);

printf("请输入开单日期(以年/月/日形式输入):\n");

scanf("%d/%d/%d",&dan[i].date.year,&dan[i].date.month,&dan[i].date.d ay);

printf("请输入处罚单号:\n");

scanf("%d",&dan[NUM ].num);

for (i=0;i<=NUM;i++)

{

if(fwrite(&dan[i],sizeof(struct cfd),1,fp)!=1)

printf("file write error\n");

} //此处for循环的作用是:在每次调用输入函数时都能够把结构体数组中已有的数据和本次输入的数据都记录在文件data.txt中

printf("已经有%d个罚单\n",i);

NUM++;//NUM用来记录罚单总数,每调用一次输入函数NUM 就加一

fclose(fp);

}

【删除罚单模块】:

按操作者的指令在结构体数组中找到删除的信息,把结构体数组中的信息抄到文件中去忽略要删除的信息达到要删除的目的。【流程图】:

【程序】:

void shanchu()

{

int i;

int c;//待删除罚单号码

int w;//删除处罚单号

FILE *fp;

printf("请输入要删除的处罚单号:"); scanf("%d",&w);

fp=fopen("data.txt","rb");

for(i=0;i

{

if(w==dan[i].num) //查找要删除的罚单号码

c=i; //待删除罚单号码

}

fclose(fp);

fp=fopen("data.txt","wb");

for(i=0;i

{

if(i!=c)

fwrite(&dan[i],sizeof(struct cfd),1,fp); //如果罚单号与待删除罚单号不同,就写入文件

} //此处for循环的作用是:从文件中把待删除的信息删除

NUM--;//全局变量更新

printf("删除成功\n罚单号是%d\n",dan[c].num );

fclose(fp);

}

【信息浏览模块】:

把储存在文件中信息全部输出。

【程序】:

void liulan()

{

int i;

FILE *fp;

fp=fopen("data.txt","rb");

printf("已有%d个罚单",NUM);

for(i=0;i

{

if(fread(&dan[i],sizeof(struct cfd),1,fp))

{

printf("第%d罚单信息\n",i+1);

prntf(i);

}

else break;

}

fclose(fp);

}

【信息查询模块】:

用户根据界面的提示选择查询方式,并根据进一步的提示进行相关输入,程序根据用户输入的信息通过for循环找到与之相对应的信息,并输出相关信息。

【流程图】:

【程序】:

void chaxun()

{

int i,w,x,flag;

FILE *fp;

char v[8]; //驾驶员名字

printf("请输入你想查询的信息:\n");

printf("1 - 按车牌号查询\n");

printf("2 - 按司机姓名查询\n");

printf("3 - 按警察ID查询\n");

scanf("%d",&x);

flag=0;//查找成功的标志,查找成功FLAG=1

if(x==3)

{

printf("请输入要查询的警察ID:\n");

scanf("%d",&w);

fp=fopen("data.txt","rb");

for(i=0;i

{

if(fread(&dan[i],sizeof(struct cfd),1,fp)!=1) break; if(dan[i].id==w)

{

prntf(i);

flag=1;

break;

}

}

if(flag==0)

printf("找不到此处罚单信息!\n");

fclose(fp);

}

else if(x==2)

{

printf("请输入要查询的司机姓名:\n");

scanf("%s",v);

fp=fopen("data.txt","rb");

for(i=0;i

{

if(fread(&dan[i],sizeof(struct cfd),1,fp)!=1) break;

if(strcmp(dan[i].name,v)==0) //使用此函数时必须包含string.h {

prntf(i);

flag=1;

break;

}

}

if(flag==0)

printf("找不到此处罚单信息!\n");

fclose(fp);

}

else if(x==1)

{

printf("请输入要查询的车牌号:\n");

scanf("%d",&w);

fp=fopen("data.txt","rb");

for(i=0;i

if(fread(&dan[i],sizeof(struct cfd),1,fp)!=1) break;

if(dan[i].num==w)

{

prntf(i);

flag=1;

break;

}

}

if(flag==0)

printf("找不到此处罚单信息!\n");

fclose(fp);

}

else printf("输入错误!\n");

}

信息统计模块:

用户根据提示输入驾驶员姓名和一个时间段,程序将对储存在文件中的信息逐个进行检验看其是否与输入的信息相对应,若相对应,就会将其输出,并使统计变量加一,最终输出此驾驶员在此时间段内总共有多少罚单。

【流程图】:

【程序】:

void tongji()

{ int a1,b1,c1;// 分别用来表示起始时间的年、月、日

int a2,b2,c2;// 分别用来表示截止时间的年、月、日

int t;//用来统计驾驶员在此时间段的罚单个数

int i;

char v[8];//要对其进行统计的驾驶员姓名

printf("请输入驾驶员姓名:");

scanf("%s",v);

printf("请输入要统计的时间段(以年/月/日的形式表示日期):\n"); printf("请输入起始日期:");

scanf("%d/%d/%d",&a1,&b1,&c1);

printf("截止时间日期:");

scanf("%d/%d/%d",&a2,&b2,&c2);

for(i=0;i<=NUM;i++)

{

if(strcmp(v,dan[i].name)==0)

if(dan[i].date.year>a1&&dan[i].date.year

else if(dan[i].date.year>a1&&dan[i].date.year==a2) {

if(dan[i].date.month

{printf("%d\n",dan[i].num);t++;}

else if(dan[i].date.month==b2&&dan[i].date.day<=c2) {printf("%d\n",dan[i].num);t++;}

}

else if(dan[i].date.year==a1&&dan[i].date.year

if(dan[i].date.month>b1)

{printf("%d\n",dan[i].num);t++;}

else if(dan[i].date.month==b1&&dan[i].date.day==c2) {printf("%d\n",dan[i].num);t++;}

}

else if(dan[i].date.year==a1&&dan[i].date.year==a2)

{

if(dan[i].date.month>b1&&dan[i].date.month

{printf("%d\n",dan[i].num);t++;}

else

if(dan[i].date.month>b1&&dan[i].date.month==b2&&dan[i].date.day<=c2) {printf("%d\n",dan[i].num);t++;}

else

if(dan[i].date.month==b1&&dan[i].date.month=c2) {printf("%d\n",dan[i].num);t++;}

else if(dan[i].date.month==b1&&dan[i].date.month==b2)

{

if(dan[i].date.day>=c1&&dan[i].date.day<=c2)

printf("%d\n",dan[i].num);

t++;

}

}

}//此处for循环的作用是:将文件中的罚单信息与输入的驾驶员姓名和时间段进行比较,如果吻合就输出罚单信息,直到将所有满足条件的信息全部输出

printf("从%d/%d/%d到%d/%d/%d这段时间内司机

",a1,b1,c1,a2,b2,c2);

puts(v);

printf("共有罚单数目是:%d\n",t);

}

【信息输出模块】:

由于程序中有多处都需要用到信息输出功能,为了使程序简洁明了,将信息输出拿出来,作为一个单独的模块供其它地方调用。

【程序】:

void prntf(int i)

{

printf("处罚单号:%d\n",dan[i].num);

printf("车牌号码:%d\n",dan[i].chepai);

printf("司机姓名:");puts(dan[i].name);

printf("警察I D :%d\n",dan[i].id);

printf("处罚时

间:%d/%d/%d",dan[i].date.year,dan[i].date.month,dan[i].date.day);

printf("---------------------------------\n");

}

第五部分:程序设计数据、运行结果

程序主界面:为用户提供输入操作的提示,输入相应的数字可以进入相应的下级菜单。

选择信息输入模块后的执行结果。

选择信息浏览模块后的显示结果。

选择信息查询模块后并进行相关输入显示的结果。

选择信息统计模块后并进行相关输入得到的结果。

选择信息删除模块后,删除相关信息后显示的结果。

数据结构课程设计交通咨询系统设计-参考模板

设计题目<二>:7.3.4交通咨询系统设计P160 一、设计要求 1.问题描述 根据不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能的短,出门旅行的旅客希望旅费尽可能的少,而老年人则要求中转次数少。模拟一个全国城市之间的咨询交通程序,为旅客提供两种或三种最优的交通路线。 2.需求分析 二、概要设计 1.主界面设计 (图2.1“交通咨询系统”主菜单) 2.存储结构设计 本系统采用图结构类型存储抽象交通咨询系统的信息。 typedef struct TrafficNode { char name[MAX_STRING_NUM]; //班次//MAX_STRING_NUM最为10 int StartTime, StopTime; //起止时间 int EndCity; //该有向边指向的顶点在数组中的位置,即该城市编号 int Cost; //票价

} TrafficNodeDat; typedef struct VNode { CityType city; int TrainNum, FlightNum; //标记下面Train数组和Flight数组里元素个数 TrafficNodeDat Train[MAX_TRAFFIC_NUM]; //数组成员为结构体,记录了到达城市、起止时间、票价和班次 TrafficNodeDat Flight[MAX_TRAFFIC_NUM]; // int Cost; //遍历时到达该城市的耗费(时间或者费用) } VNodeDat; typedef struct PNode { int City; int TraNo; } PNodeDat; 3.系统功能设计 (1)添加城市。添加一个城市的名称 (2)删除城市。输入一个城市名称,删除该城市。 (3)添加交通路线。输入起始城市、终点城市、航班或火车、车次、起始时间、终点时间和票价 (4)删除交通路线。输入火车或飞机的班次删除该交通路线。 (5)查询最小费用路线。输入起始城市、终点城市、航班或火车、车次、起始时间、终点时间查询最小费用路线。 三、模块设计 1.模块设计 (图2.2 模块调用示意图)

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现 3.1系统的需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作 3.2系统的设计 3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书管理系统可以分为三大模块:查询

图书模块、借书功能模块、还书功能模块。 系统模块结构如图: 3.2.2 系统的概要设计 ㈠系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 ㈡查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。 图书查询模块流程如图:

3.3 测试结果系统主界面

功能菜单 查询系统菜单

借还系统菜单 3.4 源代码 # include # include # include typedef struct link { char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100]; float price; char status[100]; struct link *next;

数据结构课程设计交通咨询系统

课程设计报告 课程名称数据结构课程设计 课题名称交通咨询系统 专业通信工程 班级通信1001班 学号 姓名 指导教师田娟秀胡瑛曹燚 2012年7 月 6 日

湖南工程学院 课程设计任务书 课程名称数据结构 课题交通咨询系统 专业班级通信1001班 学生姓名 学号 指导老师田娟秀胡瑛曹燚 审批田娟秀 任务书下达日期2012 年7 月 1 日任务完成日期2012 年7 月 6 日

1.1任务书 课题六:交通咨询系统: 在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通费用,而且对里程和所需时间等问题也很感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到达另外一个城市顶点之间的最短路径(里程)的问题。 要求完成以下功能: (a) 以图中顶点表示湖南省各市(至少包括8个以上的城市),存放城市名称、代号、简介等信息,以边表示路径,存放路径长度等有关信息,先建立交通网络图的存储结构; (b) 为用户提供图中任何城市有关信息的查询; (c) 为用户提供任意城市的交通查询,即查询任意两个城市之间的一条最短路径。 (d) 为用户提供指定城市的交通查询,即查询指定城市到其他城市之间的最短路径。 选做内容: (1)提供图的编辑功能:增、删城市;增删路径;修改已有信息等; (2)交通图的仿真界面。 1.2 选题方案: 所选题目根据学号确定,学号模6加1,即(学号%6+1)。如你的学号为9,则 所选题目号为:9%6+1=(题目4)。注意,所有的课题都要求用图形方式演示步骤 和结果。同学们可以自己针对数据结构课程中所讲算法来设计一个演示过程的算法。 1.3设计要求: 1.3.1 课程设计报告规范 (1)需求分析 a.程序的功能。 b.输入输出的要求。 (2)概要设计 a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模 块的功能。

c语言交通处罚单管理系统(含实验报告和源代码)

C语言程序设计 课程设计材料 学生姓名:王嘉廉学号:11562255123 系 (院):信息工程学院 专业:信息管理与信息系统 设计(论文)题目: 交通处罚单管理系统 完成日期: 2012年9月 指导教师: xx! 二○一二年九月

●课程设计目的 (3) ●课程设计内容 (3) ●总体设计 (3) ●详细设计 (4) ●运行结果 (8) ●程序调试 (10) ●编程体会 (11)

一、课程设计目的 1.通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设 计合理的模块化结构。 2.通过课程设计,进一步掌握C有并重要的数据结构。掌握并熟练运用指针、链表、 结构体、文件等数据结构。 3.通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 4.通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用 起来,培养自己对程序编写的兴趣,并能独立设计和实现一个中小型系统。 5.通过课程设计,加强了自己的程序分析能力。 6.通过课程设计,完成了交通处罚单管理系统,很多功能还待完善。 二、课程设计内容 用C语言编写软件完成以下任务: 1交通处罚单基本信息输入(数据包括处罚单号码,车牌号码,姓名,开单警察的信息ID,处罚时间等),信息保存在data.txt文件中, 2交通处罚单基本信息浏览。将文件内所有的交通处罚单信息全部输出展现出来。 3交通处罚单基本信息查询。可以查询特定的交通处罚单信息。 4交通处罚单基本信息统计。可以查询某一个时间段的所有的交通处罚单信息。 5 交通处罚单基本信息删除。删除不需要的交通处罚单信息。 三、总体设计 本系统的功能模块如图1所示,主要有以下模块: (1)交通处罚单基本信息输入:构造函数void shurujianli()),对产生新的交通处罚单的信息进行输入。 (2)交通处罚单基本信息浏览:构造函数void liulan(),全部浏览已被录入交通处罚单的所有信息。 (3)交通处罚单基本信息查询:构造函数void chaxun(),输入想要查询的方式,用三种方式查询交通处罚单基本信息。 (4)交通处罚单基本信息统计:构造函数void tongji(),对文件中所有的交通处罚单进行精确统计。 (5)交通处罚单基本信息删除:构造函数void shanchu(),通过输入书名,判断此交通处罚单是否存在,若存在,则删除该交通处罚单所有信息,然后再把剩下的交通处罚单信息保存到文件。

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

交通咨询模拟系统实验报告

交通咨询模拟系统实验 报告 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

一、问题描述 全国交通咨询模拟:处于对不同目的的旅客对交通工具有不同的要求。例 如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。 【基本要求】(1)提供对城市信息进行编辑(如:添加或删除)的功能。 (2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表和 飞机航班进行编辑(增设或删除)的功能。 (3)提供两种最优决策:最快到达或最省钱到达。全程只考虑一种 交通工具。 (4)旅途中耗费的总时间应该包括中转站的等候时间。 (5)咨询以用户和计算机的对话方式进行。由用户输入起始站、终 点站、最优决策原则和交通工具,输出信息:最快需要多长时 间才能到达或者最少需要多少旅费才能到达,并详细说明依次 【测试数据】 二、数据结构设计和核心算法设计描述:

1、根据题目中的基本要求分析,可以创建系统概念模型,流程设计框图如下:

3、核心设计:根据上面的流程图和逻辑拆分,对这个问题有了一个比较直观,详细地了解。并且从中也可得知路线的添加即数据的存储是这个系统进行运作的一个基础。而为了便于数据的存储、添加、删除等操作,我选择了储存文件对这些数据进行了存储。将每个信息量放在不同的文件中,可以更有效、直观地对这些数据进行处理。

流程图中的7个主要功能模块在主函数中,采用输入选项进入子菜单,但是其他操作都是在路线添加好后进行的,并且为了每一项功能进行完后,系统可以及时回到主交互界面,我采用的是无限循环形式,即while(1)。 以邻接表作交通图的存储结构,表示边的结点内除含有邻接点的信息外,包括交通工具、路程中消耗的时间和花费以及出发和到达的时间等多项属性。 三、主控及功能模块层次结构: 1、模块说明:本系统分为个模块 1、)主函数 2、)添加城市 3、)查找城市并返回序号 4、)删除城市 5、)添加列车 6、)添加航班 7、)删除列车或航班 8、)找出最小费用路线 9、)初始化系统数据(读入内存) 10、)找出最快路线 11、)计算最快路线耗费的时间并打印 12、)计算最小费用路线 13、)主界面 14、)存储信息到文件 15、)退出、 2、下面是各模块示意图:

船舶交通管理系统安全监督管理规则(新版)

When the lives of employees or national property are endangered, production activities are stopped to rectify and eliminate dangerous factors. (安全管理) 单位:___________________ 姓名:___________________ 日期:___________________ 船舶交通管理系统安全监督管理 规则(新版)

船舶交通管理系统安全监督管理规则(新版)导语:生产有了安全保障,才能持续、稳定发展。生产活动中事故层出不穷,生产势必陷于混乱、甚至瘫痪状态。当生产与安全发生矛盾、危及职工生命或国家财产时,生产活动停下来整治、消除危险因素以后,生产形势会变得更好。"安全第一" 的提法,决非把安全摆到生产之上;忽视安全自然是一种错误。 第一章总则 第一条为保障船舶交通安全,提高船舶交通效率,保护水域环境,根据《中华人民共和国海上交通安全法》、《中华人民共和国船舶交通管理系统安全监督管理规则》等有关法律、法规,制定本规则。 第二条本规则适用于在中华人民共和国烟台海事局烟台船舶交通管理系统(以下简称VTS系统)管理区域(以下简称VTS区域)内航行、停泊和作业的船舶、设施(以下简称船舶)及其相关单位和人员。 第三条中华人民共和国烟台海事局是实施本规则的主管机关(以下简称主管机关)。 烟台海事局船舶交通管理中心(以下简称VTS中心)依据本规则负责具体实施船舶交通管理和提供交通服务。 第二章船舶报告 第四条船舶进烟台港驶抵第一报告线时,应向VTS中心报告船名、船位、进港目的以及VTS中心要求的其他事项,载有危险货物的船舶还

交通咨询系统设计报告

重庆科技学院 《数据结构》课程设计 报告 学院:_电气与信息工程学院_ 专业班级: 计科2 学生姓名: 学号: 设计地点(单位)__ _ 计算机基础自主学习中心__ _ _ 设计题目:________ 交通咨询系统设计__ ___ _ _ 完成日期:2012年7 月6 日 指导教师评语: ______________________ _________________ ________________________________________________________________________________________________ ________________________________________________________________________________________________

_________ __________ _ 成绩(五级记分制):______ __________ 指导教师(签字):________ ________ 重庆科技学院 课程设计任务书 设计题目:交通咨询系统的设计

系主任:雷亮指导教师:黄永文/王双明/熊茜/彭军/王成敏 2012年6月20日 摘要

在交通网络非常发达,人们在出差、旅游出行时,往往关心节省交通费用或节省所需要的时间等问题。对于这样一个人们关心的问题,可以用一个图结构来表示交通网络,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通情况,其权值可代表里程、交通费用或时间。比如任意一个城市到其他城市的最短路径,任意两个城市之间的最短路径问题。 本次设计的交通咨询系统主要是运用C语言的数据结构来完成交通图的存储、图中顶点的单源最短路径和任意一对顶点间的最短路径问题。 关键词:数字结构C语言交通咨询最短路径

交通罚单管理系统方案

目录 一.系统开发的背景 (2) 二.系统分析与设计 (2) (一)系统功能要求 (2) (二)系统模块结构设计 (2) 三.系统的设计与实现 (3) (一)罚单基本信息录入:input() (3) (二)信息删除:delete() (6) (三)find函数 (9) (四)show函数 (13) (五)sum函数 (14) 四.系统测试 (16) (一)测试input函数 (16) (二)测试delet函数 (17) (三)测试find函数 (18) (四)测试show函数 (18) (五)测试sum函数 (19) 五、总结 (20) 六、附件(代码、部分图表) (21)

交通罚单管理系统 一.系统开发的背景 为了方便单位对交通处罚的经一步解交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。 二.系统分析与设计 (一)系统功能要求 可以录入交通罚单的信息,交通处罚单信息用文件存储,因而要提供文件的输入输出操作。 1.要求可以输入、删除、浏览交通处罚单信息,因而要提供 信息的输入、删除和显示操作; 2.要实现按车辆、驾驶员和开单交警查询,则要提供查找操 作; 3.另外提供统计操作和键盘式选择菜单以实现功能选择。 4.罚单信息(包括车牌号、驾驶员、交警、交警编号、罚单编 号) (二)系统模块结构设计 通过对系统功能的分析,交通罚单管理系统功能如图所示

图1 交通管理系统功能图 通过上图的功能分析,把整个系统划分为5个模块: 1、交通罚单信息录入,该模块主要实现:车牌号、驾驶员、 交警、交警编号、罚单编号的输入,用input函数实现。 2、信息删除模块,该模块主要实现信息的删除,用delet 函数实现。 3、信息查询模块,该模块主要实现信息的查询﹕有车牌号 查询、驾驶员查询、交警查询,共用四个函数进行查询, 分别是find, 4、信息统计模块,主要实现的是罚单数量的统计,用sum 函数实现。 三.系统的设计与实现 (一)罚单基本信息录入:input() 分析:先输出表头,然后进行罚单的信息输入,单独看各个数据信息,开单日期以及驾驶员为字符型,可以采用字符型数组;处罚单、车牌以及交警ID为整型,可以采用整型数组。一条记录对应一交通处罚

图书管理系统 (c语言)

程序设计方法课程设计

问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面; 2.查询各种图书的基本信息,设计出良好的查询界面; 3.按图书编号进行排序,将排好序的图书信息输出到文件book.out中。 4.统计各类图书册数、图书馆的图书总册数。 5.统计图书的借阅情况。 1.需求分析 对于图书馆的管理系统,应该满足以下的用户需求: ○1用户能够增加和删除一些图书。 ○2用户根据一些基本信息查询相应的图书,系统可以准确输出所有符合条件的图书信息。 ○3用户可以借阅和归还图书馆中的图书。 ○4系统可以对图书做出统计,包括图书总数,各类图书数目,图书的借阅情况。 2.设计分析 定义图书结构体,其成员包括书名、作者、类型、出版社、价格、是否借阅(整型,1为借出,0为未借)、编号。 输入新书时,利用结构体储存书的信息,同时将新书信息以二进制写入book.in文件中,录入结束后,将新书按输入顺序写入book.out中,并且以原来存书的最大编号为基准对新书进行编号,这样可以保证book.out文件存储的图书都是按编号进行排序的。 查找图书时,获得所查书目基本信息后,以二进制依次读取文件中的每一本图书信息,并与输入信息相比较,输出符合信息的图书。 删除图书时,通过输入的图书编号(编号可通过查找图书获得)查找相应图书,删除相应数据并保存。 借阅或归还图书时,通过图书编号(编号可通过查找图书获得)查找相应图书,修改图书的属性(是否借阅)并保存。 实现统计功能时,以二进制依次读取文件中的每一本图书信息,设置变量统计图书类型、借阅情况和图书总数,到文件结尾时,输出各个变量的值。

数据结构--交通咨询系统

目录 1 概述 (2) 1.1 问题描述 (2) 1.2 实现意义 (2) 2 系统分析 (2) 2.1 需求分析 (2) 2.1.1程序的功能 (2) 2.1.2输入输出的要求 (2) 2.2 设计思想 (2) 2.3 设计要求 (3) 3 概要设计 (3) 3.1用邻接矩阵建立交通网络模块 (3) 3.2 查询任意两个顶点之间的最短路径 (4) 3.3 查询一个城市到其他所有城市的最短路径 (5) 4 详细设计 (5) 4.1 用邻接矩阵构造图结构函数CreateMGraph() (5) 4.2 费洛伊德Floyd() (6) 4.3 迪杰斯特拉Dijkstra() (6) 4.4 主要函数流程图及其函数调用 (7) 4.4.1 主要函数流程图 (7) 4.4.2 一个城市到其他城市的路径调用 (8) 4.4.3 任意两个城市之间路径调用 (8) 5 运行与测试 (8) 5.1 有向图存储结构的建立模块的输出 (9) 5.2 单源路径迪杰斯特拉算法模块的输出 (10) 5.3 费洛伊德算法模块的输出 (10) 6 总结与心得 (10) 参考文献 (11) 附录 (11)

1 概述 1.1 问题描述 在交通网络非常发达,交通工具和交通方式不断更新的今天,人们在出差、旅游或做其它出行时,不仅关心节省费用,而且对里程和所需时间等问题也感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市之间的交通关系。这个交通系统可以回答旅客提出的各种问题。比如任意一个城市到其他城市的最短路径,任意两个城市之间的最短路径问题。 1.2 实现意义 便于人们的日常出行,且更好地满足了用户的出行需求。这种最短路径问题的计算方法既简单又便于实现,同时大大提高了计算机的运行速率。 2 系统分析 2.1 需求分析 2.1.1程序的功能 (1)用户自己可以建立不同的路径之间的关系网(2)可以查询某个城市到达其余各城市的最短路径。(3)可以任一查询两个城市之间的最短路径。 2.1.2输入输出的要求 在刚进入主界面后系统提示输入建立交通网络储存结构,输入顶点个数和和边数为整数不能输入其他字符,随后系统提示输入边与边之间的关系分别为i,j,w表示边之间的距离。然后进入查询页面,输入整数1,2,0分别表示你所要查询的功能:一个城市至其他所有城市的最短路径查询、任意两个城市之间的最短路径查询、退出程序。不能输入其他字符否则不能执行操作。在整个操作都是用整数表示城市。 2.2 设计思想 用邻接矩阵来存储交通网络图的信息,运用迪杰斯特拉算法实现图上单源最短路径问题,然后运用费洛伊德算法实现图中任意一对顶点间最短路径问题,这样就会实现交通咨询系统设计的问题。

船 舶 交 通 管 理

船舶交通管理 Vessel traffic management 一、船舶交通 1.船舶交通及其要素 船舶交通(vessel traffic): 海上交通(marine traffic):船舶在海面上的移动行为; 水上交通(waterborne traffic):船舶在江河、运河、湖泊等水域的移动行为。 船舶交通要素:航路、船舶、动力和驾驶技术。 (1)航路:按照自然状态可分为大洋航路、狭水道航路和沿岸航路。 ①大洋航路:指远海与大洋上不受地形和水深限制、自然碍航物极少的自然航路。在这种航路上船舶可以不考虑水深等因素而自主地选择航线。 ②狭水道航路:由于陆岸、岛屿、暗礁等地形条件限制,可航水域狭窄,船舶仅能在限定水域内选择航线以及经过人工疏浚所形成的水道,船舶基本上没有选择航线的自由。 ③沿岸航路:地理上介于大洋航路和狭水道航路之间的航路。在沿岸航路上航行要受到地形、岛屿等的限制,船舶选择航线也受到一定的限制,但仍有较大的余地。航路还可分为自由航路和法定航路。 (2)船舶:船舶交通的主体,也是船舶交通管理的主要客体。在 ①按照船舶大小分有小型船(100~500 总吨),中型船(500~3 000 总吨),大型船(3000~ 20 000 总吨),巨大型船(20 000~100 000 总吨)及超大型船(100 000 总吨以上); ②按照船舶动力形式分有机动船和非机动船; ③按照船舶用途分有杂货船、散货船、滚装船、集装箱船、油船、客船、液化气船、化 学品船、渔船、工程作业船等。 (3)动力:船舶能够航行的必要条件。 (4)驾驶技术:不仅与船舶驾驶人员所具有的航海知识有关,而且还与船舶驾驶人员所具有的生理、心理素质以及航行经验有关。 2.船舶交通的现状与特点 (l)船舶种类多样化和专业化。 (2)船舶趋于大型化。 (3)船舶交通流量急剧增大,对航行水域的管理越来越严格。 (4)船舶设备条件不断改善。 (5)涉及船舶交通的法规不断增多。。 船舶交通的特点:船舶种类繁多、差异较大;交通流量大,尤其是繁忙水道和港湾,船舶交通拥挤;船舶交通事故频繁,所产生的危害给社会带来的影响增大。 二、船舶交通管理系统 1.概念和目的和意义 船舶交通管理(vessel traffic management,VTM):通过监控、整顿船舶交通,建立良好的交通秩序,协助船舶航行,减少海难事故,特别是船舶碰撞、搁浅、触礁这些船舶交通事故的发生,从而保证船舶安全,保护水域环境和社会环境,提高船舶交通的效率。 船舶交通管理的目的和意义:增进安全、提高效率、保护环境。 2.船舶交通管理的手段和内容 (1)管理手段:法规约束和服务两个手段。 制定和实施船舶交通管理法规。 交通服务:信息服务、助航服务等。 (2)管理方式

全国交通咨询模拟数据结构课程设计

数据结构课程设计报告 题目:全国交通咨询模拟 一.需求分析 1.程序设计任务:从中国地图平面图中选取部分城市,抽象为程序所需要图的结点,并以城市间的列车路线和飞机路线,作为图结点中的弧信息,设计一个全国交通咨询模拟系统。利用该系统实现两种最优决策:最快到达或最省钱到达。 2. 明确规定: (1) 输入形式和输入值的范围:每条飞机弧或者火车弧涉及的信息量很多,包括:起始城市、目的城市、出发时间、到达时间、班次以及费用。作为管理员要输入的信息包括以上信息,而作为用户或者客户,要输入的信息有起始城市和目的城市,并选择何种最优决策。 (2) 输出形式:按用户提供的最优决策的不同而输出不同的信息,其中输出的所搭飞机或火车的班次及其起始地点和终点、起始时间和出发时间还有相关的最优信息,比如最快经多少时间到达、最省钱多少钱到达和最少经多少中转站到达。 (3) 程序所能达到的功能 a. 该系统有供用户选择的菜单和交互性。可以对城市、列车车次和飞机航班进行 编辑,添加或删除。 b. 建立一个全国交通咨询系统,该系统具备自动查找任意两城市间铁路、飞机交通的最短路径和最少花费及中转次数最少等功能。 c. 初始化交通系统有两种方式,键盘和文档。

二.设计概要 1.算法设计 (1)、总体设计 (1)数据存储:城市信息(城市名、代码)、交通信息(城市间的里程、各航班和列车时刻)存储于磁盘文件。建议把城市信息存于文件前面,交通信息存于文件的后面,用fread和fwrite函数操作。 (2)数据的逻辑结构:根据设计任务的描述,其城市之间的旅游交通问题是典型的图结构,可看作为有向图,图的顶点是城市,边是城市之间所耗费的时间(要 包括中转站的等候时间)或旅费。 (3)数据的存储结构:采用邻接表和邻接矩阵都可作为数据的存储结构,但当邻接边不多时,宜采用邻接表,以提高空间的存储效率。这里采用邻接表作为数据的存储结构。 (4)用不同的功能模块对城市信息和交通信息进行编辑。添加、修改、删除 功能可用菜单方式或命令提示方式。只要能方便的对城市信息和交通信息进行管理即可,但要注意人机界面。 (5)最优决策功能模块(fast or province)。 ①读入城市信息和交通信息,用邻接表生成含权网络,表头数组中的元素存放城市名及对方城市到达该元素所代表城市的所有信息;表头数组中的元素所对应的单链表存放与该元素所代表的城市有交通联系的城市(代码、里程、航班、列车车次)。 ②根据具体最优决策的要求,用Dijkstra算法求出出发城市到其它各城市 的最优值(最短时间或最小的费用),搜索过程中所经过城市的局部最优信息都保存在邻接表的表头数组中。其目的城市所代表的元素中就保存了所需的最优决策结果。这过程中,要用队列或栈保存局部最优决策值(局部最短的时间或最省的费用)变小的城市,其相应的初始值可为%,并在表头数组对应的城市元素中保 存响应的信息。开始时,栈(队列)中只有出发地城市,随着对栈(队列)顶(首)城市有交通联系的城市求得决策值(最短时间或最小的费用),若该值是局部最优值且该城市不在栈(队列)中,则进栈(队列),直至栈(队列)为空,本题采用队列实现。 ③输出结果:从目的城市出发,搜索到出发城市,所经过的城市均入栈(队列),再逐一出栈栈(队列)中的城市,输出保存在表头数组中对应城市的信息 (对 方城市的出发信息,里程、时间、费用等)及最终结果。即输出依次于何时何地乘坐几点的飞机或火车于何时到达何地;最终所需的最快需要多长时间才能到达及旅费,或者最少需要多少旅费才能到达及时间。 (6)主程序可以有系统界面、菜单;也可用命令提示方式;选择功能模块执行,要求在程序运行过程中可以反复操作。 (2).详细设计思想: 本题所要求的交通系统是一个有向带权图结构,考虑到要求该系统有动态增加飞机和列车航班的功能,因而采用邻接表的形式存储:对每个顶点建立一个 单链表,单链表中的子结点表示以该顶点连接的弧,单链表中子结点的顺序可以 按权值递增的顺序排列,表头结点按顺序存储。题目中提到要提供三种策略,最快到达,最省钱到达和最少中转次数策略,前两种策略采用迪杰斯特拉算法思想,其中最快到达的权值为到达两城市所需的最短时间,最省钱到达的权值为到达两城市所需的费用,后一种采用广度优先算法的思想,只需求的两城市所在的层数,就可以求的到达两城市所需的最少中转次数。

C语言程序设计之交通处罚单管理系统 报告(内含代码)

C语言程序设计 姓名:张强强 学号:20121003695 班序号:011121

前言: C语言是近年来国内得到迅速推广使用的一种计算机语言。C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,无论是计算机专业还是非计算器专业的学生,学习好C语言是非常重要的。 一.交通处罚单管理 要求: 交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。 功能: (1) 要求可以输入,删除,浏览交通处罚单信息。 (2) 可以按车辆,驾驶员和开单交警进行查询。 (3) 统计某时间段某个驾驶员的交通处罚数目及交通处罚单号码。 (一)需求分析 交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入,输出, 删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾 驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单 以实现功能选择。 (二)总体设计 整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查 询模块和信息统计模块等。如下图:

(三)详细设计 1.主函数实现的是显示菜单以及函数调用,其中各功能模块用菜单方式选择。程序: int main() { int n; /**变量n保存选择菜单数字**/ printf("\n\n") printf ( " ****************菜单*****************\n"); printf ( " * *\n"); printf ( " * 1.输入 2.删除 *\n"); printf ( " * *\n"); printf ( " * 3.浏览 4.查询 *\n"); printf ( " * *\n"); Printf ( " * 5.统计 6.退出*\n"); printf ( "* *\n"); printf("****************************************\n"); printf("请选择功能菜单: [ ]\b\b"); scanf("%d",&n); if (n<1||n>7) n=7;

c语言程序设计报告 图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (3) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (4) 6.程序代码 (5) 7.程序运行结果 (11) 8.编程中遇到的困难及解决方法 (14) 9.总结心得及良好建议 (15) 10.致谢 (15) 1.课程论文题目 图书管理系统 2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计 先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计

先定义结构体数组struct books,然后设置主界面,主界面出现6个功能选项,分 别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。 退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这样就实现了退出功能。 其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。 6.程序代码 #include #include #include #include #define M 100 struct books { char tsmc[12]; int tsbh; float dj; char zz[12]; char czzt[12]; char xm[12];

数据结构课程设计全国交通咨询系统方案

工业应用技术学院 课程设计任务书 题目全国交通资询系统 主要容: 设计了一个方便用户查询交通咨询系统。该系统所做的工作的是模拟全国交通咨询,为旅客提供三种最优决策的交通咨询。该系统可以进行城市,列车车次和飞机航班的编辑的基本信息输入操作。程序的输出信息主要是:最快需要多少时间才能到达,或最少需要多少旅费才能到达,或最少需要多少次中转到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。程序的功能包括:提供对城市信息的编辑,提供列车时刻表和飞机航班表的编辑,提供三种最优决策:最快到达、最省钱到达、最少中转次数到达。 基本要求: 1、掌握C语言的变量及函数的灵活使用; 2、熟练掌握图的深度、广度优先遍历算法思想及其程序实现; 3、掌握C语言中文件的基本操作; 4、掌握VC++6.0软件的熟练使用。 主要参考资料: [1] 春葆.数据结构程序设计[M].:清华大学,2002,03 [2] 王黎,袁永康https://www.doczj.com/doc/378490065.html,战略[M].:清华大学,2002,01 [3] 谭浩强.C程序设计第二版[M].:清华大学,2003,03 [4] 任哲.MFC Windows程序设计[M].:清华大学,2004,06 完成期限:2016.12.05—2017.01.05 指导教师签名: 课程负责人签名:

随着高科技的飞速发展,列车、飞机、动车、高铁的出现极大的减少了人们花在旅途上的时间。对于城市间错综复杂交通网的管理,是一项庞大而复杂的工作。在此基础上,如何实现交通网智能化的管理达到帮助乘客选择经济高效的交通工具是目前仍处空白。尤其乘客交通工具的择优选择是一个令人懊恼的工作,一个原因就是各种交通工具的查询十分分散和繁琐。即使有互联网的帮忙,但是没有一个统一的归类、没有一个精细的算法、系统的软件帮助,人们仍然无法获得最优方式。为此开发一个交通择优系统是十分必要的。采用计算机对城市间的交通工具进行系统录入和管理,进一步提高了交通部门针对城市间客运网络的管理效率,实现交通运营网络的系统化、规化和自动化。同时使乘客能通过网络进行称心的交通工具的选择,这也是交通网络优选智能决策的体现。交通信息的咨询和管理是交通部门管理工作中异常重要的一个环节,因此,运用交通资询管理系统对春运时减轻乘客购票压力、舒缓紧的城际拥堵有重要意义。 关键字:错综复杂;智能化;最优方式;择优系统

交通罚单管理系统

交通罚单管理系统 一.系统开发的背景 (2) 二.系统分析与设计 (2) (一)系统功能要求 (2) (二)系统模块结构设计 (2) 三.系统的设计与实现 (3) (一)罚单基本信息录入:input() (3) (二)信息删除:delete() (6) (三)find函数 (9) (四)show函数 (13) (五)sum函数 (14) 四.系统测试 (16) (一)测试input函数 (16) (二)测试delet函数 (17) (三)测试find函数 (18) (四)测试show函数 (18) (五)测试sum函数 (19) 五、总结 (20) 六、附件(代码、部分图表) (21)

交通罚单管理系统 一.系统开发的背景 为了方便单位对交通处罚的经一步解交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。 二.系统分析与设计 (一)系统功能要求 可以录入交通罚单的信息,交通处罚单信息用文件存储,因而要提供文件的输入输出操作。 1.要求可以输入、删除、浏览交通处罚单信息,因而要提供 信息的输入、删除和显示操作; 2.要实现按车辆、驾驶员和开单交警查询,则要提供查找操 作; 3.另外提供统计操作和键盘式选择菜单以实现功能选择。 4.罚单信息(包括车牌号、驾驶员姓名、交警姓名、交警编号、 罚单编号) (二)系统模块结构设计 通过对系统功能的分析,交通罚单管理系统功能如图所示

图1 交通管理系统功能图 通过上图的功能分析,把整个系统划分为5个模块: 1、交通罚单信息录入,该模块主要实现:车牌号、驾驶员 姓名、交警姓名、交警编号、罚单编号的输入,用input 函数实现。 2、信息删除模块,该模块主要实现信息的删除,用delet 函数实现。 3、信息查询模块,该模块主要实现信息的查询﹕有车牌号 查询、驾驶员查询、交警查询,共用四个函数进行查询, 分别是find, 4、信息统计模块,主要实现的是罚单数量的统计,用sum 函数实现。 三.系统的设计与实现 (一)罚单基本信息录入:input() 分析:先输出表头,然后进行罚单的信息输入,单独看各个数据信息,开单日期以及驾驶员姓名为字符型,可以采用字符型数组;处罚单号

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

相关主题
文本预览
相关文档 最新文档