学生信息管理系统的设计与实现的设计书
- 格式:doc
- 大小:302.50 KB
- 文档页数:30
学生信息管理系统设计报告引言学生管理是相对校园内部学员的管理。
集学生、考勤、成绩、课程等于一体的大型管理系统。
为学校在学生管理等方面提供极大的方便。
不但有利于学校的规范性管理,而且还大大提高了学校的全体教工的工作效率和方便性。
校园学生管理可以说是一项琐碎、繁杂而又必须十分细致的工作,是不能允许时常发生差错的。
数十年前的那种手工操作已远远跟不上近代教育普及、学生数量大增的的情况了,时代的进步决定了学校管理的智能化,而学校要管理到位必然要有完善的管理体系,所以说学生管理的自动化完全是时代进步和教育普及所推动的的必然结果。
合理的利用有助于教育管理的管理系统是校园管理得当的一种优越的体现。
利用计算机对学生管理不仅保证了资料准确度,还成倍的提高了工作效率,而且便于管理、查询、增添等操作。
本软件是主要以高等学校为背景而设计开发的,界面淳朴、使用方便。
本系统主要以班级管理为主,再配以成绩管理、课程管理、学籍管理,是高等院校学生管理必不可缺的好帮手。
本学生管理系统是在张波尔老师的指导下,由刘志强、蔡佳弟、方永福等五位同学合做编制而成的。
主要利用delphi工具开发完成的,系统根据软件工程的原理,采用面向对象的开发方法。
文档资料可分为以下几个部分:第一部分:问题定义报告;第二部分:项目计划任务书第三部分:总体设计说明书第四部分:详细设计说明书第五部分:项目开发总结报告第一章问题定义报告一、定义1. 背景1.1工程名称:学生管理系统1.2工程产品名称:学生管理系统2. 系统性质:概念性3. 定义4. 基本目标开发此学生管理系统软件,以供高等院校教工访问、查询,也为了自我提高软件开发的能力,学习编程的技巧,提高工作设计思想,通过本次的工程开发,以及与辅导老师的交流,使我能从中学习知识、吸取经验,在技术和软件设计思想上同时得到锻炼和提高,从而使总体水平升到一个新的境界。
5. 经济目标由于本系统开发的主要背景(毕业设计)在经济上不注重直接的经济收益,而是注重在开发过程中学习和认识如何开发软件,并且在设计过程当中清楚认识自身的不足之处,并加以弥补为今后从事此项工作打下基础。
江苏畜牧兽医职业技术学院毕业设计(论文)题目:学生信息管理系统的设计与实现姓名:孟成艳学号: 200905173132二级院系部:信息工程系班级: 软件091 专业:软件技术指导教师:毛林职称:讲师二0 一二年六月学生信息管理系统的设计与实现作者孟成艳指导教师毛林【摘要】随着信息时代的来临以及信息化的高速发展,信息的自动化管理已成为当前迫切需要解决的问题。
本论文根据软件工程中软件开发的流程,对系统需求分析、软件设计和编码、功能实现和测试工作进行了详细介绍。
阐述了高校学生信息管理系统的设计、开发及实现过程。
选用了适合于高校学生信息管理的关系数据库理论与设计方法,进行了高校学生信息管理系统数据库的概念结构和逻辑结构设计。
本系统使用Microsoft SQL Server 2005作为数据库,以Microsoft Visual Studio2005作为系统开发工具开发出一套实用的C/S架构的学生信息管理系统。
【关键词】学生信息管理系统;SQL;VisualStudio 2005Student InformationManagement SystemDesign and Implementation【Abstract】With the advent of the information age and the rapid development of information technology, the automation of information management has become an urgent problem to be solved.In this paper, according to the software engineering in software development process, the system needs analysis, software design and coding, function realization and testing are introduced in detail.Elaborated the university student information management system design, development and implementation process.Selection of suitable for the college students information management in relational database theory and design methods, the university student information management system database concept structure and the logical structure design.The system uses Microsoft SQL Server 2005 as database, Microsoft Visual Studio2005 as a development tool developed a set of practical C/S architecture student information management system.【Keywords】Student information management system;SQL;Visual Studio 2005引言1第一章概述11.1 开发背景11.2 开发目标2第二章系统需求分析22.1 需求分析22.2 可行性分析2第三章系统概要设计33.1 数据库设计33.2 功能设计73.3 系统功能设计8第四章详细设计与系统实现104.1 登录窗口设计与实现104.2 主窗体设计与实现124.3 查询分析窗体设计与实现134.4 权限管理窗体设计与实现144.5 退出主窗体16总结与展望17参考文献17致谢18附录1821世纪是信息化的时代,信息化以更快捷更方便为目标来融入各行各业。
学生信息管理系统的设计与实现任务书
嘿,同学们!咱们今天来聊聊学生信息管理系统的设计与实现这档
子事儿。
你想想,一个学校里那么多学生,他们的信息就像满天繁星,多且杂。
如果没有一个好的管理系统,那岂不是像在大海里找一根针,难
上加难?
先说这设计,就好比盖房子得先有个图纸。
咱得明确系统要实现哪
些功能,是能快速查成绩,还是方便看考勤?这得根据学校的实际需
求来定。
比如说,有些学校特别看重学生的综合素质评价,那系统就
得有这方面的详细记录和分析功能。
这就好像你去买鞋,得合脚不是?
再来说实现,这可就像把图纸变成实实在在的房子。
选什么编程语言?数据库怎么搞?这都得仔细琢磨。
就像炒菜,盐放多了咸,放少
了没味。
技术选不好,系统运行起来卡得要命,那可就闹心啦!
而且啊,这个系统的界面也很重要。
得简洁明了,让老师和学生一
看就懂,操作起来顺手。
可不能像走迷宫一样,让人晕头转向。
你说
要是找个信息还得费半天劲,谁愿意用啊?
还有安全问题,学生的信息可都是宝贝,得保护好。
这就像家里的
保险箱,得牢牢锁上,不能让坏人有可乘之机。
另外,系统的维护和更新也不能马虎。
时代在进步,需求在变化,系统也得跟上脚步。
不然就像一辆老旧的车,跑不快还容易出故障。
总之,学生信息管理系统的设计与实现可不是一件简单的事儿,得用心、用脑、用技术,才能打造出一个实用又好用的系统,让学校的管理工作更加高效、便捷。
大家说是不是这个理儿?。
JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
教务管理系统策划书3篇篇一《教务管理系统策划书》一、引言随着学校规模的不断扩大,教务管理工作变得日益复杂。
为了提高教务管理的效率和质量,我们计划开发一套教务管理系统,以实现信息化管理,优化工作流程,提高工作效率。
二、系统目标1. 实现教务管理的信息化,提高数据的准确性和及时性。
2. 优化工作流程,减少繁琐的手工操作,提高工作效率。
3. 提供便捷的查询和统计功能,为教学管理提供有力支持。
4. 增强系统的安全性和稳定性,保障数据的安全。
三、系统功能模块1. 学生信息管理:包括学生基本信息录入、查询、修改、删除等功能。
2. 课程管理:包括课程信息录入、查询、修改、删除,课程安排,选课管理等功能。
3. 教师信息管理:包括教师基本信息录入、查询、修改、删除等功能。
4. 教学计划管理:制定教学计划,查询教学计划执行情况。
5. 成绩管理:包括成绩录入、查询、统计、分析等功能。
6. 教材管理:包括教材信息录入、查询、采购、发放等功能。
7. 系统管理:包括用户管理、权限管理、数据备份、数据恢复等功能。
四、技术选型1. 操作系统:Windows/Linux2. 数据库:MySQL/Oracle3. 开发语言:Java/C4. 前端框架:Bootstrap/Layui五、系统界面设计1. 采用简洁、清晰的界面风格,方便用户操作。
2. 系统界面布局合理,功能区域划分明确。
六、项目时间表1. 需求分析:[具体时间]2. 系统设计:[具体时间]3. 编码实现:[具体时间]4. 测试调试:[具体时间]5. 上线运行:[具体时间]七、项目预算1. 人力成本:[具体金额]2. 技术设备采购:[具体金额]3. 系统开发费用:[具体金额]4. 培训费用:[具体金额]5. 其他费用:[具体金额]八、项目风险评估及应对措施1. 技术风险:系统开发过程中可能遇到技术难题,影响项目进度。
应对措施:提前做好技术储备,组建技术专家组,及时解决问题。
学生信息管理系统的设计与实现学生姓名:曹指导老师:王艳华摘要本课程设计主要解决学生信息的管理问题,设计开发一个简单的学生信息管理系统,实现对学生信息的管理,包括添加、修改、删除,查询,打印信息以及用户管理等方面。
系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
在课程设计中,系统开发平台为Windows XP,程序设计语言采用Visual Basic 6.0,数据库采用SQL Server 2000,程序运行平台为Windows98/2000/XP。
程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在解决实际问题中。
关键词管理系统;学生信息管理;数据库STUDENTS' INFORMATION MANAGEMENT SYSTEM DESIGN AND IMPLEMENTATIONStudent Name: Cao Xiao-fei Advisor: Wang Yan-huaAbstract: The course is designed mainly to solve the problem of management of students' information, a simple design and development of the students' information management system, the realization of student management information system, including add, modify and delete, inquires the, printing information and user management, etc. The system can complete all kinds of information to browse, search, add, delete, modify, etc. Function. In the curriculum design, system development platform for Windows XP, programming language used Visual Basic 6.0, database using SQL Server 2000, the program operation platform for Windows / 2000 / XP. Program through the test and operation, and then realized the design goal, and after appropriate perfect, will can be used in solving practical problems.Key words: Management system; Students' information management; Database目录1引言11.1课题背景 11.2课程设计目的 11.3课程设计任务 2 2系统结构分析 32.1需求分析 32.2功能模块图 3 3数据库设计 53.1 概念设计 53.2 逻辑设计 53.3 物理设计 6 4详细设计94.1登陆模块设计94.2 主界面设计104.3 学籍管理模块设计114.4成绩管理模块设计114.5 查询管理模块设计12 5测试和运行结果135.1测试环境135.2系统测试13 结束语16 参考文献17 附录181 引言1.1课题背景在学生信息管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。
1 引言为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。
随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。
而建立教学管理信息系统是一个很好的解决办法。
1.1项目背景随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求[1];信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视。
1.2编写目的利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。
[2]例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的软件。
[3]在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。
本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。
2 系统分析2.1 需求分析1.需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。
重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。
学生信息管理系统设计说明书一、引言随着教育信息化的不断推进,学生信息管理的重要性日益凸显。
为了提高学校管理的效率和质量,实现学生信息的规范化、科学化管理,我们设计了这套学生信息管理系统。
二、系统目标与功能需求(一)系统目标本系统旨在为学校提供一个高效、便捷、准确的学生信息管理平台,实现学生信息的集中管理、快速查询、统计分析和数据共享,提高学校管理工作的效率和决策的科学性。
(二)功能需求1、学生基本信息管理能够录入、修改、查询和删除学生的基本信息,包括姓名、性别、出生日期、身份证号、家庭住址、联系方式等。
2、学籍管理实现学生学籍的注册、异动(转学、休学、复学、退学等)处理,以及学籍信息的查询和统计。
3、课程管理对学校开设的课程进行管理,包括课程名称、课程代码、学分、授课教师等信息的录入、修改和查询。
4、成绩管理能够录入学生的课程成绩,进行成绩的计算、统计和分析,生成成绩单和成绩报表。
5、奖惩管理记录学生的奖励和处罚信息,包括奖励名称、处罚原因、时间等。
6、系统管理包括用户管理、权限管理、数据备份与恢复等功能,确保系统的安全稳定运行。
三、系统设计(一)总体架构本系统采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统,服务器端负责数据处理和业务逻辑。
系统分为表示层、业务逻辑层和数据访问层三层架构,提高了系统的可维护性和可扩展性。
(二)数据库设计1、数据库选型选用关系型数据库MySQL,以满足系统对数据存储和管理的需求。
2、数据表设计根据系统功能需求,设计了学生信息表(student_info)、学籍信息表(student_status)、课程信息表(course_info)、成绩信息表(grade_info)、奖惩信息表(reward_punish_info)等数据表,并定义了各表的字段、数据类型、约束条件等。
3、数据库关系通过主键和外键建立了数据表之间的关联关系,确保数据的一致性和完整性。
(三)界面设计1、登录界面用户输入用户名和密码进行登录,系统验证用户身份后进入相应的操作界面。
学生学籍管理系统总体设计说明书学生学籍管理系统总体设计说明书一、引言随着信息技术的飞速发展,学生学籍管理作为学校日常管理的重要部分,需要一个高效、可靠、安全的管理系统来支持。
学生学籍管理系统可以帮助学校实现对学生信息的自动化管理,提高管理效率,降低管理成本,同时保证学生信息的完整性和准确性。
本文将详细阐述学生学籍管理系统的总体设计,包括需求分析、系统架构设计、详细设计、测试与维护、运营和推广等方面。
二、需求分析学生学籍管理系统应具备以下功能和性能要求:1、基本信息管理:包括学生基本信息(姓名、性别、年龄、学号等)、家长信息、教师信息等的管理。
2、学籍信息管理:记录学生的学籍状态(如入学、休学、退学等),实现学籍信息的动态管理。
3、成绩信息管理:记录学生的学习成绩,便于教师和学生查询、分析和掌握学习情况。
4、用户权限管理:对不同用户赋予不同的操作权限,保证系统安全性。
5、数据查询与统计:提供灵活的数据查询和统计功能,方便管理者进行决策分析。
6、系统维护:保证系统运行的稳定性,包括数据备份、恢复等功能。
7、报表生成:根据需求生成各类报表,如学生花名册、成绩报表等。
三、系统架构设计基于需求分析,学生学籍管理系统的总体架构设计如下:1、表现层:提供用户交互界面,实现用户输入与系统响应的展示。
2、业务逻辑层:负责处理用户请求,实现业务逻辑。
3、数据访问层:负责与数据库进行交互,实现数据访问操作。
4、数据库层:存储学生学籍管理系统的数据,包括学生信息、学籍信息、成绩信息等。
四、详细设计1、数据存储设计:根据学生学籍管理系统的需求,设计合理的数据库结构,包括学生信息表、学籍信息表、成绩信息表等。
2、数据备份与恢复设计:为实现数据的安全性,系统应具备完善的数据备份与恢复机制,定期备份数据,确保数据丢失后能够及时恢复。
3、用户权限管理设计:根据用户角色划分不同的权限等级,确保系统安全性。
4、数据加密设计:对学生个人信息、学籍信息等敏感数据进行加密处理,保障数据安全。
学生信息管理系统的设计与实现的设计方案1 实习目的课程设计是课程学习后的一个综合性实践教学环节,是对课程理论和课程实验的综合和补充。
它主要培养综合运用已学过的理论和技能去分析和解决实际问题的能力,对加深课程理论的理解和应用、切实加强实践动手能力和创新能力具有重要意义。
课程设计是我们必不可少的一个综合性理论实践环节。
为了融会贯通本课程所学专业理论知识,完成一个较完整的程序设计与计算和程序调试过程,以加深对所学理论的理解与应用,进一步认识和熟悉C语言程序设计中的语句的应用和用途,了解解决实际问题的一般过程,培养综合运用基础理论知识和专业知识去解决实际应用设计问题的能力。
通过综合性课程设计训练,达到以下的目的和要求:1、结合该课程中所学的C语言理论知识,设计一个综合的程序解决具体的实际问题,按要求独立完成设计方案,培养独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;3、掌握综合性程序设计的基本过程;4、掌握综合性程序开发的调试技术,熟悉常用调试方法的使用;5、认真撰写总结报告,培养严谨的作风和科学的态度。
2 需求分析2.1 模块划分及功能根据图书信息管理的需要,建立一个图书管理系统,可将程序分为以下几个模块:图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改、退出图书信息系统。
应该实现的主要功能有:1 系统以菜单方式工作2 图书信息录入功能--输入3 图书信息浏览功能--输出4 查询和排序功能--算法(1)按书名查询(2)按作者名查询5 图书信息的删除与修改2.2 题目分析根据题目的要求,应当把图书信息用结构形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后,吧图书信息送到文件中。
在程序中需实现图书信息录入、浏览、查询、删除和修改等功能的操作,所以需要建立相应的模块来实现,并且还需要提供选择菜单来实现功能,在运行时达到预定的目的。
3 概要设计3.1总体设计方案说明:图书信息管理系统管理员的登录系统菜单选择图书信息录入图书信息浏览图书信息查询图书信息删除图书信息修改图1 程序功能图3.2程序采用的结构:typedef structchar number[10]; 定义登录号char name[20]; 定义书名char author[20]; 定义作者名char publish[50]; 定义出版单位char time[20]; 定义出版时间float price; 定义价格int count; 定义书的本数3.3 各个功能的函数:void putin() 定义录入函数void search_by_name() 定义按书名查询void search_by_author() 定义按作者名查询void search() 定义查询函数void del() 定义删除函数void update() 修改图书信息4.详细设计4.1主函数的算法设计首先运行程序,进入菜单,然后选择操作(运用swith语句),调用各子函数。
在返回操作中运用while语句进行控制返回菜单。
图2 程序总体运行功能示意图4.2各子函数的算法设计4.2.1图书信息录入函数程序运行后输入数字“1”,进行图书信息录入功能图3 图书信息录入函数示意图4.2.2图书信息浏览函数在主菜单进行操作,输入2进入图书信息浏览界面,图书信息进行显示,按任意键返回;4.2.3图书信息的查询函数void search()选择查询方式,1按书号查询,2按书名查询,然后定位,在调用输出函数;图4 图书信息查询函数示意图4.2.4图书信息的删除函数在主菜单进行操作,输入4进入图书信息删除界面,图书信息提示输入要删除信息的编号,按要求输入索要删除图书信息的编号,按回车键进行返回;图5 图书信息删除函数示意图4.2.5图书信息的修改函数在主界面进行操作,输入5进入图书信息修改界面,按显示信息的提示,输入要修改图书信息的编号,进行修改,继续按显示信息的提示依次修改,修改完成后按回车键返回,可输入2进入图书信息浏览进行检验;图6 图书信息修改函数示意图5.调试与测试结果分析在vc的环境下调试程序,进入菜单界面。
(如图7所示)图7 菜单界面5.1图书信息录入从菜单界面输入“1”进入图书信息管理系统的主界面。
(如图8、图9所示)图8 图书信息录入图9 录入图书信息5.2图书信息浏览输入”0”返回菜单主界面,再输入“2”进行图书信息浏览功能;(如图10、图11所示)图10 图书信息浏览图11 浏览图书信息5.3图书信息查询按回车返回菜单界面并输入“3”进行图书信息查询功能;(如图12所示)图12 图书信息查询界面显示1通过查询 2通过作者查询 3退出(如图13、图14所示)图13按书名进行查询图14 按作者名进行查询如果输入信息不符将出现如下界面(如图15所示):图15 查询结果错误5.4 图书信息删除返回并输入4进行图书信息删除功能;(如图16、图17所示)图16 图书信息删除图17 显示删除后的信息5.5图书信息修改返回菜单界面并输“5”进行图书信息修改功能;(如图18所示)图18 图书信息修改返回并查询“图书信息浏览”(如图19所示)图19 图书信息浏览5.6退出图书信息管理系统输入数字“0”退出图书信息管理系统5.7上机调试感想在调试过程中出现了许多错误!特别是查询,修改和删除这三个函数的调试花了很多时间,主要是文件的写入与读出以及菜单调试的问题,还有建立新的也出现问题,说明自己对程序的执行过程理解不够深刻。
6 总结通过这次课程设计,使我们更加熟练的使用C语言进行编程,并且复习并巩固了以前学到的知识。
编程能力也有提高,尤其是在使用函数、指针、数组、结构体、文件等方面有了很大进步,而且还学到了课本中没有的知识。
只有经过实际操作,进行实际编程训练才能更好地发现问题,运用课本知识,在解决实际的问题中发现不足。
在程序中的函数是实现模块化编程的基础,它使程序变得方面易懂,对修改起了很大作用,降低了编程的难度。
一个函数就是一个功能,它使各个功能之间有了一定的独立性,但也有了一定的联系性。
在程序的调试过程中,也加深了对函数的理解,并更好的运用了函数。
结构体的使用,为本程序提供了很大方便,也提高了程序的可读性,结构数组方便了对数据的管理。
并且,在课程设计的过程中,也加深了我们的团队意识,同学间通过讨论,并运用所学的知识,为了我们共同的目的而努力,收获了很多。
参考文献[1] 延红,王付山.C语言程序设计教程[M].:国防工业,2010.152-171.[2] 石柱,何新贵.优序法在软件评价中的应用[J].计算机工程与设计,2002,23(2):45-46.[3] 路明.C语言程序设计(第2版)[M].:邮电大学,2005-12-01.[4] 谭浩强.C程序设计(第二版)[M].清华大学,1998.[5] 王新,雷.C语言课程设计[I].清华大学,2009-12-01.[6] 武子.C程序设计辅导与实训[M].清华大学,2004.附录#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct {char number[10];//书号char name[20];//书名char author[20];//作者char publish[50];//char time[20];//出版时间float price;}mbook;typedef struct {int count;//书的本数mbook book[100];//最大可有100本书}mlibrary;mlibrary library;void save()//保存图书信息。
{FILE *fp;if((fp=fopen("library.doc","w"))==NULL){printf("\n不能保存图书信息\n");return;}fwrite(&library.count,sizeof(int),1,fp);fwrite(library.book,sizeof(library.book[0]),library.count,fp); }void putin() /*定义录入函数*/{int y=1;system("cls");while(y){printf("\t请输入您的书籍的书号:");scanf("%s",library.book[library.count].number);printf("\t请输入书名:");scanf("%s",library.book[library.count].name);printf("\t请输入作者名:");scanf("%s",library.book[library.count].author);printf("\t请输入:");scanf("%s",library.book[library.count].publish);printf("\t请输入出版时间:");scanf("%s",library.book[library.count].time);printf("\t请输入该书的价格:");fflush(stdin);scanf("%f",&library.book[library.count].price);library.count++;printf("\n是否继续录入(1.继续;0,退出录入):");fflush(stdin);scanf("%d",&y);if (y!=1){y=0;break;}}save();}void lookup(){system("cls");printf("图书号\t图书名\t作者名\t\t出版日期\t图书价格\n");for (int i=0;i<library.count;i++){printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,library.b ook[i].name,library.book[i].author,library.book[i].publish,library.book[ i].time,library.book[i].price);}fflush(stdin);getchar();}void search_by_name() /*定义按书名查询*/{char s2[20];int flag=1;printf("\n请输入要查询的书名: ");fflush(stdin);scanf("%s",s2);printf("图书号\t图书名\t作者名\t\t出版日期\t图书价格\n");for(int i=0;i<library.count;i++ )if(strcmp(s2,library.book[i].name)==0){flag=0;printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,library.b ook[i].name,library.book[i].author,library.book[i].publish,library.book[ i].time,library.book[i].price);}if (flag){printf("cannot found!");}fflush(stdin);getchar();}void search_by_author() /*定义按作者名查询*/{char s3[20];int flag=1;printf("请输入要查询的书的作者: ");fflush(stdin);scanf("%s",s3);printf("图书号\t图书名\t作者名\t\t出版日期\t图书价格\n");for(int i=0;i<library.count;i++ )if(strcmp(s3,library.book[i].author)==0){flag=0;printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,library.b ook[i].name,library.book[i].author,library.book[i].publish,library.book[ i].time,library.book[i].price);}if (flag){printf("cannot found!");}fflush(stdin);getchar();}void search() /*定义查询函数*/{int a;system("cls"); /*进行清屏*/printf("\t\t******************************\n");printf("开始查询\n");printf("\t\t\t1---------------search_by_name\n");printf("\t\t\t2---------------search_by_writer\n");printf("\t\t\t0---------------exit\n");printf("\t\t******************************\n") ;printf("\t\t请选择你想要的查询方式:");fflush(stdin);scanf("%d",&a);switch(a){case 1:search_by_name();break;case 2:search_by_author();break;case 0:return;}}void del() /*定义删除函数*/{char number[10];system("cls"); /*清屏*/printf("\n Please type in the number of the book you want to delete:");fflush(stdin);scanf("%s",number);int i;for (i=0;i<library.count;i++){if(strcmp(number,library.book[i].number)==0)break;}if (i!=library.count){for(;i<library.count-1;i++){strcpy(library.book[i].name,library.book[i+1].name);strcpy(library.book[i].number,library.book[i+1].number);strcpy(library.book[i].publish,library.book[i+1].publish);strcpy(library.book[i].author,library.book[i+1].author);strcpy(library.book[i].time,library.book[i+1].time);library.book[i].price=library.book[i+1].price;}library.count--;}elseprintf("\n cannot found!\n");save();fflush(stdin);getchar();}void update()//修改图书信息{char number[10];system("cls"); /*清屏*/printf("\n Please type in the number of the book you want to delete:");fflush(stdin);scanf("%s",number);int i;for (i=0;i<library.count;i++){if(strcmp(number,library.book[i].number)==0){printf("图书号\t图书名\t作者名\t\t出版日期\t图书价格\n"); printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,library.book [i].name,library.book[i].author,library.book[i].publish,library.book[i]. time,library.book[i].price);break;}}if (i!=library.count){mbook book;printf("\n\t\t请输入修改后此图书的信息\n");printf("\t请输入图书号:");scanf("%s",book.number);printf("\t请输入图书名:");scanf("%s",);printf("\t请输入作者名:");scanf("%s",book.author);printf("\t请输入:");scanf("%s",book.publish);printf("\t请输入出版时间:");scanf("%s",book.time);printf("\t请输入该书的价格:");fflush(stdin);scanf("%f",&book.price);strcpy(library.book[i].name,);strcpy(library.book[i].number,book.number);strcpy(library.book[i].publish,book.publish);strcpy(library.book[i].author,book.author);strcpy(library.book[i].time,book.time);library.book[i].price=book.price;save();}elseprintf("\n cannot found!\n");fflush(stdin);getchar();}void main(){FILE *fp;if((fp=fopen("library.doc","r"))==NULL){printf("\n不能打开图书信息库\n");fp=fopen("library.doc","w+");printf("\n初始化图书信息库,初始化之后要重启程序\n");library.count=0;fwrite(&library.count,sizeof(int),1,fp);fclose(fp);return;}fread(&library.count,sizeof(int),1,fp);fread(library.book,sizeof(library.book[0]),library.count,fp);fclose(fp);int a;do{system("cls");printf("\n\n\n\n\n\t\t\t\t图书信息管理系统\t\t\t\t\n");printf("\t\t*********************************************\n");printf("\t\t\t1 ------------------图书信息录入\n");printf("\t\t\t2 ------------------图书信息浏览\n");printf("\t\t\t3 ------------------图书信息查询\n");printf("\t\t\t4 ------------------图书信息删除\n");printf("\t\t\t5 ------------------图书信息修改\n");printf("\t\t\t0 -----------------退出图书信息系统\n");printf("\t\t*********************************************\n");printf("\t\tPlease Enter Choose: ");fflush(stdin);scanf("%d",&a);switch(a){case 1:putin();break;case 2:lookup();break;case 3:search();break;case 4:del();break;case 5:update();break;case 0:printf("\n\n退出\n\n");break;default:printf("\n序号不对\n");}}while(a!=0);save();}注:实习成绩由指导教师或答辩小组评定出成绩,分优秀、良好、中等、及格、不及格五级,分别给小组的每个成员打分。