信息车友拼车程序设计(要先在D盘建立txt文件,不懂的可以百度hai我)

我在百度  时间:2021-02-26  阅读:()

车友拼车系统

一、课程内容和要求

为倡导绿色低碳生活提高私家车的利用率试设计一个车友拼车系统。该系统要求建立一个简单的拼车管理系统有车的车友可以将自己出行线路和时间输入到系统中无车的车友可以查看已有的拼车信息也可以将自己的拼车需求输入到系统中。该系统具有排序、查找、插入、显示等功能。通过此课题熟练掌握文件、数组、指针的各种操作 以及一些算法思想的应用。

二、需求分析

2. 1要求

1用C语言实现程序设计

2利用结构体进行相关信息处理

3画出查询模块的流程图

4系统的各个功能模块要求用函数的形式实现

5界面友好良好的人机互交程序要有注释输入信息符合逻辑如输入月份不

能输入13月等。

2.2任务

1车友信息包括用户名、密码、真实姓名、所在地、联系电话。

拼车信息包括用户名、车辆状态有车或无车 出发地点 目的地点时

间真实姓名联系方式

2数据使用文件存储无需重复输入数据。

3需要实现的功能

1用户注册与登录功能

2有车者的拼车信息发布功能查询拼车需求功能

3无车者浏览、查询拼车信息拼车需求信息录入功能

4可以查询从某出发地点到达某目的地点的车辆情况

5可以按日期对拼车信息进行排序。

程序设计报告

2.3开发环境

VC++6.0在内存中的各种操作可以采用数组方式或是指针

三、概要设计struct User 定义车友信息

{char username[20] ;char password[20] ;char truename[20] ;char location[20] ;char telephone[12] ;

} ;struct Date 定义日期

{char year[5] ;char month[3] ;char day[3] ;

} ;struct Information 定义拼车信息

{char car[5] ;char startplace[20] ;char destination[20] ;

Date d; 含有日期结构体的元素

User u; 含有车友信息结构体的元素

} ;

2

程序设计报告

void zhuce(User *u, int i,FILE*fp) 用户注册若源文件中已有同名用户则报错“该用户名已存在请重新输入”注册成功后进入主菜单void denglu(User *u, int i) 用户登录若用户名和密码与已存信息不符则报错“用户名或密码不正确请重新输入”登陆成功后进入主菜单void chaxun(Information *I, int j) 按出发地和目的地查询若配套的出发地和目的地不存在则报错“对不起不存在你要查询的信息”void gongchexinxi (Information *I, int j) 查询供车信息输出所有有车者的信息void pinchexuqiu(Information *I, int j) 查询拼车需求输出所有无车者的信息void shuchusuoyou(Information *I, int j) 输出所有车友的信息void shuru(Information *I, int j,FILE*fp) 用户录入自己的信息在其中会加入一个算法来判断输入的日期是否合法如有关闰年与平年的二月一年12个月哪个月有30天哪个月有31天void paixu(Information *I, int j,FILE*fp) 根据日期排序输出所有信息void menu() 主菜单界面用户可以自由选择需求void run(FILE*fp,User *u, Information *I, int i, int j, int a) 主运行界面配合在menu界面时用户的选择运行程序

FILE*fp1 D盘源文件1 “用户信息” txt文本原有20条信息用以存放用户信息在注册和登陆时可以调用并逐个添加记录永久有效

FILE*fp2 D盘源文件2 “拼车信息” txt文本原有20条信息用以存放拼车信

3

程序设计报告

息其中用户名和密码与“用户信息”中的对应车友可以添加自己的信息也可以从中调看别人的信息永久有效。

四、源程序代码

#inc lude<stdio.h>

#inc lude<stdlib.h>

#inc lude<string.h>

#define N 1000struct User //构造车友信息结构体

{char username[20];char password[20];c har truename[20];char location[20];char telephone[12];

};typedef struct User User;struct Date //构造日期结构体

{char year[5];char month[3];char day[3];

};typedef struct Date Date;struct Information //构造拼车信息结构体

{charcar[5];char startplac e[20];char destination[20];

Date d; //定义函数

User u; //定义函数

};typedef struct Information Information;void zhuc e(User *u,int i,FILE*fp);void deng lu(Us er *u,int i);void chaxun(Information*I,int j);void gongchexinxi(Information*I,int j);void pinchexuqiu(Information*I,int j);void shuchusuoyou(Information*I,int j);void shuru(Information*I,int j,FILE*fp);

4

程序设计报告

void paixu(Information*I,int j,FILE*fp);void menu();void run(FILE*fp,User *u,Information*I,int i,int j,int a);int main() //主函数

{int i=0;int j=0;int a;

User u[N];

Information I[N];

FILE*fp1;

FILE*fp2;fp 1=fopen("D:\\用户信息.txt","a+");if(!fp1)

{printf("file cannot be opened");exit(1);

}while(!feof(fp1))

{fsc anf(fp 1,"%s%s%s%s%s",&u[i].username,&u[i].passw ord,&u[i].truename,&u[i].location,&u[i].telephone);i++;

}fp2=fopen("D:\\拼车信息.txt","a+");if(!fp2)

{printf("file cannot be opened");exit(1);

}while(!feof(fp2))

{fsc anf(fp2,"%s%s%s%s%s%s%s%s%s",&I[j].u.us ername,&I[j].c ar,&I[j].startplac e,&I[j].destination,&I[j].d.year,&I[j].d.month,&I[j].d.day,I[j].u.truename,I[j].u.telephone);j++;

}

"****************************************************************************

**\n");printf(" 欢迎进入拼车系统 \n");

"****************************************************************************

**\n");

5

程序设计报告

printf(" 1 注册\n");printf(" 2 登录\n");

"****************************************************************************

**\n");printf("请选择所要进行的操作对应的序号 ");do

{printf("选择1还是选择2 \n");scanf("%d",&a);

}while(a!=1&&a!=2);switch(a)

{c as e 1: zhuc e(u,i,fp 1); break;case 2: denglu(u,i); break;

}if(i)

{do

{m enu();printf("请输入你的选择 ");scanf("%d",&a);if(a>=0&&a<=7)run(fp 2,u,I,i,j,a);els eprintf("选择错误请重新选择 \n");

}while(a);

}fclose(fp1);fclose(fp2);return 0;

}void menu()

{printf(">>>>>>>>>>>>>>>>>主菜单<<<<<<<<<<<<<<<<<

\n");

6

程序设计报告

;

}void run(FILE*fp,User *u,Information*I,int i,int j,int a) //主运行函数

{switch(a)

{case 1:shuchusuoyou(I,j); break;case 2:gongchexinxi(I,j); break;case 3:pinchexuqiu(I,j); break;case4:c ase 5:shuru(I,j,fp); break;c ase 6:chaxun(I,j); break;case 7:paixu(I,j,fp); break;case 0: printf("\n >>>>>>>>######################欢 迎 下 次 光 临

###########################<<<<<<<\n"); break;

}

}void zhuc e(User *u,int i,FILE*fp) //用户注册

{int k,a;printf("请输入用户名 ");do

{a=0;sc anf("%s",&u[i-1].username);for(k=0;k<i-1;k++) //检验用户名是否已存在

{if(strcmp(u[i-1].us ername,u[k].us ername)==0)

{printf("该用户名已存在请重新输入 \n");a=1;break;

}

}

}while(a);printf("\n请输入密码 ");scanf("%s",&u[i-1].password);printf("\n真实姓名 ");s c anf("%s",&u[i-1].truename);printf("\n所在地 ");scanf("%s",&u[i-1].location);

7

程序设计报告

printf("\n联系电话 ");scanf("%s",&u[i-1].telephone);printf("\n注册成功!\n");fprintf(fp,"%-13s%-13 s%-10s%-10s%-12s",&u[i-1].us ername,&u[i-1].passw ord,&u[i-1].truename,&u[i-1].location,&u[i-1].telephone); //将用户信息记录到文本文件中fprintf(fp,"\r\n");

}void deng lu(Us er *u,int i) //用户登录

{int k,a=1;char s1[20],s2[20];do

{printf("用户名 ");scanf("%s",&s1);printf("\n密码 ");scanf("%s",&s2);for(k=0;k<i-1;k++) //检验用户名和密码是否匹配

{if(strcmp(s 1,u[k].us ername)==0&&strcmp(s 2,u[k].passw ord)==0)

{a=0;break;

}

}if(a==1)printf("\n用户名或者密码不正确请重新输入 \n"); //报错

}while(a);printf("登陆成功 \n");

}void chaxun(Information*I,int j) //根据输入的出发地和目的地筛选出来的拼车信息

{int k,a=0;char s1[20],s2[20];printf("\n请输入出发地点 ");scanf("%s",&s1);printf("\n请输入目的地 ");scanf("%s",&s2);for(k=0;k<j-1;k++)

{

8

程序设计报告

if(strc mp(s 1,I[k].startplac e)==0&&strc mp(s 2,I[k].destination)==0)

{a=1;printf("用户名 车辆状况 出发地 目的地 年 月 日 真实姓名联系电话\n");printf("%-13 s%-10s%-10s%-9s%-6s%-4s%-6s%-10s%-12s",&I[k].u.us ername,&I[k].c ar,&I[k].startplac e,&I[k].des tination,&I[k].d.year,&I[k].d.month,&I[k].d.day,&I[k].u.truename,&I[k].u.telephone);

}

}if(a==0)printf("对不起不存在你所要查询的信息 \n"); //报错

}void gongchexinxi(Information*I,int j) //输出供车信息

{int k;printf("用户名 车辆状况 出发地 目的地 年 月 日 真实姓名 联系电话\n");for(k=0;k<j-1;k++)

{if(s trc mp(I[k].c ar,"有")==0)

{printf("%-13 s%-10s%-10s%-9s%-6s%-4s%-6s%-10s%-12s",&I[k].u.us ername,&I[k].c ar,&I[k].startplac e,&I[k].des tination,&I[k].d.year,&I[k].d.month,&I[k].d.day,&I[k].u.truename,&I[k].u.telephone);

}

}

}void pinchexuqiu(Information*I,int j) //输出有拼车需求的用户的信息

{int k;printf("用户名 车辆状况 出发地 目的地 年 月 日 真实姓名 联系电话\n");for(k=0;k<j-1;k++)

{if(s trc mp(I[k].c ar,"无")==0)

{printf("%-13 s%-10s%-10s%-9s%-6s%-4s%-6s%-10s%-12s",&I[k].u.us ername,&I[k].c ar,&I[k].startplac e,&I[k].des tination,&I[k].d.year,&I[k].d.month,&I[k].d.day,&I[k].u.truename,&I[k].u.telephone);

}

}

9

hostodo:2021美国独立日7折优惠促销NVMe硬盘的VPS,低至$13/年,还送DirectAdmin授权

7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...

UCloud:全球大促降价,云服务器全网最低价,1核1G快杰云服务器47元/年

ucloud:全球大促活动降价了!这次云服务器全网最低价,也算是让利用户了,UCloud商家调低了之前的促销活动价格,并且新增了1核1G内存配置快杰型云服务器,价格是47元/年(也可选2元首月),这是全网同配置最便宜的云服务器了!UCloud全球大促活动促销机型有快杰型云服务器和通用型云服务器,促销机房国内海外都有,覆盖全球20个城市,具体有北京、上海、广州、香港、 台北、日本东京、越南胡志明市、...

wordpress投资主题模版 白银黄金贵金属金融投资网站主题

wordpress投资主题模版是一套适合白银、黄金、贵金属投资网站主题模板,绿色大气金融投资类网站主题,专业高级自适应多设备企业CMS建站主题 完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,简洁大气的网站风格设计 + 更利于SEO搜索优化和站点收录排名!点击进入:wordpress投资主题模版安装环境:运行环境:PHP 7.0+, MYSQL 5.6 ( 最低主机需求 )最新兼容:完美...

我在百度为你推荐
易pc华硕的易PC怎么样,能流畅运行的游戏大概是什么水平的?网络明星哪个知道这个网络明星叫什么?51自学网站网上自学网站有哪些?最好是免费的,我想学习网页设计怎么样免费装扮qq空间如何免费装扮qq空间bluestacks安卓模拟器BlueStacks如何安装使用?arm开发板单片机开发板与ARM开发板有什么不同?网站联盟百度网盟是什么,怎么加入不兼容软件和电脑不兼容会怎样?今日热点怎么删除“今日热点”到底要怎样才能取消弹窗,每次开机都会淘宝店推广给淘宝店铺推广有什么好处?
顶级域名 3322免费域名 云网数据 瓦工 oneasiahost 优key xen 网页背景图片 英文站群 ftp免费空间 上海服务器 双线机房 双线asp空间 免费外链相册 www789 路由跟踪 lamp怎么读 域名和主机 杭州电信宽带 websitepanel 更多