C语言课程设计报告
c语言课程设计报告详细版

c语言课程设计报告详细版一、课程目标知识目标:1. 掌握C语言的基本语法和结构,包括变量声明、数据类型、运算符、表达式和语句。
2. 理解并能运用控制结构,如顺序、选择和循环结构进行程序设计。
3. 学会使用数组、函数和指针进行程序开发,并能理解它们在解决复杂问题中的应用。
4. 熟悉基本的输入输出操作,文件操作以及简单的错误处理机制。
技能目标:1. 能够编写简单的C程序,解决实际问题,展现出逻辑思考和问题解决的能力。
2. 能够阅读和分析C程序代码,理解程序的结构和执行过程。
3. 能够使用调试工具检查和修正程序中的错误,提高程序的稳定性和可靠性。
4. 能够通过小组合作,完成一个综合性的项目,培养团队协作和项目管理的初步技能。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究计算机科学的热情,形成主动学习和终身学习的习惯。
2. 培养学生的创新思维和批判性思维,鼓励尝试不同的解决方案,勇于面对编程中的挑战。
3. 增强学生的信息意识和责任感,理解程序在现实生活中的应用和影响,认识到编程对社会发展的贡献。
4. 通过项目实践,培养学生的集体荣誉感,加强沟通能力,形成良好的团队合作精神。
课程性质分析:本课程为高年级的C语言程序设计,旨在通过项目驱动的教学方法,使学生在实践中掌握C语言的编程技能,并能够在日常生活和学习中应用。
学生特点分析:学生具备一定的逻辑思维能力,对计算机编程有一定兴趣,但个体差异较大,需要针对不同层次的学生设计不同难度和类型的教学活动。
教学要求:1. 结合实际案例进行教学,强调理论知识与实践操作的结合。
2. 注重培养学生的实际编程能力和问题解决能力,鼓励学生自主探索和协作学习。
3. 通过形成性评价和总结性评价相结合的方式,全面评估学生的学习成果。
二、教学内容1. C语言基础- 变量与数据类型- 运算符与表达式- 输入输出函数- 顺序结构程序设计2. 控制结构- 选择结构(if-else)- 循环结构(for、while、do-while)3. 函数与数组- 函数定义与调用- 数组的使用- 二维数组4. 指针与字符串- 指针的概念与使用- 指针与数组- 字符串处理函数5. 文件操作与错误处理- 文件的打开与关闭- 文件的读写操作- 简单错误处理6. 综合项目实践- 项目需求分析- 功能模块划分- 编程实现与调试- 项目展示与评价教学内容安排与进度:第一周:C语言基础第二周:控制结构第三周:函数与数组第四周:指针与字符串第五周:文件操作与错误处理第六周至第八周:综合项目实践教材章节关联:《C程序设计》第一章至第五章,涵盖课程教学内容中的所有知识点,为综合项目实践打下基础。
C语言课程设计实验报告1

课程设计报告题目:景点查询系统课程名称:C语言课程设计专业班级:信息安全二班任务书⑴主要内容建立国内景点信息系统,提供创建、编辑和综合查询等基本业务管理和服务。
⑵任务要求收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交《课程设计报告》。
⑶参考文献[1]曹计昌,卢萍,李开. C语言程序设计,北京:科学出版社,2008[2]张引. C程序设计基础课程设计, 杭州: 浙江大学出版社,2007[3]黄明,梁旭,万洪莉. C语言课程设计,北京: 电子工业出版社,2006目录1 绪言 (1)1.1 课题背景 (1)1.2 课题目的及意义 (1)1.3 课题应解决的主要问题及应达到的技术要求 (1)1.4 研究与发展概况及存在的问题 (2)1.5 设计的指导思想 (2)2 方案论证 (3)2.1 菜单的选择 (3)2.2 链表的选择 (3)2.3 主菜单和子菜单的设定 (3)3 课设过程论述 (5)3.1 系统数据 (5)3.2 系统各模块功能 (6)3.3 数据结构设计及用法说明 (8)3.4 程序结构 (9)4 结果分析 (10)5 课程设计总结 (13)6 参考文献 (14)附录程序清单 (15)1 绪言本章阐述课程设计课题的背景、目的与意义、应解决的主要问题及应达到的技术要求;简述研究与发展概况及存在的问题,本设计的指导思想。
1.1 课题背景随着社会的发展,旅游成为一个越来越热门的话题,很多人都会以旅游的方式度过自己的假期、生日、结婚纪念日等等,但是要想充分享受旅游带来的快乐,前期的准备就显得非常重要,只有前期的准备做好了,才能充分规划自己的旅游,才能充分享受自己的旅游。
前期的准备很大一方面是要查询自己要去的地方的一些基本信息,比如景区地点,景区门票。
城市中所含有的景区等等,如果有一个系统能够快速的查询景点信息,那么这就为人们出去旅游提供了很多的信息,帮助人们为旅游做好充分的准备!1.2 课题目的及意义课题目的:本课题主要是通过景点查询系统向人们提供景点,景区,城市等方面信息的查询,修改,统计等服务,让人们快速获得有关旅游景点、景区、城市方面的信息,帮助人们充分规划自己的出行方案。
c语言课程设计报告模板及范文

c语言课程设计报告模板及范文一、引言引言部分在课程设计报告中扮演了导读的角色,通常包括以下内容:•背景:简要介绍课程设计的背景和目的。
•目的:阐述课程设计的目标和意义。
•项目概述:对设计项目的总体概况进行描述。
•报告结构:简要介绍后续报告的组织结构。
二、需求分析需求分析是课程设计过程中的重要环节,它用于明确项目的目标和功能,通常包括以下内容:•问题定义:对设计中需要解决的问题进行明确定义。
•功能需求:详细描述设计项目需要实现的各项功能。
•性能需求:根据设计的要求,确定设计项目的性能指标。
•接口需求:描述设计项目与其他模块或系统之间的接口要求。
三、设计方案设计方案部分是课程设计报告的核心,通常包括以下内容:•总体设计思路:对设计方案的总体思路进行简要介绍。
•模块划分:按照功能将设计项目分成各个模块,并描述各个模块的功能和关系。
•模块设计:对各个模块进行详细的设计说明,包括算法、数据结构等。
•界面设计:如果设计项目包含界面,需要对界面进行详细的设计说明。
•流程图:结合文字和图表展示设计项目的流程。
四、实现与测试实现与测试部分是课程设计报告中比较实际的内容,通常包括以下内容:•开发环境:列出完成设计的开发环境和所使用的工具。
•代码实现:详细描述设计项目的代码实现方法。
•测试方法:列出设计项目的测试方法和测试样例。
•测试结果:给出设计项目在测试样例下的实际运行结果。
五、总结与展望总结与展望部分对整个课程设计进行总结,并对未来的优化和拓展提出展望,通常包括以下内容:•成果总结:对整个课程设计的成果进行总结和评价。
•存在问题:对设计项目中存在的问题和不足进行归纳和总结。
•改进方向:针对存在问题提出改进的方向和思路。
•未来展望:对设计项目未来的拓展和优化方向进行展望。
六、参考文献在课程设计报告中,如果有引用的书籍、论文或网络资源,需要列出参考文献。
范文示例:```c #include <stdio.h>void main() { printf(。
c语言课程设计报告文档

c语言课程设计报告文档一、课程目标知识目标:1. 理解C语言的基本语法和程序结构,掌握变量定义、数据类型、运算符、表达式等基本概念;2. 学会使用C语言进行顺序结构、分支结构、循环结构的编程,并能运用这些结构解决实际问题;3. 掌握C语言数组和字符串的使用,熟练运用数组进行数据处理;4. 了解C语言函数的定义与调用,学会编写简单的函数,理解函数参数、返回值等概念;5. 了解C语言指针的基本概念,学会使用指针进行内存操作和数据传递。
技能目标:1. 培养学生运用C语言编程解决实际问题的能力;2. 培养学生具有良好的编程习惯,如代码规范、注释清晰等;3. 提高学生调试程序、查找并解决问题的能力;4. 培养学生团队协作能力,学会与他人共同完成项目。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神;2. 培养学生面对编程困难时,具有坚持不懈、勇于克服的品质;3. 增强学生的自信心,使其在编程实践中感受到成就感;4. 引导学生认识到编程对于社会发展的重要性,培养其社会责任感。
本课程旨在让学生掌握C语言的基本知识和技能,培养其编程思维和解决问题的能力,同时注重培养其情感态度价值观,使其成为具有全面素质的计算机编程人才。
在教学过程中,根据学生的年龄特点和认知水平,采用任务驱动的教学方法,以实例为主线,引导学生主动参与、探究学习。
通过课程学习,使学生能够具备一定的编程基础,为后续学习打下坚实基础。
二、教学内容本章节教学内容围绕C语言基础知识,结合课程目标,制定以下教学大纲:1. C语言概述- 了解C语言发展史、特点和应用领域;- 掌握C语言程序的基本结构。
2. 数据类型、变量和常量- 学习基本数据类型(整型、浮点型、字符型);- 掌握变量的定义、赋值和作用域;- 理解常量的概念及其使用。
3. 运算符与表达式- 掌握算术、关系、逻辑运算符及其优先级;- 学习表达式的构成和计算。
4. 顺序结构程序设计- 学习C语言程序的基本输入输出函数;- 编写简单的顺序结构程序。
c语言课程设计实验报告

c语言课程设计实验报告一、教学目标本课程的目标是让学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和关键字。
–理解数据类型、变量、常量的概念及使用。
–熟悉运算符、表达式、语句的结构。
–学习函数的定义、声明和调用。
–掌握数组、指针、字符串的基本操作。
–了解结构体、共用体、枚举类型等数据结构。
–学习基本算法和排序、查找等常用算法。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。
–熟练使用集成开发环境(IDE)进行程序调试和运行。
–掌握编程规范和代码注释,编写可读性强的代码。
–学会使用函数模块化编程,提高代码重用性。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣,激发创新意识。
–培养学生的团队合作精神和自主学习能力。
–强化学生的编程实践能力,提高解决实际问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和关键字。
2.数据类型、变量、常量的使用和声明。
3.运算符、表达式、语句的结构和用法。
4.函数的定义、声明和调用。
5.数组、指针、字符串的基本操作和应用。
6.结构体、共用体、枚举类型等数据结构的概念和使用。
7.基本算法和排序、查找等常用算法。
8.第一周:C语言基本语法和关键字。
9.第二周:数据类型、变量、常量的使用和声明。
10.第三周:运算符、表达式、语句的结构和用法。
11.第四周:函数的定义、声明和调用。
12.第五周:数组、指针、字符串的基本操作和应用。
13.第六周:结构体、共用体、枚举类型等数据结构的概念和使用。
14.第七周:基本算法和排序、查找等常用算法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:教师通过讲解、示例等方式,向学生传授C语言的基本知识和编程技巧。
2.讨论法:教师引导学生进行问题讨论,培养学生的编程思维和解决问题的能力。
c语言课程设计设计报告

c语言课程设计设计报告C语言是一门通用计算机编程语言, 应用广泛。
下面是小编为大家整理的关于c语言课程设计的设计报告, 欢迎大家的阅读。
高等职业教育的目标及侧重点不同于普通高等教育, 其培养的学生在毕业后应能直接上岗, 具有熟练的实践操作技能。
教育部《关于以就业为导向深化高等职业教育改革的若干意见》中指出, 高职教育应“坚持培养面向生产、建设、管理、服务第一线需要的‘下得去、留得住、用得上’, 实践能力强、具有良好职业道德的高技能人才”。
因此, 加强实践性课程教学, 对保证人才培养质量显得尤为重要。
我院为贯彻《关于全面提高高等职业教育教学质量的若干意见》精神, 针对区域经济发展的要求, 灵活调整和设置专业课程, 以就业为导向, 加快专业课程对应的课程设计改革。
目前, 我院按照由浅入深、不断深化的教学规律, 构建了实践教学三层次四环节的实践课程体系。
实践教学三层次包括基本技能、专业拓展、综合创新, 四环节包括实验、实习实训、设计和课外实践。
“C语言课程设计”是我院信息类专业的必修专业基础课程设计, 在“C语言程序设计”课程教学结束后的下一学期进行, 历时2周, 40学时。
课程开设的目的在于培养学生分析问题和解决问题的能力, 为学生提供一个动手、动脑、独立实践的机会。
21项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。
著名的瑞士心理学家皮亚杰认为, 知识不是通过教师传授得到的, 而是学生在一定的情境下, 借助他人的帮助, 利用必要的学习资料, 通过意义建构的方式而获得的。
美国项目管理专家约翰·宾认为:“项目是要在一定时间里, 在预算规定范围内需达到预定质量水平的一项一次性任务。
”“项目教学法”是通过实施一个完整的项目而进行的教学活动, 旨在把学生融入有意义的任务完成的过程中, 让学生积极地学习, 自主地进行知识的建构, 在课堂教学中把理论与实践教学有机地结合起来, 充分发掘学生的创造潜能, 提高学生解决实际问题的综合能力。
课程设计报告模板c语言

课程设计报告模板c语言一、课程目标知识目标:1. 理解C语言的基本语法结构,掌握变量定义、数据类型、运算符等基础知识;2. 学会使用控制结构,如顺序结构、分支结构和循环结构;3. 掌握函数定义、声明和调用的方法,理解局部变量和全局变量的概念;4. 了解数组、字符串和指针的使用,并能运用它们解决实际问题。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 培养良好的编程习惯,如规范命名、合理注释、代码缩进等;3. 学会使用编译器进行程序编译、调试和运行;4. 能够阅读和分析简单的C程序代码,提高编程能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情;2. 培养学生的逻辑思维能力,提高问题解决能力;3. 培养学生的团队协作意识,学会与他人分享编程经验;4. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
课程性质:本课程为初中年级的信息技术课程,旨在让学生掌握C语言编程的基本知识和技能。
学生特点:初中学生具有较强的逻辑思维能力和学习兴趣,但对编程知识了解较少。
教学要求:结合学生特点,注重理论与实践相结合,通过实例分析、编程实践等方式,使学生能够掌握C语言的基本知识,提高编程能力。
在教学过程中,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。
将课程目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容1. C语言基础知识- 变量定义、数据类型和运算符- 输入输出函数的使用- 顺序结构程序设计2. 控制结构- 分支结构(if、if-else、switch)- 循环结构(for、while、do-while)3. 函数- 函数定义、声明和调用- 局部变量和全局变量- 递归函数4. 数组、字符串与指针- 数组的使用和操作- 字符串的基本操作- 指针的概念和用法5. 编程实践- 编写简单程序,解决问题- 分析实例代码,提高编程能力- 调试程序,找出并修复错误教学内容安排与进度:第一周:C语言基础知识,顺序结构程序设计第二周:控制结构(分支、循环)第三周:函数的定义和调用,递归函数第四周:数组、字符串与指针第五周:编程实践与总结教材章节关联:教学内容与教材相应章节紧密关联,确保学生能够在学习过程中系统地掌握C 语言知识。
c语言课程设计报告项目背景

c语言课程设计报告项目背景一、课程目标知识目标:1. 学生能理解C语言课程设计报告的项目背景,掌握C语言在工程项目中的应用。
2. 学生能够掌握C语言的基本语法,如变量定义、数据类型、运算符、控制结构等,并能够运用到实际项目中。
3. 学生能够了解C语言编程规范,培养良好的编程习惯。
技能目标:1. 学生能够独立完成C语言课程设计报告的撰写,包括项目背景、需求分析、设计思路、代码实现和测试结果等。
2. 学生能够运用C语言编写简单的程序,解决实际问题,提高编程实践能力。
3. 学生能够通过课程设计,培养自己的问题分析、解决方案设计和调试能力。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,提高自主学习能力。
2. 学生能够认识到C语言在计算机科学中的重要性,激发对计算机科学的热爱。
3. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。
课程性质:本课程为C语言编程实践课程,强调理论与实践相结合,注重培养学生的编程能力和实际应用能力。
学生特点:学生为初中年级,对编程有一定的基础,具备基本的计算机操作能力,好奇心强,学习积极性较高。
教学要求:教师应关注学生的个体差异,提供针对性的指导,引导学生掌握C 语言基本知识,注重培养学生的实际操作能力和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言基础知识回顾:变量定义、数据类型、运算符、控制结构(包括顺序、选择、循环结构)。
2. C语言编程规范:命名规则、注释、缩进、代码组织等。
3. 课程设计报告撰写方法:项目背景、需求分析、设计思路、代码实现、测试结果与分析。
4. 实践项目:选取与实际生活相关的问题,引导学生运用C语言进行程序设计。
- 项目一:计算器程序- 项目二:学生信息管理系统- 项目三:简易游戏开发(如:猜数字游戏)教学大纲:第一周:C语言基础知识回顾,重点讲解变量定义、数据类型和运算符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX大学课程设计报告课程设计名称:C语言课程设计课程设计题目:排班系统院(系):XX学院专业:XX班级:XX学号:XXXXXXXXXXXXX姓名:XX指导教师:XXX完成日期:XX年X月X日沈阳航空航天大学课程设计报告目录第1章需求分析与概要设计 (1)1.1需求分析 (1)1.2概要设计 (1)第2章详细设计 (2)2.1排班系统基本结构 (2)2.1.1 排班系统细节剖析 (2)2.2程序详细介绍(算法实现) (3)第3章调试分析 (5)3.1我的调试: (5)3.2运行结果 (5)第4章用户手册及结束语 (8)4.1用户手册 (8)4.2结束语 (8)参考文献 (9)附录(程序清单) (10)沈阳航空航天大学课程设计报告第1章需求分析与概要设计第1章需求分析与概要设计1.1 需求分析1.题目要求:为多名保安设计一个排班系统,每人可以自行预先选出一天为休息日,系统打印可能的轮班方案并存储结果。
尽可能做到令所有人满意,保排班方案的公平性。
2.题目分析:本题的重点和难点在于保安的人数是不确定的,且他们可能选择的休息日也无法确定,所以方案的结果也就不仅仅有一种。
由此可以看出只有解决好这两个问题,才能够符合该题目的要求,完成保安的排班工作。
1.2 概要设计1.总体思路:对于这道题目,我的思路是采用二维数组的方式来解决。
大概过程是先假设所有人都上班,即没有休息日。
然后再让每个人进行选择自己希望的休息日。
先每个人选择出一天,然后系统进行排班,输出其所输入数据的对应方案。
然后在第一次所输数据的基础上,若还有其他选择,则进行二次输入,以此更改初始数据,重新设计可能的排班方案。
2.细节实现:因为题目的要求是打印可能的方案,那么如何来实现打印呢?我采用了通过对二位数组中的每一个值用阿拉伯数字0和1来标记,以1来表示工作,0来表示休息。
3.功能作用:本系统系保安的排班系统,可以完成基本的排班功能,在此基础上,还为用户设计了二次输入的选项,以此来解决当所输数据不满足要求,无法完成排班的问题,同时也可以为用户提供更多的可行方案,而不是仅仅局限于一种。
第2章详细设计2.1 排班系统基本结构图2.1 排班系统基本结构此排班系统主要分为:显示欢迎界面、排班界面及选择界面。
该系统各部分间有序衔接,各尽其责,如图2.1所示,充分展现了该系统的协调性与整体性。
2.1.1 排班系统细节剖析此排班系统的重点在于每次对二维数组的赋值操作,最开始时是将所有的初值都赋为1,然后以0来赋给选择对应日期、对应人的对应数值。
这样一来,便可以将每个人的每天上班与否进行标记(1是工作,0是休息),这道题目的另一个难点在于对每个人有比较公平的方案,所以该问题在设计时,我就将含有小于规定数量工作人数的方案标记为不可行方案,同时在屏幕输出该方案排出的结果,以供操作人员查阅该方案到底哪里不可行,利于下次输入数据地改动。
2.2 程序详细介绍(算法实现)我的这套程序大致可以分为三个部分:1.数据输入部分即第一次输入数据(每个人的选择),该部分是通过二位数组来实现的,以第几个人来控制数组的第一个下标,以周几来控制该数组的第二个下标,这样就可以将所有的人所有的天数看做一个二维表来实现选择信息的数字化,如表2.1、2.2所示。
表2.1 每个人的工作选择表2.2 对应的数组2.数据转化为方案:该部分是以for循环为工具手段,对每一个数据进行扫描判断,然后将工作的人打印出来,即保安工作排班表。
这样一个方案就完成了。
3.方案的更改:此部分则是以更改个别数据为主,其他数据依然参照之前的数据,其实现的方法就是用第二次输入的数据,对第一次的数据进行覆盖,在这个覆盖的过程中,我们不仅要将二次选择的人及选择的天对应的数据更改为0,同时还要对原数组中此人的选择对应的数值恢复为零,我最开始设计时,就忽略了这一点,造成输出的方案有的人一周休息一天,有的人休息了两天,失去了设计方案的公平性。
以此造成很多困扰,后来经过详细分析、查找,我采用了每次只覆盖数组中的数值,而将二次选择的人的首选数字进行保留,这样就实现了公平排班的理念。
第3章调试分析3.1 我的调试:1.在刚刚完成编译时,程序中有很多语法错误,如将“;”打成了中文输入法,甚至是干脆忘记打的情况,还有比如将for循环下面的括号只打了一半等,这些语法错误给我造成了许多困扰,后经逐条更改,最后终于得以运行。
2.除了一些语法错误,在运行的过程中还出现了许多其他的错误。
如上文提到的由于没有将初次选择更改回为工作,造成方案的不公平等,这个问题我在初期一直没有弄懂,后经单步调试,对数组中的逐个数字进行跟踪,终于发现了这个问题,并想出方案解决3.2 运行结果该软件运行时会出现以下几种情况:1.正常进行排班,显示出对应的排班方案,如图3.1所示:图3.1 正常排班2.更改其中一个人的选择,输出第二方案,如图3.2:图3.2 其他选择3.无其他选择,保存方案至文件“保安排班方案”,如下图:图3.3 存储的方案4.当用户输入的选择对应的方案不可行时,软件会给出提示,如图3.4所示:图3.4 方案不可行5.这时我们对选择进行二次调整,如图3.5所示:图3.5 调整方案沈阳航空航天大学课程设计报告第4章用户手册及结束语第4章用户手册及结束语4.1 用户手册本软件用户请注意以下几点:1.当打开本软件时,会出现欢迎使用界面,同时出现输入提示,请您按照提示依次进行操作;2.值得注意的是,本软件采用的是输入数字进行选择,每次输入数字后,请输入回车键;3.当电脑屏幕提示更改选择时,在输入两个数字时,请以空格隔开。
4.2 结束语本系统是我经过两周时间冥思苦想得来的结果。
在设计该系统时我也遇到了许多困难。
如最开始时我想采用的是想将所有数组同时赋值,然后同时进行扫描,可是后来发现这样的方法是行不通的(或许以后学的多了能够解决,但目前来说知识量还很有限),因为在进行两个for循环时,会出现交叉限制的情况,无法完成扫描,所以我最终想出了一次只对一个二维表赋值、扫描。
对于其他方案则是以二次输入数据的方式进行更改初值,以达到排班的目的。
当然,可能该系统在功能上还存在一些弊端,但至少这也是我两周来的辛苦成果。
我以后一定会继续努力,对该系统进行进一步的完善。
参考文献[1] 谭浩强著. C程序设计(第三版).清华大学出版社,2009[2] Harvey M.Deitel,Paul J.Deitel编著聂雪军、贺军译. C程序设计经典教程.清华大学出版社,2006[3] 王敬华、林萍、张清国编著. C语言程序设计教程(第二版). 清华大学出版社,2013[4] 谭浩强著. C程序设计题解与上机指导(第三版). 清华大学出版社,2008[5] 温海、张友、童伟等编著. C语言精彩编程百例. 中国水利水电出版社,2004附录(程序清单)程序源代码:#define N 10#include<stdio.h>struct guard{char name[20];int choice;}gu[N];void main(){int i,j,k,m,total,x,y;int a[N][7],b[7]={0,0,0,0,0,0,0};FILE *fp;fp=fopen("d:\\保安排班方案.txt","w");printf("\n\n**********欢迎使用微微排班软件,本软件代表制作人祝您工作顺利,阖家欢乐**********\n\n**********下面就让我们一起开启排班的旅程吧!**********\n\n");printf("请输入保安总人数:\n");scanf("%d",&total);for(i=0;i<total;i++) //将所有值初始化为一for(j=0;j<7;j++)a[i][j]=1;for(i=0;i<total;i++) //以每个人为线索进行循环{printf("请输入保安的姓名:\n");scanf("%s",gu[i].name);printf("他的选择是:1.周一;2周二;3.周三;4.周四;5.周五;6.周六;7.周日\n"); scanf("%d",&gu[i].choice);if(gu[i].choice==1){a[i][0]=0;b[0]++;}if(gu[i].choice==2){a[i][1]=0;b[1]++;}if(gu[i].choice==3){a[i][2]=0;b[2]++;}if(gu[i].choice==4){a[i][3]=0;b[3]++;}if(gu[i].choice==5){a[i][4]=0;b[4]++;}if(gu[i].choice==6){a[i][5]=0;b[5]++;}if(gu[i].choice==7){a[i][6]=0;b[6]++; //赋值0 }}for(k=0;;k++){for(j=0;j<7;j++)if(b[j]>=total-1){ //判断方案是否可行printf("方案不可行!如下:\n");fprintf(fp,"\n您所输入的数据派出的方案不可行!如下:\n");}fprintf(fp,"\n周一:");printf("\n周一:");for(i=0;i<total;i++)if(a[i][0]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);}fprintf(fp,"\n周二:");printf("\n周二:");for(i=0;i<total;i++)if(a[i][1]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);}fprintf(fp,"\n周三:");printf("\n周三:");for(i=0;i<total;i++)if(a[i][2]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);}fprintf(fp,"\n周四:");printf("\n周四:");for(i=0;i<total;i++)if(a[i][3]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);}fprintf(fp,"\n周五:");printf("\n周五:");for(i=0;i<total;i++)if(a[i][4]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);}fprintf(fp,"\n周六:");printf("\n周六:");for(i=0;i<total;i++)if(a[i][5]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);}fprintf(fp,"\n周日:");printf("\n周日:");for(i=0;i<total;i++)if(a[i][6]==1){printf("%s\t",gu[i].name);fprintf(fp,"%s\t",gu[i].name);} //完成一次printf("\n请问还有其他选择吗?\n1.有;2,没有\n");fprintf(fp,"\n\n\n其他选择:\n");scanf("%d",&m);if(m==1){printf("\n请问是第几个人?他的选择是?");scanf("%d %d",&x,&y);x--;y--;a[x][gu[x].choice-1]=1;a[x][y]=0;b[gu[x].choice-1]--;b[y]++;}else{fprintf(fp,"无");break;}}fclose(fp);}沈阳航空航天大学课程设计报告。