计算机软件及应用学生管理系统与车辆管理系统 课程设计报告.doc
《计算机软件及应用学生管理系统与车辆管理系统 课程设计报告.doc》由会员分享,可在线阅读,更多相关《计算机软件及应用学生管理系统与车辆管理系统 课程设计报告.doc(81页珍藏版)》请在三一办公上搜索。
1、 通信工程学院课程设计报告 姓名:陈志 学号:52101610 专业:通信工程 班级:10级16班 (车辆管理系统课程设计实验报告) 目录1. 课程设计任务22.设计结构图与流程图.23.程序代码设计.51.1 头文件.51.2 源文件.54.编码与调试分析55.使用说明及运行结果66.课程设计心得体会.77.附录(程序清单).81.课程设计任务1.1实验目的使用C语言实现交通车辆违章管理系统的违章信息录入、违章情况查询、针对每台车辆统计罚款总金额等基本操作。进一步巩固C语言的学习,培养一定的综合编程能力。1.2需要处理的基础数据设违章种类分为违章停车、闯红灯、超速等三种。设违章停车每次罚款1
2、00元、闯红灯每次罚款200元、超速每次罚款500元。需处理的车辆及违章基本信息包括:车牌号、车主姓名、违章停车次数、闯红灯次数、超速次数。1.3系统功能1车辆及违章信息的录入。2基于车牌号查询每台车辆的违章情况。3基于车牌号统计每台车辆的罚款总金额。2.设计结构图与流程图 2.1设计结构图 程序设计图分几个小模块,下面是程序的简易结构图 输入0结束输入并推出系统,输入1继续 !车辆管理系统输入车辆信息输入车牌号查询其违章情况输入车牌号统计其罚款总金额2.2程序设计流程图 开始输入车辆信息输入为1吗?是输入车牌号查询其违章情况输入为1码?输入车牌号统计该台车辆的罚款总金额否是否输入为1码? 结
3、束是否 3.程序代码设计 3.1 头文件 为了使用系统中一些函数,引入一些系统函数的头文件#include#include定义一个车辆结构体,用来记录车辆的相关信息:typedef struct Pechar vno8;/*车牌号*/char name15; /*车主姓名*/int times1;/*违章停车次数*/int times2;/*闯红灯次数*/int times3;/*超速次数*/PECCANCY;之后就是编写的程序,该程序为未定义其他的函数,所有功能都是在main函数中实现!3.2 源文件 该系统只有一个mian函数,无定义函数和自定义函数.4.编码与调试分析1).刚设计时,本来
4、设计了很多的小函数来实现各个分功能,不过遇到了困难,就是各个分函数不能共享数据,于是就改成在一个主函数实现所有的功能.2).还有每次用户输入完一项功能,询问是否继续,如果不继续,就自动进入下一个功能.5. 使用说明及运行结果5.1 进入系统界面提示输入车辆信息,如下:5.2 之后按0结束输入,或按1继续录入信息! 按0进入查询车辆信息界面.如下:5.3 同样根据提示继续查询按1,否则按0结束查询,输入1进入根据车牌号查询该车总罚款金额,如下:5.4 按1继续查询其他车辆的总罚款金额,按0退出系统!6. 课程设计心得体会 通过自己编写车辆违章管理系统这一程序,让我学会了很多。以前学C语言、C+时
5、,自己只是会运用所学的知识编写一些非常简单的程序,从没有编写过较大的程序,更别说编写一车辆管理系统了,不过这次通过自己的努力以及老师的精心指导,成功的做出了车辆管理系统,虽然该系统功能较少,但毕竟是我自己通过所学的知识做出的产品,看着一个个数据的输入,之后得到了自己想要的结果,一种成就感从心里油然而生,同时让我发现了编程中更大的乐趣,本来我对编程就挺感兴趣,通过此次实践,让我对编程越来越感兴趣了,当然编程过程中也遇到了一些困难,通过自己的努力以及老师的指导与帮助,一个个困难都迎刃而解了,让我学会很多东西,同时让我明白了编程要细心,否则调试程序时会带来没必要的困难,总而言之,此次编程设计让我受益
6、匪浅!,希望我的编程能力越来越高,将来能在激烈的社会竞争中脱颖而出 !7.附录(程序清单)#include#include#define p 1000typedef struct Pechar vno8;/*车牌号*/char name15; /*车主姓名*/int times1;/*违章停车次数*/int times2;/*闯红灯次数*/int times3;/*超速次数*/PECCANCY;void main() int i,e,a,c,d,m=0,n=0,s;char k8,j8; PECCANCY bp; cout输入车辆信息endl; for(i=0;ip;i+) cout输入车牌号
7、:bi.vno; cout输入车主姓名:bi.name; cout输入违章停车次数:bi.times1; cout输入闯红灯次数:bi.times2; cout输入超速次数:bi.times3; cout输入0结束录入,输入1继续录入车辆信息a; if(a=0) break; coutendl;coutendl;coutendl; cout输入车牌号查询其违章情况endl; for(e=0;ep;e+) m=0; cout输入车牌号:j; for(i=0;ip;i+) if(strcmp(j,bi.vno)=0) cout车主姓名:bi.nameendl违章停车次数:bi.times1endl
8、 闯红灯次数:bi.times2endl超速次数:bi.times3endl; m=1; break; if(m!=1) cout未找到符合条件的车辆endl; cout输入0结束查询,输入1继续输入车牌号查询c; if(c=0) break; coutendl;coutendl;coutendl;cout输入车牌号统计该台车辆的罚款总金额endl;for(e=0;ep;e+) n=0; cout输入车牌号:k;for(i=0;ip;i+) if(strcmp(k,bi.vno)=0)s=(bi.times1)*100+(bi.times2)*200+(bi.times3)*500; cout
9、车牌号为k的罚款总金额为:sendl; n=1; break; if(n!=1) cout未找到该车牌号!endl; cout输入0结束输入并退出该系统,输入1继续查询d; if(d=0) break; (学生管理系统课程设计报告) 目录1.课程设计任务.132设计结构图及流程图143程序代码设计.203.1头文件.203.2源文件.214编码与调试分析.225使用说明及运行结果.226课程设计心得体会.297附录(程序清单).301.课程设计任务1.1实验目的使用标准C或C+实现学生成绩管理系统的录入、查询、删除、统计等基本操作。进一步巩固C语言的学习,以提高学生对开发环境的进一步认识和综合
10、编程能力。1.2需要处理的基础数据学生基本信息:学号(例如2003级12班6号写作20031206)、姓、名、性别、出生年月日、课程名称(外语SCORE0、高数SCORE1、C语言SCORE2、马哲SCORE3)、考试成绩等。1.3系统功能1学生基本情况录入。2允许对已经录入的数据进行显示。3允许进行数据的插入。4删除基本数据的相关信息。5基于姓名的查询。如:姓张的所有同学。6. 对性别、出生年月日的合理性进行判断(如0代表“女”,1代表“男”,输入其他值非法,年龄不能为负,月份不能大于13等)7基于各种基本数据的统计计算。如:统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出
11、每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。列出90分以上(包括90)、80分以上(包括80)、70分以上(包括70)、60分以上(包括60)、不及格学生清单(学号、姓名、不及格的课程和成绩)。统计并输出各门功课的平均成绩和总平均成绩。按班级统计并输出总成绩。(需要对学号进行解析)2.设计结构图及流程图2.1程序设计结构图如下: 学生课程管理系统输入学生信息删除学生信息插入学生信息修改学生信息学生成绩排名输出学生信息学生成绩计算保存学生信息学生成绩排名显示学生信息读入学生信息查询学生信息按学号查询按学生姓查找按学生班级查找 2.2 程序设计流程图如下
12、: 各函数块流程图:创建函数creat_stu()P1-num=0?N对p1新空间赋值,p2=p1,p2-next=p1Y结束开辟一空间使*p1,*p2指向它开辟一新空间*p1指向它开始对*p1指向的空间赋值,取出P1-num的值查找函数search_NO()开始获得头指针headP=head-next输入一要查找的姓名/学号给数组a15a15是否等于P-num/p-name?查找成功调用打印输出结束P=P-nextYN插入函数insert_stu()开始创建一新空间给*PP对*PP空间赋值P=head-nextPP-sumsum?P=P-next将*PP链结接于*P后是否继续插入?结束NYY
13、N开始声明变量:a=0,b=0。c=0,d=0,e=0a+b+c+e+d+sum=90?Sum=80?Sum=70?Sum=60?输出个分数段人数,a,b,c,d,e的值结束YNYYYNNN按分数段输出函数jieduan()其他函数过于简单就不再画出其流程图。3程序代码设计3.1 头文件先是,为了用到一些系统函数,所以引用一些库文件: #include #include #include #define PF printf#include time.h 下一个就是存放学生的基本信息,包括指向下一个节点的指针.定义了一个学生结构体用来存放学生基本信息:typedef struct St1 cha
14、r IDNumber16;/*学号*/ char FamilyName16; /*姓*/ char GivenName16; /*名*/ int sex; /*性别(0代表女,1代表男)*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ float score0,score1,score2,score3; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct St1 *next; StudentNode;3.2 源文件,包括自己定义的函数 void
15、 show_menu(); /显示菜单void menu(); /执行菜单void creat_stu(); /建立链表 void input_stu(); /输入学生信息void print_stu(); /显示链表中所有记录信息void search_NO(); /以学号方式查询信息void search_name(); /以姓方式查询信息void arrage_stu(); /学生成绩排名void del_stu(); /删除学生信息void revise_stu(); /修改学生信息void save(); /保存信息void jisuan(); /计算所有学生的以及各科总分和均分 v
16、oid search_clas(); /按班级查询显示学生信息 void insert_stu(); /插入学生记录到表中void sort(float x,int n); /对学生按总分进行从高到底排序void search_allscore(); /按学生总成绩查询,用来输出排名信息void jieduan(); /用来输出按平均分阶段输出信息,其中用了按 平均分输出信息的程序。void Loadf(); /从文件中读出所有学生记录4编码与调试分析 本程序比较大,调试过程中遇到了许多困难,在这里只是列举少部分.我程序中按学生总分排名是先将所有学生的总分放在一个全局数组中,然后再用冐泡法排序
17、,不过我先前没有将该数组写入文件,所以当退出系统重进系统后,从文件中读入数据后,该系统排序功能不好用了.后来我就将该数组也保存到文件中去,不过此时又遇到了困难,我先是将数组一下写入文件,后来出错了.文件中各数据完全不匹配了,后来我采用循环的方式一个个将数组中的数据写入文件中保存起来,就解决了该问题!还有就是当我编译时没有错误,运行时系统就弹出一个对话框说莫莫数据不匹配,后来我发现原来是运用输入函数scanf时,要求数据类型与要输入的数据类型不同,不过编译器不能查出这个文题,所以以后编程时一定注意这个问题! 总之, 编码与调试分析部分是编程步骤中非常重要的一部分,是一个程序能投入使用必须执行的部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用学生管理系统与车辆管理系统 课程设计报告 计算机软件 应用 学生 管理 系统 车辆 课程设计 报告
链接地址:https://www.31ppt.com/p-2399559.html