C语言课程设计报告
- 格式:pdf
- 大小:700.31 KB
- 文档页数:22
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语言程序设计,北京:科学出版社,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 #include <stdio.h>void main() { printf(。
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语言程序设计”课程教学结束后的下一学期进行, 历时2周, 40学时。
课程开设的目的在于培养学生分析问题和解决问题的能力, 为学生提供一个动手、动脑、独立实践的机会。
21项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。
著名的瑞士心理学家皮亚杰认为, 知识不是通过教师传授得到的, 而是学生在一定的情境下, 借助他人的帮助, 利用必要的学习资料, 通过意义建构的方式而获得的。
美国项目管理专家约翰·宾认为:“项目是要在一定时间里, 在预算规定范围内需达到预定质量水平的一项一次性任务。
”“项目教学法”是通过实施一个完整的项目而进行的教学活动, 旨在把学生融入有意义的任务完成的过程中, 让学生积极地学习, 自主地进行知识的建构, 在课堂教学中把理论与实践教学有机地结合起来, 充分发掘学生的创造潜能, 提高学生解决实际问题的综合能力。
课程设计报告模板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语言课程设计报告项目背景一、课程目标知识目标: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语言基础知识回顾,重点讲解变量定义、数据类型和运算符。
c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
()(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。
(2)完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。
西安郵電大學C语言课程设计报告题目: 职工工资管理系统院系名称: 计算机学院专业名称: 软件工程班级:学生姓名:学号(8位):指导教师:设计起止时间: 2013年06月03日~2013年06月12日一.设计目的1.通过本课程设计, 强化上机动手能力, 使学生在理论和实践的基础上进一步巩固《c语言程序设计》课程学习的内容, 掌握工程软件设计的基本方法.2.学会将知识应用于实际的方法, 提高分析和解决问题的能力, 增加综合能力.3.为后续各门计算机课程的学习打下坚实基础; 为毕业设计和以后工作打下必要基础。
二.设计内容本设计主要包括了用户登录和主菜单,其中用户登录包括了一下几个功能1.新用户的注.2.用户登.3。
用户密码的修改。
而主菜单包括: 1.职工信息的录.2.职工信息的修.3.选择性排.4.统计人数和工.5. 输出现有的信.6.自定义查询信息。
三. 概要设计1. 功能模块图;1.2. 各个模块详细的功能描述。
2.修改密码的时候, 需要输入原密码, 并且输入两次新的密码必须相同才能完成密码的修改。
3.用户登录: 需要输入用户名和密码, 如果用户名不存在或密码错误会给出相应的提醒, 当输入正确的时候会进入主菜单。
4.新用户注册:需要输入注册的用户和密码, 如果用户明已被注册过会给出相应的提醒。
5.职工信息的输入:是从无开始输入职工的信息, 同样也会给出输入内容的提醒, 当输入最后一次职工的信息为零时结束输入, 同是会将输入的信息写入到文件里。
6.修改职工信息其中包括a.添加职工信息和输入职工信息相同在添加完会提醒是否继续添加。
b.修改员工信息: 此时会出现选择性修改职工的哪项信息,先进行选择再进行修改。
C.删除员工信息: 需要输入所要删除员工的姓名或id进行删除!如果删除不成功或者删除者不存在会给出相应的提醒。
7.统计信息: 会自动的统计现有员工的总人数和现有员工的总工资。
8.输出现有职工的信息: 会显示现在记录的职工的各项信息。
c语言课程设计报告一、课程目标知识目标:1. 让学生掌握C语言的基本语法,包括变量声明、数据类型、运算符、控制结构等;2. 培养学生运用C语言进行程序设计的能力,学会编写简单的程序解决实际问题;3. 使学生了解C语言中的数组、函数和指针等高级概念,并能够灵活运用。
技能目标:1. 培养学生熟练使用C语言编程环境,如Turbo C或Visual Studio等;2. 提高学生的编程技巧,使其能够编写具有逻辑性和可读性的代码;3. 培养学生独立分析问题、设计程序解决问题的能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动探索、自主学习的精神;2. 培养学生严谨、细心的学习态度,使其认识到编程过程中细节的重要性;3. 强调团队协作和交流分享,提高学生的沟通能力和团队意识。
分析课程性质、学生特点和教学要求:1. 课程性质:C语言课程属于信息技术学科,具有实践性和应用性强的特点;2. 学生特点:学生为初中生,具有一定的逻辑思维能力和计算机操作基础,但编程经验不足;3. 教学要求:结合学生特点,注重理论与实践相结合,以实例教学为主,引导学生动手实践。
1. 熟练运用C语言编写简单的程序;2. 掌握C语言的基本语法和编程技巧;3. 提高编程兴趣,形成自主学习、团队协作的良好习惯。
二、教学内容1. C语言基础知识:- 变量与常量的概念及其声明- 数据类型:整型、浮点型、字符型- 运算符:算术、关系、逻辑、赋值运算符- 控制结构:顺序结构、选择结构、循环结构2. 函数与数组:- 函数的定义、声明和调用- 数组的定义、初始化和使用- 一维数组、二维数组的操作3. 指针与字符串:- 指针的概念、声明与使用- 指针与数组的关系- 字符串的基本操作4. 编程技巧与实践:- 编程规范与命名规则- 代码调试与优化- 简单算法的实现(如排序、查找)5. 综合案例分析与编程实践:- 结合实际案例,运用所学知识进行程序设计- 针对不同案例,分析问题、设计算法、编写程序- 案例包括:计算器、成绩管理系统、小游戏等教学内容安排与进度:1. C语言基础知识(2周)2. 函数与数组(2周)3. 指针与字符串(2周)4. 编程技巧与实践(1周)5. 综合案例分析与编程实践(3周)教材章节关联:1. C语言基础知识:教材第1-3章2. 函数与数组:教材第4-5章3. 指针与字符串:教材第6章4. 编程技巧与实践:教材第7章5. 综合案例分析与编程实践:教材第8章及课后习题、拓展案例三、教学方法1. 讲授法:- 对于C语言的基本语法、概念和理论,采用讲授法进行教学,确保学生能够系统地掌握知识;- 讲授过程中注重条理清晰、深入浅出,结合实际案例,提高学生的理解和记忆;- 定期进行知识巩固,通过讲解经典例题,帮助学生深化理解。
C语言课程设计报告课程名称:计算机综合课程设计学院:土木工程学院设计题目:图书信息管理系统级别:A学生姓名:刘轩博学号:05114405同组学生:杨乾学号:05114417指导教师:郭恒宁2015年9月3日目录一.课程设计任务书 (3)二.系统设计 (4)三.模块设计 (9)四.调试及测试 (17)五.设计总结 (22)六.心得体会 (22)七.参考文献 (22)一.课程设计任务书1.题目图书信息管理系统设计(A级)图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:a)系统以菜单方式工作b)图书信息录入功能(图书信息用文本文件形式保存)c)图书信息浏览功能d)查询和排序功能:按书名查询按作者名查询e)图书信息删除功能f)图书信息修改功能2.课程设计要求设计总体要求:采用模块化程序设计;鼓励可视化编程;源程序中应有足够的注释;学生可自行增加新功能模块(视情况可另外加分);必须上机调试通过;注重算法运用,优化存储效率与运算效率;需提交源程序(含有注释)及相关文件(数据或数据库文件);(cpp文件、txt 或dat文件等)提交设计报告书,具体要求见以下说明。
二.系统设计开始进入菜单图书信息录入图书信息浏览选择所需服务图书信息查询图书信息排序图书信息删除图书信息修改退出程序以上是大致的总体流程图,首先进入菜单页面,随后使用switch函数实现选择功能,每个选择后面都有对应的函数,调用相应的函数,实现使用者的要求随后退出函数,返回主界面,进行下一次使用。
这个程序主要使用了结构体和文件等相应的知识,所有的数据以文本文件的方式保存于对应的文件之内,结构体之下是登录号、书名、作者名、编号、出版社、出版商、出版时间、价格等内容,在调用每一个函数时,均需要以不同的方式或只读或只写将文件里的内容写入文件缓冲区,随后进行相应的操作,而后或将数据重新写入文件或直接关闭文件。
然后是具体模块介绍:1.图书信息录入进入函数输入对应的内容并赋给相应的结构体打开文件将结构体写入文件关闭文件该模块实现图书信息录入功能,进入函数后,首先录入登录号,并且登录号与对应的结构体数组编号一致,随后录入书名、作者名、编号、出版社、出版商、出版时间、价格,并依次赋给该结构体对应的部分,然后以ab+的方式打开一个读写二进制文件,用fwrite 函数将结构体内容写入文件,关闭文件,退出函数。
2.图书信息浏览打开文件读取数据到缓冲区输出数据到屏幕关闭文件该模块实现图书信息浏览功能,首先以r只读方式打开文件,然后用fread函数读取数据,配以for循环用printf函数将文件中的数据依次输出到屏幕,然后关闭函数。
3.图书信息查询图书信息查询按照书名查询按照作者查询输入错误打开文件打开文件输入所查书名输入所查作者名查找查找输出结果输出结果返回主菜单该模块实现图书搜索功能,使用者可按照书名和作者名两种方式搜索,首先进入函数,选择两种搜索方式对应的序号,如果不是这两个序号之一,则提示错误重新返回函数开头再次选择,下面以书名搜索为例进行解释,作者名搜索与之类似。
首先打开存储数据的文件,读取数据到缓冲区,输入想要搜索的书名赋给事先定义好的字符数组,然后将书名与数据库里的书名一一对照,如果相同,则输出到屏幕上,继续下一项比照直至将数据全部对照完毕。
如果没有发现相同的书名,则给出提示书库中无此书籍。
随后关闭文件,返回主菜单。
4.图书信息排序打开文件读取文件数据到缓冲区排序将排好序的数据写进文件关闭文件该模块实现图书信息排序功能,此情况用于登录号混乱的时候,为方便浏览,先排序再浏览。
首先打开文件读到缓冲区,按照登录号由大到小的顺序用冒泡法排序,然后将排好序的数据写进文件,关闭文件。
5.图书信息删除打开并读取文件浏览图书信息输入所删图书登录号删除将删除后的数据写进文件关闭文件该模块实现图书信息删除功能,首先浏览图书信息,其过程和图书浏览模块无异,然后输入想要删除的图书对应的登录号,然后将此登录号与数据库中的数据比对,直至发现这本书,然后用后一项覆盖前一项的方式将此图书信息覆盖掉,完成删除,随后将新数据写进文件,关闭文件。
再次浏览删除后的图书信息。
6.图书信息修改打开并读取文件浏览图书信息输入想要修改的登录号输入修改后的内容修改将新数据写进文件关闭文件该模块实现图书信息修改功能,首先浏览图书信息,这与浏览模块无异,然后输入想要修改的图书对应的图书登录号,以及修改后的内容,将新的信息写进一个新的结构体,找到原数据库中对应的图书,覆盖掉,然后将新数据写进文件,关闭文件。
7.退出程序此函数较为简单,当case选项为7时,使用exit(0)退出系统即可。
三.模块设计#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define SIZE10struct book_type{int register_number;//存放登录号char book_name[30];//存放书名char author_name[30];//存放作者名char sort_number[30];//存放分类号char publisher[30];//存放出版社char publish_date[30];//存放出版日期float price;//存放图书价格}book[SIZE],temp;//定义结构体void main(){void input();//输入函数声明void display();//浏览函数声明void search();//查询函数声明void order();//排序函数声明void cancel();//删除函数声明void modify();//修改函数声明for(;;){printf("*****************************************************\n 欢迎使用图书信息管理系统\n*****************************************************\n");printf("请选择您所需要的服务,输入对应的数字并以回车结束\n");printf("1.图书信息录入\n2.图书信息浏览\n3.图书信息查询\n4.图书排序\n5.图书信息删除\n6.图书信息修改\n7.退出图书信息管理系统\n\n");//输出主界面格式int select;scanf("%d",&select);switch(select)//选择所需服务{case1:input();break;case2:display();break;case3:search();break;case4:order();break;case5:cancel();break;case6:modify();break;case7:printf("*****************感谢您的使用,再见!******************\n");exit(0);default:printf("请重新输入正确的选择\n");system("cls");}continue;//每次服务结束后返回主界面}}以上是整个程序的头文件,结构体的定义以及主菜单部分,主菜单部分首先是函数声明,然后用printf函数输出主菜单的界面,随后用switch函数来进行选择所需服务,每个服务背后都有一个函数支撑。
每次服务完后都会返回主界面的原因是switch后的continue语句。
void input()//输入函数{system("cls");//清屏int i;printf("请输入登录号:\n");scanf("%d",&i);book[i].register_number=i;printf("请依次输入书名、作者名、分类号、出版单位、出版时间、价格,之间以空格隔开\n");scanf("%s%s%s%s%s%f",book[i].book_name,book[i].author_name,book[i].sort_number,boo k[i].publisher,book[i].publish_date,&book[i].price);FILE*fp;if((fp=fopen("book.txt","ab+"))==NULL)//为读写打开一个二进制文件{printf("can't open file\n");//如果打开失败,提示不能打开return;}if(fwrite(&book[i],sizeof(struct book_type),1,fp)!=1)//将录入图书信息写进文件printf("file write error\n");fclose(fp);//关闭文件system("cls");//清屏}此函数是图书信息录入函数,用printf函数给出输入提示,然后用scanf函数存入相应的结构体,此时的数据均在缓冲区中,需要写入文件,用fopen打开一个文本文档,用fwrite将其写入文件中存储,记得最后关闭文件即可。
要注意的是每次写入的都是一个结构体的长度。
void display()//浏览函数{system("cls");//清屏FILE*fp;int i;fp=fopen("book.txt","r");//以只读方式打开数据库文件printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("------------------------------------------------------------------------------\n");printf("登录号书名作者名分类号出版单位出版时间价格\n");for(i=1;fread(&book[i],sizeof(struct book_type),1,fp)==1;i++)//将文件数据读到缓冲区printf("%-9d%-12s%-12s%-10s%-15s%-12s%-10.2f\n",book[i].register_number,book[i].book _name,book[i].author_name,book[i].sort_number,book[i].publisher,book[i].publish_date,book [i].price);//将图书信息输出到屏幕上fclose(fp);//关闭文件printf("\n\n");}首先打开数据库文件,以只读方式即可,然后用printf输出屏幕上显示的格式,要标题与下面的内容相对应,自己调试一下输出格式即可,然后将文件读到缓冲区,切记,每次输出的是一个结构体的长度,然后关闭文件,结束。