信息车友拼车程序设计(要先在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

搬瓦工VPS:高端线路,助力企业运营,10Gbps美国 cn2 gia,1Gbps香港cn2 gia,10Gbps日本软银

搬瓦工vps(bandwagonhost)现在面向中国大陆有3条顶级线路:美国 cn2 gia,香港 cn2 gia,日本软银(softbank)。详细带宽是:美国cn2 gia、日本软银,都是2.5Gbps~10Gbps带宽,香港 cn2 gia为1Gbps带宽,搬瓦工是目前为止,全球所有提供这三种带宽的VPS(云服务器)商家里面带宽最大的,成本最高的,没有第二家了! 官方网站:https...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

tmhhost:全场VPS低至6.4折,香港BGP200M日本软银美国cn2 gia 200G高防美国三网cn2 gia韩国CN2

tmhhost放出了2021年的端午佳节+618年中大促的优惠活动:日本软银、洛杉矶200G高防cn2 gia、洛杉矶三网cn2 gia、香港200M直连BGP、韩国cn2,全都是高端优化线路,所有这些VPS直接8折,部分已经做了季付8折然后再在此基础上继续8折(也就是6.4折)。 官方网站:https://www.tmhhost.com 香港BGP线路VPS ,200M带宽 200M带...

我在百度为你推荐
回收站在哪手机回收站在哪里打开依赖注入什么是侵入性?还有依赖注入?显卡温度多少正常显卡温度多少算正常不兼容vivo手机和软件不兼容怎么办?今日热点怎么删除千牛里面的今日热点怎么取消_?godaddyGodaddy域名怎么接受开机滚动条开机滚动条太多怎么办?ios7固件下载ios 7及以上固件请在设备上点“信任”在哪点?怎么升级ios6苹果iPhone6怎么升级系统商标注册查询官网如何在网上查询商标是否注册?
什么是二级域名 3322动态域名 免费cn域名 韩国加速器 香港主机 40g硬盘 世界测速 什么是服务器托管 酷番云 美国盐湖城 smtp服务器地址 秒杀品 中国电信测速网站 百度云空间 域名转入 攻击服务器 卡巴斯基官网下载 accountsuspended winds 标准机柜 更多