C语言程序设计课程设计报告(自动售货机)

C语言程序设计课程设计报告(自动售货机)
C语言程序设计课程设计报告(自动售货机)

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

第一章 §题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能: (1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。 3.结构体系设计 图:主函数结构;图:新书信息录入流程;图:图书信息查询(管理员)流程;图:图书信息查询(学生)流程;图:图书信息删除流程;图:办理借书手续流程;图:办理还书手续流程; §程序设计及代码分析 1.程序设计: 下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择[1].管理员登陆(密码:123),[2].学生登陆,[0].退出系统; 选择[1]后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,[1].新书信息录入,[2].图书信息查询,[3].图书信息删除,[4].返回主菜单,[0].退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择[1]录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后再选择其他操作。当选择[3]时会进入图书信息删除,在这里可以选择删除图书信息等操

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

C语言程序设计报告

河南理工大学万方科技学院 C语言课程设计报告题目简单计算器编程 姓名何美美 学号072130026 专业07通信 班级一班 指导教师董玉杰 2008年09 月05日

目录 一、设计目的 (1) 二、本组课题及本人任务 (2) 三、主体内容 (3) (1)流程图 (2)源程序 (3)上机调试 (4)实验结果 四、设计体会 (6)

设计目的 1 复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3 培养学生在项目开发中团队合作精神、创新意识及能力 本组课题及本人任务 1 设计一个简单计算器能完成基本的加、减、乘、除计算,尽量模仿Windows计算器。系统界面不做强制要求。 2在本次设计中,由何永美、刘艳玲、贺清隆三人共同完成,由于知识掌握不牢,因此每一步都要共同商量,其中源程序由我们参考大量资料而成。 3本人负责程序调试及其他有关工作。

流程图主要内容 简单计算器

程序代码如下: /*代码文件名:E4_6.C*/ /*计算器的模拟*/ #include #include double add (double a,double b) {return a+b;} double sub (double a,double b) {return a-b;} double multi(double a,double b) {return a*b;} double divis(double a,double b) {return a/b;} Void main() { double x,y; int select; printf("input two numbers:"); scanf("%lf,%lf",&x,&y); printf("1------add\n"); printf("2------sub\n"); printf("3------multi\n");

自动售货机控制系统设计

综合课程设计报告书 自动售货机控制系统设计 题目: 学院:机械与电气工程学院 专业:电气工程及其自动化 班级:13级2班 姓名:付少官 学号: 指导教师:崔茂齐 教师职称:讲师 2016年6月29日

机械与电气工程学院综合课程设计任务书 专业:电气工程及其自动化班级:2013-2 姓名:付少官 自动售货机控制系统设计 (1) 摘要 (1)

Abstrct (1) 1、绪论 (1) 2、自动售货控制系统设计总体方案 (2) 元器件选择 (2) 开发工具 (2) 3、自动售货控制系统硬件设计 (3) 硬件总体框图 (3) AT89C51单片机模块(介绍本次设计所到的功能) (3) (3) (4) 本次所应用的管脚说明 (4) 单片机驱动模块 (5) 选择按键模块 (5) (6) (6) 系统显示模块 (6) 数码管显示器 (6) 显示器的驱动电路 (7) 出货以及退币模块 (8) 4、自动售货控制系统软件设计 (8) 系统流程图 (8) 元器件计算 (9) 5、系统总电路图及调试仿真 (10) 总电路图 (10) 系统调试 (11) 系统仿真 (11) 总结及致谢 (14) 参考文献 (15) 附录 (16) 附录1、元件清单 (16) 附录2、源程序 (16) 附录3、自动售货机控制系统protel99se原理图 (23)

自动售货机控制系统设计 付少官 摘要本文详细介绍了自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择独立式键盘按键作为货物选择端,实现了投币总数的显示功能。此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的基本语言,具有容易理解,便于记忆和使用等特点。 关键词:自动售货机,AT89C51,LCD显示 Abstrct T his paper describes a vending machine system design, hardware selection, software planning and preparation, and describes the focus of the work vending machine system theory, system design, software programming principles and techniques. AT89C51in the system as the core chip, the realization of a centralized control of the vending machine's automatic control the entire process. Choice of the system as a stand-alone keyboard keys to choose the goods side, the realization of the coin shows the total number of features. In addition, the system program using keil software to prepare and compile procedures, the software programming is simple, convenient error checking, easy to read and so on. Assembly language is the basic language program with easy to understand, easy to remember and use and so on. Key words:Vending Machines,AT89C51,LED Display 1、绪论 自动售货机是一种全新的商业零售形式,从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 随着科技的发展及人们生活水平的提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风景线。 自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。

c语言课程设计报告书--学生成绩管理

C 语言程序设计报告 课题:学生成绩管理 时间:

一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图:

三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息;

(5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员);(2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下:

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

PLC的自动售货机的课程设计

湖南工学院课程设计说明书 课题名称:自动售货机的控制设计 专业名称:自动化 学生班级:自本0701 学生学号: 410070131 学生姓名:冯源 指导老师:陆秀令

课程设计任务书 自动售货机的控制设计 一、控制要求 1.自动售货机有3个投币孔,分别为1元、5元和10元。 2.售货共有3种饮料供选择,分别为汽水、花茶和咖啡。 3.如投币总额超过销售价格,将可由退币钮找回余额。 4.投币总额或当前值显示在7段数码管上。 5.投币值等于或大于12元时,汽水指示灯亮,表示只可选择汽水。 6.投币值等于或大于15元时,汽水和花茶指示灯亮,表示只可选择汽水和花茶。 7.投币值等于或大于20元时,汽水、花茶和咖啡指示灯亮,表示3种均可选择。 8.按下要饮用的饮料按钮,则相对应的指示灯开始闪烁,3s后自动停止,表示饮料已经掉出。 9.动作停止后按退币钮,可以退回余额,退回金额如果大于10元,则先退10元再退1元,如果小于10元则直接退1元的。 二、设计任务 学生根据控制要求,明确设计任务,拟定设计方案与进度计划,运用所学的理论知识,进行自动售货机运行原理设计、硬件系统设计、软件系统设计、创新设计,提高理论知识工程应用能力、系统调试能力、分析问题与解决问题的能力。主要内容包括: 1. 设计出硬件系统的结构图、接线图、时序图等; 2. 系统有启动、停止功能; 3. 运用功能指令进行PLC控制程序设计,并有主程序、子程序和中断程序; 4. 程序结构与控制功能自行创新设计; 5. 进行系统调试,实现自动售货机的控制要求。

三、设计报告 课程设计报告要做到层次清晰,论述清楚,图表正确,书写工整;详见“课程设计报告写作要求”。

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

自动贩卖机电子技术课程设计..

目录 综述 (1) 1方案比较与选定 (2) 2方案设计与分析 (2) 2.1逻辑抽象 (2) 2.2单元模块设计 (3) 2.2.1可供选择商品的指示灯模块 (3) 2.2.2商品输出模块 (5) 2.2.3找零模块 (6) 3整体电路及仿真 (8) 3.1电路原理 (8) 3.2电路仿真 (9) 3.2.1投一元买矿泉水 (9) 3.2.2投一块五买饮料 (10) 3.2.3投两元买饮料并找零 (11) 心得体会 (12) 参考文献 (13)

哈尔滨工业大学电子技术课程设计 综述 自动售货机是能根据投入的钱币自动付货的机器。一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出售指示信号,把顾客选择的商品送至付货口。一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成。七十年代以来,出现了采用微型计算机控制的各种新型自动售货机和利用信用卡代替钱币并与计算机连接的更大规模的无人售货系统,如无人自选商场、车站的自动售票和检票系统、银行的现金自动支付机等。 本设计用JK触发器和基本逻辑门电路通过时序电路的设计方法完成了一种自动贩卖机的设计,该贩卖机能够售卖三种商品,要求系统能够自动完成:投币识别,价格比较,选择商品同时对应的指示灯亮,输出商品和找零过程。 1

自动贩卖机逻辑电路设计 1方案比较与选定 方案一:采用开关控制的计数器,通过加法器投硬币的方式将来确定投入的数值大小,再通过控制减法器的方式来减掉花费的数值,输出需要找回的数值,原理简单,设计也相对简约,思路清晰便于操作。逻辑电路图如图1-1所示。 图1-1 自动贩卖机逻辑电路图 方案二:采用JK触发器和基本逻辑门电路通过时序电路的设计方法完成了一种自动贩卖机的设计,具体思路是通过传感器产生的硬币信号,在电路中输入不同的状态,来表示所投硬币的数值,然后根据所需,通过开关电路,确认各种状态,达到目的。优点是采用简单触发器,和简单门电路就设计出方案。 综上所述,采取方案二,尽管稍微有些复杂,但是可以使我对时序逻辑电路的设计方法有更深的理解。该方案成本低,性价比高。 2方案设计与分析 2.1逻辑抽象 输入变量: 2

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

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

c语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013—2014学年第3学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号:1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。

自动售货机报告C语言课程设计

自动售货机图形模拟系统 需求分析 课题名称:自动售货机图形模拟系统 小组成员:朱伟鑫U201314490 班级:测控1301班 指导老师:周纯杰、何顶新、彭刚、周凯波 上交日期:贰零壹肆年玖月贰拾壹日

目录 1.引言--现实中的自动售货机 (2) 2.运行环境 (3) 3.功能设计 (3) 3.1触摸屏 (3) 3.2自动换零 (3) 3.3销量统计 (3) 3.4提前补货 (4) 3.5显示商品信息 (4) 3.6自动售货机网络 (4) 3.7无响应自动处理 (4) 4.软件系统需求分析 (4) 4.1图形显示 (4) 4.2菜单模块 (5) 4.3交易模块 (5) 4.4管理模块 (5) 5.系统流程图 (5) 6.时间安排 (6)

自动售货机图形模拟系统 朱伟鑫 课题要求 以自动售货机为对象,图形化模拟投币、找零、出货的基本流程;能对售货机的商品进行管理:补货、查询、统计等功能。 1引言--现实中的自动售货机 自动售货机是能根据投入的钱币自动付货的机器。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。是一种全新的商业零售形式,又被称为24小时营业的微型超市。能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。 从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。 2运行环境 根据课题要求,在DOS环境下,用TC或BC开发软件编写C语言程序模拟自动售货机的工作,因此本系统将会有较高的兼容性,能够在大多数操作系统上运行,包括Windows XP系统和Windows732位系统,但Windows764位操作系统除外。

c语言语言课程设计报告

上海应用技术学院 课程设计 2011~ 2012学年第二学期 设计题目成绩记录簿 院(系)计算机科学与信息工程学院 专业计算机应用技术 班级 11104114 学号 1110411414 学生姓名蒋佳琴 设计时间 2012.06.25 -2012.07.06 指导教师马智娴 提交日期 2012.07.06

上海应用技术学院课程设计任务书 指导教师(签名):马智娴教研室主任(签名):马智娴2012年6 月25日2012年6月25日

目录 1 设计目的 (5) 2 功能描述 (5) 2.1模块功能 (5) 2.2流程图 (6) 3 总体设计 (13) 3.1 功能模块设计 (13) 3.2 数据结构设计 (13) 3.3 函数功能描述 (13) 4 程序实现 (14) 4.2 运行结果 (25) 5课程设计总结 (28)

成绩记录簿 1. 设计要求: 基本功能 a) 添加成绩 b) 删除成绩 c) 查询学生成绩 d) 查询班级成绩 e) 退出 拓展功能 a) 写入文件 b) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能: 成绩记录簿中记录以下数据: 学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分; 输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0 ~ 100 之间的整数,学分: 1~ 5之间的实型数。 添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示; 查询(班级或个人)成绩: a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成 的总学分。 b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同 学不同课程在不同分数段分布的人数及百分比。 拓展功能: a) 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b) 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。

c语言程序设计报告4

课程设计报告 课程名称C语言程序设计 课题名称运动会分数统计系统 专业机械设计及其自动化 班级1185班 学号201113090526 姓名谭信 指导教师王颖 2012年6月22日

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题运动会分数统计系统 专业班级机械设计1185 学生姓名谭信 学号201113090526 指导老师王颖 审批王颖 任务书下达日期2012年6月1日 任务完成日期2012年6月22日

现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。而C 语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

绪论 (1) 第一章需求分析 1.1程序的功能及要求 (5) 1.2系统的性能要求 (5) 1.3测试数据 (6) 第二章概要设计 2.1结构体 (6) 2.2主程序(main) (6) 2.3模块的功能 (6) 2.4程序模块机之间的调用关系 (7) 第三章详细设计 3.1宏定义 (8) 3.2数据类型定义 (8) 3.3函数之间的调用关系图 (8) 3.4算法设计 (9) 第四章调试分析 4.1不足之处 (10) 4.2错误规范 (10) 4.3算法的时空分析 (10) 4.4存在的问题 (10) 第五章测试结果 (11) 第六章用户使用手册 6.1运行环境 (12) 6.2用户界面 (12) 6.3操作过程 (13) 第七章参考文献 (14) 第八章设计体会 (15) 第九章附录 (17) 课程设计评分表 (29)

相关文档
最新文档