C语言课程设计——教材管理系统

合集下载

C语言程序课程设计图书管理系统方案

C语言程序课程设计图书管理系统方案

C语言程序课程设计报告标题:图书管理系统专业:软件工程类:设计主题图书馆管理系统主要包括管理图书的库存信息,每本书的借阅信息,每个人的借阅信息。

每本书的库存信息包括数量、书名、作者、出版日期、金额、类别、总入库数量、当前库存、已借出图书数量等。

每本借书包括以下信息:编号、书名、金额、借书证号、借阅日期、到期日期、罚款金额等。

每个人的图书馆信息包括借书证号、班级、学号等。

该系统的功能包括以下几个方面:一、借阅资料管理要求对图书、期刊、报纸、期刊进行分类管理,这样操作会更加灵活方便。

可以随时添加、删除、修改、查询等相关资料。

b、借贷管理(1)借贷操作(2)还书操作(3)更新治疗提示:以上处理需要相互配合,通过编辑赔偿和违约金金额来完成图书借还业务的各种登记。

例如,读者在还书时,不仅要更新图书的库存信息,还要自动计算图书的罚款金额。

并显示读者当天到期未还图书的所有信息。

c、读者管理读者等级:对借阅的读者进行分类,比如可以分为教师和学生两类。

并定义每类读者可以借阅的图书数量及相关借阅时间等信息。

读者管理:可以录入读者信息,以及挂失或注销读者、查询等服务。

D.统计分析可以随时进行统计分析,及时了解当前的借阅情况和相关数据状态。

统计分析包括借阅列表、数据状态统计、借阅统计等功能分析,显示当日所有到期未还的图书信息。

e系统参数设置:您可以设置相关的系统服务器参数,如违约金金额、最大借用天数等。

根据题目分析这项工作分为六个模块。

1.图书数据2.借款人信息3.借用模块4.还书模块5.照看书籍6.查询模块模块一:书号,书名,作者,出版时间,价格,份数,页数。

模块二:单位、借阅书目、借阅时间模块3:输入书名、书号、借书证。

模块四:登记书号,还书,处理罚款。

模块5:管理书库中的书籍,将新书入库,删除旧书,堆栈查询模块6:图书查询。

数据测试源代码汉字菜单可以参照以下代码编写:#包含“stdio.h”。

主(){ char c;int I;做{clr SCR();for(I = 0;i < 80i++)printf(" * ");printf("\t 1:添加书籍\ n ");printf("\t 2:列出书籍\ n ");printf(" \ t 3:s reach books \ n ");printf("\t 4:借书\ n ");printf("\t 5:返回图书\ n ");printf("\t6:退出\n ")printf(" \ t请选择输入选项[1 \ \ 2 \ \ 3 \ \ 4 \ \ 5 \ \ 6]:\ n ");做{c = getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!='6');getchar();开关(c){事例“1”:输入();打破;案例“2”:del();打破;事例“3”:find();打破;case“4”:arrange();打破;事例“5”:right();打破;案例“6”:出口(0);}Printf("按任意键返回主菜单:\ n ");getchar();clr SCR();} while(1);}#include <stdio.h >定义图书结构*/结构书{int _ id#include <stdlib.h >#include <string.h >#定义借入1#定义NOBORROW 0/*//数字,唯一char _ name[32];//书的名称,不唯一int _ type//书的类型,不唯一int _ status//书的状态,借出/未借出int _ count//图书借出的次数struct Book * _ next//下一本书结构书* _ prev//前一本书};定义书籍类型*/操作目录提示*/操作目录提示1 */添加图书类型并显示用户信息*/添加图书状态并显示用户信息。

c语言书籍管理系统课程设计

c语言书籍管理系统课程设计

c语言书籍管理系统课程设计一、课程目标知识目标:1. 学生能理解C语言在书籍管理系统中的应用,掌握基本的数据类型、运算符、控制结构等知识;2. 学生能掌握文件操作、指针等C语言高级特性,并应用于书籍管理系统的开发;3. 学生了解并掌握书籍管理系统中的模块划分,如用户模块、书籍模块、借阅模块等。

技能目标:1. 学生能运用C语言编写简单的书籍管理系统程序,实现用户注册、登录、查询书籍、借阅书籍等功能;2. 学生能通过调试和优化程序,提高书籍管理系统的稳定性和性能;3. 学生能运用所学知识解决实际编程问题,具备一定的编程实践能力。

情感态度价值观目标:1. 学生通过本课程的学习,培养对计算机编程的兴趣和热情,提高自主学习能力和团队协作能力;2. 学生在学习过程中,养成认真、严谨、求实的科学态度,勇于面对和解决问题;3. 学生通过书籍管理系统项目实践,培养创新意识,认识到计算机技术在现实生活中的重要作用。

课程性质:本课程为C语言编程实践课程,以项目驱动的方式进行教学,注重培养学生的编程能力和实际应用能力。

学生特点:学生为高中年级,已具备一定的C语言基础,对编程有一定的兴趣,但实践能力有待提高。

教学要求:教师应注重理论与实践相结合,引导学生主动参与项目实践,培养其分析问题、解决问题的能力。

同时,关注学生的个体差异,给予个性化的指导和帮助。

通过课程目标的分解,确保学生达到预期的学习成果。

二、教学内容1. C语言基础回顾:数据类型、变量、常量、运算符、表达式、控制结构(顺序、选择、循环)。

2. 函数与模块化编程:函数定义、调用、参数传递;模块化编程思想,编写功能独立的模块。

3. 文件操作:文件的打开、关闭、读写操作;文件的随机访问。

4. 指针与数组:指针的概念、运算;指针与数组的关系;动态内存分配。

5. 结构体与共用体:定义和使用结构体、共用体;结构体数组;结构体指针。

6. 书籍管理系统需求分析:分析系统功能模块,如用户管理、书籍管理、借阅管理等。

教材管理系统

教材管理系统

课程设计任务书系电子信息工程专业班学号一、课程设计题目:教材管理系统二、课程设计工作自20止课程设计内容:运用所学的C语言知识,编制和调试程序,具有如下功能:(1)教材录入(教材信息至少应包括书名、作者、出版社、总数量等数据项)(2)教材查询可以按照书名、作者、出版社分别进行查询(3)购买教材及教材的出卖(4)缺书统计(5)将教材信息存入磁盘中。

课程设计要求:1、采用模块化程序设计方法;在程序界面,以菜单的形式调用各功能函数;程序可读性强,界面友好;输出形式美观。

2、用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

3、用户界面中的菜单至少应包括“教材录入”、“教材查询”、“教材出售”、“统计缺书”、“教材数据保存”、“退出”6项。

4、代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:课程结束后,上交课程设计说明书和源程序。

课程设计说明书的内容如下:●课程设计任务书●程序设计题目●需求分析(分析题目的要求)●程序框图(总体框图和各功能模块框图,使用传统流程图或N-S框图)●核心技术的实现方法及程序源代码及注释●个人总结●[参考资料]指导教师:____________________学生签名:____________________目录一、程序设计题目 (1)二、需求分析 (1)三、程序流程图 (2)图6 教材缺书统计函数 (6)四、核心技术的实现方法、程序段及注释 (6)五、个人总结 (9)六、参考文献 (10)七、附完整程序 (10)一、程序设计题目教材管理系统,具体要求如下:1、教材信息录入2、可以以书名,作者,出版社三种方式进行教材查询3、可以进行教材的购买与出售4、对所缺教材的种类进行统计5、退出系统注:教材的具体信息需自行设定二、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:1、教材信息录入(),2、教材的查询(),3、实现教材的出售(),4、缺书统计5、保存教材的具体信息(),6、退出系统()。

C语言课程设计-教材管理系统

C语言课程设计-教材管理系统

C语言课程设计-教材管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法、数据结构和算法,能够运用C 语言编写简单的应用程序。

通过本课程的学习,学生应达到以下知识目标:1.理解C语言的基本语法,包括数据类型、运算符、控制结构等。

2.掌握C语言的基本数据结构,包括数组、链表、栈和队列。

3.了解常用的算法,包括排序算法、查找算法和动态规划算法。

4.能够使用C语言编写简单的程序,解决实际问题。

5.能够使用C语言进行调试,找出程序中的错误并加以修正。

6.能够阅读和理解C语言的程序代码,进行程序设计。

情感态度价值观目标:1.培养学生的编程兴趣,使学生能够主动学习编程。

2.培养学生的团队协作精神,使学生在团队项目中能够有效合作。

3.培养学生的创新意识,使学生能够尝试使用编程解决实际问题。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构和算法。

具体的教学大纲如下:1.C语言的基本语法:数据类型、运算符、控制结构等。

2.C语言的基本数据结构:数组、链表、栈和队列。

3.常用的算法:排序算法、查找算法和动态规划算法。

每个部分的教学内容都将结合实际的编程案例进行讲解,使学生能够更好地理解和应用所学知识。

三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

通过多样化的教学方法,激发学生的学习兴趣和主动性。

1.讲授法:用于讲解C语言的基本语法、数据结构和算法。

2.讨论法:用于讨论编程问题,促进学生之间的交流和合作。

3.案例分析法:通过分析实际的编程案例,使学生更好地理解和应用所学知识。

4.实验法:通过编写和调试程序,培养学生的编程能力和问题解决能力。

四、教学资源本课程将使用教材《C语言程序设计》作为主要教学资源,同时辅以参考书、多媒体资料和实验设备。

教材和参考书将用于引导学生学习,多媒体资料将用于丰富教学内容,实验设备将用于培养学生的编程能力和问题解决能力。

五、教学评估本课程的评估方式包括平时表现、作业和考试。

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

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

c语言课程设计图书管理系统一、教学目标本课程的教学目标是使学生掌握C语言基础知识,学会使用C语言进行程序设计,能够运用C语言实现图书管理系统的功能。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,理解图书管理系统的业务流程和需求。

2.技能目标:学生能够运用C语言编写程序,实现图书管理系统的各个功能模块,如图书信息的添加、删除、修改和查询等。

3.情感态度价值观目标:培养学生对计算机编程的兴趣和热情,增强学生的自主学习能力和团队协作精神,使学生在解决实际问题时能够积极思考、勇于尝试。

二、教学内容本课程的教学内容分为五个部分:1.C语言基础知识:包括基本语法、数据类型、运算符、控制结构等。

2.函数与模块化编程:学习函数的定义、声明和调用,掌握模块化编程的方法和技巧。

3.图书管理系统需求分析:了解图书管理系统的业务流程,明确系统需求。

4.图书管理系统功能实现:使用C语言编写程序,实现图书管理系统的各个功能模块。

5.程序调试与优化:学习使用调试工具,掌握调试和优化程序的方法。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解C语言基本语法和概念,引导学生掌握知识要点。

2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题。

3.实验法:学生动手编写程序,实现图书管理系统的功能,培养实际操作能力。

4.讨论法:分组讨论问题,培养学生的团队协作能力和解决问题的能力。

四、教学资源本课程所需教学资源包括:1.教材:《C程序设计语言》或《C语言入门教程》等。

2.参考书:《C语言编程实例解析》、《C语言常用算法解析》等。

3.多媒体资料:教学PPT、视频教程、编程案例等。

4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。

5.在线资源:编程论坛、博客、教程等。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答情况、团队合作表现等,占总评的30%。

c语言课课程设计管理系统

c语言课课程设计管理系统

c语言课课程设计管理系统一、教学目标本章节的教学目标是使学生掌握C语言课程设计管理系统的基本概念、原理和方法,培养学生运用C语言进行程序设计的能力,提高学生的实际操作技能和解决实际问题的能力。

具体来说,知识目标包括:1.掌握课程设计管理系统的基本概念和原理。

2.理解C语言在课程设计管理系统中的应用。

3.熟悉常用的数据结构和算法。

技能目标包括:1.能够使用C语言进行程序设计。

2.能够运用常用的数据结构和算法解决实际问题。

3.能够独立完成课程设计管理系统的开发和调试。

情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。

2.培养学生的自主学习能力和探究精神。

3.培养学生对C语言和课程设计管理系统的兴趣和热情。

二、教学内容本章节的教学内容主要包括C语言的基本语法、数据结构、算法和课程设计管理系统的基本概念和原理。

具体来说,教学大纲如下:1.C语言的基本语法:数据类型、变量、运算符、表达式、语句等。

2.数据结构:数组、链表、栈、队列、树、图等。

3.算法:排序算法、查找算法、动态规划算法等。

4.课程设计管理系统的基本概念和原理:系统结构、模块划分、功能实现等。

三、教学方法为了实现教学目标,本章节将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过教师的讲解,使学生掌握C语言和课程设计管理系统的基本概念和原理。

2.讨论法:通过小组讨论,培养学生的团队合作意识和沟通能力。

3.案例分析法:通过分析实际案例,使学生了解课程设计管理系统的应用和实现方法。

4.实验法:通过实际操作,培养学生运用C语言进行程序设计的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《C语言程序设计》等。

2.参考书:《C语言编程实践》、《数据结构与算法》等。

3.多媒体资料:课件、教学视频等。

4.实验设备:计算机、网络设备等。

以上教学资源将有助于丰富学生的学习体验,提高学生的实际操作技能和解决实际问题的能力。

C语言课程设计-图书信息管理系统设计

C语言课程设计-图书信息管理系统设计

图书信息管理系统设计一、【要求】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

设计一图书信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)图书信息录入功能(3)图书信息浏览功能(4)图书信息查询功能(5)图书信息的删除与修改功能二、【各功能模块】1、菜单模块《1》、主函数:建立menu( )void main(){menu();}void menu(){int a;do{printf(” ******赵毅******\n”);printf("\n”);printf(”******中国地质大学******\n”);printf("\n");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\t6 --——-———--——--——图书信息追加\n”);printf(”\t\t\t0 ——--—---—--——---退出图书信息系统\n”);printf("\t\t********************************************\n”);printf(”\t\tplease choose:”);scanf("%d",&a);switch(a){case 1:input();break;case 2:list();break;case 3:search();break;case 4:del();break;case 5:revise();break;case 6:append();break;case 0:exit(0);default:printf(”\n序号不对\n”);}}while(a!=0);}【定义图书信息结构体】#include<stdio。

c语言课程设计课程管理系统

c语言课程设计课程管理系统

c语言课程设计课程管理系统一、教学目标本课程旨在通过C语言编程实现一个简单的课程管理系统。

通过本课程的学习,学生将掌握C语言的基本语法和编程技巧,能够熟练使用C语言进行程序设计。

同时,学生将学会如何运用面向过程的编程思想解决实际问题,培养逻辑思维能力和解决问题的能力。

此外,通过课程管理系统的开发,学生将了解软件开发的基本流程,提高团队合作和沟通的能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和数据结构。

2.理解面向过程的编程思想和程序设计的基本原则。

3.了解软件开发的基本流程和项目管理的方法。

技能目标包括:1.能够使用C语言编写简单的程序,解决实际问题。

2.具备团队合作和沟通的能力,能够在团队中发挥自己的作用。

3.能够运用C语言进行课程管理系统的开发,实现系统的功能。

情感态度价值观目标包括:1.培养对计算机科学和编程的兴趣和热情。

2.培养积极主动的学习态度,养成良好的学习习惯。

3.培养责任心和团队精神,明白团队合作的重要性。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、程序设计方法和课程管理系统的开发。

具体安排如下:1.C语言的基本语法:介绍C语言的数据类型、运算符、表达式、语句等基本语法知识。

2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在C语言中实现和应用这些数据结构。

3.程序设计方法:介绍程序设计的基本原则和方法,如顺序结构、分支结构、循环结构等,以及如何运用这些方法解决实际问题。

4.课程管理系统的开发:讲解如何使用C语言开发一个简单的课程管理系统,包括系统的需求分析、设计、实现和测试等步骤。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。

包括:1.讲授法:通过讲解C语言的基本语法、数据结构和程序设计方法,让学生掌握课程的基本知识。

2.案例分析法:通过分析实际案例,让学生学会如何运用C语言解决实际问题。

教材管理系统c语言课程设计

教材管理系统c语言课程设计

教材管理系统c语言课程设计一、教学目标本课程的教学目标是使学生掌握教材管理系统的基本原理和编程方法,能够运用C语言实现简单的教材管理系统。

具体目标如下:1.知识目标:–理解C语言的基本语法和数据类型。

–掌握控制结构和函数的定义及使用。

–了解教材管理系统的基本概念和设计原则。

2.技能目标:–能够运用C语言编写简单的程序。

–能够运用面向对象的方法设计教材管理系统。

–具备基本的调试和解决问题的能力。

3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力。

–培养学生的创新思维和问题解决能力。

–培养学生对计算机科学和编程的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法和数据类型、控制结构和函数的定义及使用,以及教材管理系统的设计和实现。

具体内容包括:1.C语言的基本语法和数据类型:介绍C语言的基本语法规则,包括变量、常量、运算符、表达式等,以及基本数据类型如整数、浮点数、字符等。

2.控制结构:介绍条件语句和循环语句的使用,包括if语句、switch语句、for循环、while循环等,以及它们的嵌套和应用。

3.函数的定义及使用:介绍函数的定义、声明和调用,包括返回值、参数传递等,以及函数的递归调用和应用。

4.教材管理系统的设计和实现:介绍教材管理系统的基本概念和设计原则,包括系统的功能模块划分、数据结构设计、算法实现等,以及系统的测试和优化。

三、教学方法本课程的教学方法采用讲授法、讨论法、案例分析法和实验法相结合的方式,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:通过讲解和示例的方式,系统地传授C语言的基本语法和数据类型、控制结构和函数的定义及使用,以及教材管理系统的设计和实现。

2.讨论法:通过小组讨论和课堂讨论的方式,引导学生主动思考和探索问题,培养学生的团队合作意识和沟通能力。

3.案例分析法:通过分析实际案例,让学生了解教材管理系统的设计和实现过程,培养学生的创新思维和问题解决能力。

课程管理系统c语言课程设计

课程管理系统c语言课程设计

课程管理系统c语言课程设计一、课程目标知识目标:1. 学生能理解课程管理系统的基本原理,掌握C语言在系统开发中的应用。

2. 学生能运用C语言实现课程管理系统的基本功能,如数据录入、查询、修改和删除。

3. 学生了解结构体、数组、文件操作等C语言知识点在课程管理系统中的作用。

技能目标:1. 学生能运用所学C语言知识,独立完成课程管理系统的设计与编码。

2. 学生具备分析问题、解决问题的能力,能够根据需求调整和优化系统功能。

3. 学生掌握基本的调试技巧,能够排除程序中的错误,确保系统稳定运行。

情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,提高自主学习能力和团队协作精神。

2. 学生在课程学习过程中,树立正确的价值观,认识到编程对于解决实际问题的意义。

3. 学生通过课程管理系统设计与实现,增强自信心,培养克服困难的意志。

课程性质:本课程为C语言程序设计实践课程,以课程管理系统为案例,结合课本知识,锻炼学生的编程能力和实际应用能力。

学生特点:学生已具备一定的C语言基础,具有较强的求知欲和动手能力,但对复杂系统的开发尚缺乏经验。

教学要求:教师应注重理论与实践相结合,引导学生主动探究,关注个体差异,提供个性化指导,确保学生在课程学习过程中达到预期目标。

同时,注重培养学生的编程思维和解决问题的能力,为后续学习打下坚实基础。

二、教学内容1. 系统需求分析:介绍课程管理系统的功能需求,分析系统所需处理的数据类型和结构,明确各功能模块之间的关系。

2. C语言基础知识回顾:回顾结构体、数组、文件操作等基础知识,强调在课程管理系统中的应用。

- 结构体:定义课程信息、学生信息等数据结构。

- 数组:存储和管理课程、学生等数据。

- 文件操作:实现数据的持久化存储。

3. 功能模块设计:- 数据录入:设计并实现课程、学生等数据的录入功能。

- 数据查询:设计并实现课程、学生等数据的查询功能。

- 数据修改:设计并实现课程、学生等数据的修改功能。

C语言课程设计管理系统

C语言课程设计管理系统

C语言课程设计管理系统一、教学目标本章节的教学目标是使学生掌握C语言课程设计管理系统的基本概念、原理和方法。

具体包括:1.知识目标:学生能够理解C语言课程设计管理系统的起源、发展和现状,掌握其基本原理和关键技术。

2.技能目标:学生能够运用C语言实现简单的管理系统,如学生信息管理系统、图书管理系统等,并具备一定的调试和优化能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高其创新意识和团队协作能力,使其认识到C语言在现代社会中的重要性和应用价值。

二、教学内容本章节的教学内容主要包括以下几个部分:1.C语言课程设计管理系统的基本概念:介绍管理系统的设计和实现过程,以及C语言在管理系统中的应用。

2.管理系统的关键技术:讲解数据结构、算法、界面设计等方面的知识,为学生实现管理系统奠定基础。

3.管理系统的设计与实现:通过实例分析,引导学生掌握管理系统的整体设计思路,培养学生实际动手能力。

4.调试与优化:介绍调试工具的使用和方法,培养学生解决实际问题的能力。

三、教学方法为了实现本章节的教学目标,将采用以下教学方法:1.讲授法:讲解C语言课程设计管理系统的基本概念、原理和技术。

2.案例分析法:分析实际的管理系统案例,使学生更好地理解管理系统的设计和实现过程。

3.实验法:安排实验室实践环节,让学生亲自动手实现简单的管理系统。

4.讨论法:学生进行课堂讨论,培养学生的团队协作能力和创新意识。

四、教学资源为了支持本章节的教学,将准备以下教学资源:1.教材:《C语言程序设计》、《管理系统原理与实践》等。

2.参考书:《C语言编程指南》、《数据结构与算法》等。

3.多媒体资料:课件、教学视频、实例代码等。

4.实验设备:计算机、网络设备、调试工具等。

5.在线资源:相关论坛、博客、教程等。

五、教学评估本章节的教学评估主要包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以体现学生的学习态度和积极性。

c语言书籍管理系统课程设计

c语言书籍管理系统课程设计

c语言书籍管理系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,能够运用C语言实现简单的书籍管理系统。

通过本课程的学习,学生将能够理解C语言的基本语法和数据结构,掌握基本的输入输出操作和文件操作,培养编程思维和解决问题的能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和数据结构。

2.理解书籍管理系统的需求和设计原理。

技能目标包括:1.能够使用C语言编写简单的书籍管理程序。

2.能够进行基本的输入输出操作和文件操作。

情感态度价值观目标包括:1.培养学生的编程思维和解决问题的能力。

2.培养学生对计算机科学和软件开发的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法和数据结构,以及书籍管理系统的需求分析和设计。

具体来说,教学大纲如下:1.第一章:C语言的基本语法和数据类型。

2.第二章:控制结构和函数。

3.第三章:输入输出操作和文件操作。

4.第四章:书籍管理系统的需求分析和设计。

教学内容将根据教材的章节进行安排和进度,同时结合实际的编程案例进行讲解和练习。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体来说,教学方法如下:1.讲授法:通过讲解和示范,让学生掌握C语言的基本语法和数据结构。

2.讨论法:通过小组讨论和问题解答,培养学生的编程思维和解决问题的能力。

3.案例分析法:通过分析实际的编程案例,让学生理解书籍管理系统的需求和设计原理。

4.实验法:通过编写和调试代码,让学生掌握基本的输入输出操作和文件操作。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备等。

具体来说,教学资源如下:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用多种评估方式,包括平时表现、作业、考试等。

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

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

C语言课程设计图书管理系统Books Management System学生姓名张朝柱学院名称徐州工程学院学号20130566140班级13计转本专业名称计算机科学与技术指导教师李子龙2016年5月10日一、需求分析为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。

使用c语言编写了图书管理系统。

本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。

实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。

所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。

图书信息包括编号、书名、作者、数量、在库状态等。

图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。

整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。

二、算法设计:1.设计思想:整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。

进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。

在设计程序时,实现了程序的模块化、结构化。

在主函数中调用各种子函数,操作界面简单,易操作。

2,设计表示:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。

主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。

(2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。

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

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

图书管理系统c语言课程设计一、课程目标知识目标:1. 学生能够理解图书管理系统的基本概念,掌握C语言实现数据结构(如链表)的基本方法。

2. 学生能够运用C语言编写程序,实现图书管理系统的基本功能,如图书的增删改查。

3. 学生能够理解文件操作在图书管理系统中的应用,实现数据的持久化存储。

技能目标:1. 学生能够运用所学知识,独立完成图书管理系统的需求分析、设计、编码和测试。

2. 学生通过课程设计,提高问题分析能力,培养解决实际问题的编程能力。

3. 学生能够运用调试工具,找出并修正程序中的错误,提高程序调试能力。

情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,树立正确的计算机科学观念。

2. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。

3. 学生在解决实际问题的过程中,体会编程带来的成就感,增强自信心。

课程性质:本课程为C语言程序设计课程的实践环节,旨在让学生将所学理论知识应用于实际项目中,提高编程实践能力。

学生特点:学生已具备C语言基础知识,具有一定的编程能力,但实际项目经验较少。

教学要求:注重理论联系实际,引导学生独立思考,培养学生解决实际问题的能力。

通过课程设计,使学生能够将所学知识综合运用,提高编程实践技能。

二、教学内容1. 数据结构基础:回顾教材中关于数据结构的基础知识,重点复习链表的结构及其操作,为图书管理系统设计打下基础。

- 教材章节:第三章 数据结构,第四节 链表2. 文件操作:学习C语言文件操作相关知识,掌握文件读写方法,为图书信息持久化提供支持。

- 教材章节:第五章 文件,第一节 文件的打开与关闭,第二节 文件的读写3. 系统需求分析:引导学生学习如何分析图书管理系统的功能需求,明确课程设计目标。

- 教材章节:第二章 程序设计基础,第三节 结构化程序设计4. 系统设计与实现:根据需求分析,设计系统功能模块,使用C语言实现图书管理系统的增删改查等功能。

图书管理系统的设计(C语言)

图书管理系统的设计(C语言)

图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1 .新进熟土基本信息的输入2 .图书基本信息的查询3 .对撤销图书信息的删除4 .为借书人办理注册5 .办理借书手续6 .办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。

这是本人大一第二学期初 C 语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中居然在QQ 网络硬盘中找到了当初的teta 版,发布于此,以作记念。

C 源代码如下:#include〈stdio 。

h〉#include<stdlib。

h〉#include〈string 。

h>struct book {char book_name [30];int bianhao;double price;char author[20];char state [20] ;char name[20];char sex [10];int xuehao;struct book *book_next;};struct club {char name [20];char sex[10];int xuehao;char borrow [30];struct club *club_next;};void Print_Book(struct book *head_book);/*浏览所有图书信息*/void Print_Club(struct club *head_club);/*浏览所有会员信息*/struct book *Create_New_Book();/*创建新的图书库, 图书编号输入为0 时结束*/struct book *Search_Book_bianhao(int bianhao,struct book *head_book);struct book *Search_Book_name (char *b_name,struct book *head_book);struct book *Search_Book_price (double price_h,double price_l,struct book *head_book);struct book *Insert_Book (struct book *head_book,struct book *stud_book) ;/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/struct club *Create_New_Club() ;struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name (char *c_name,struct club *head_club);struct club *Insert_Club (struct club *head_club,struct club *stud_club);struct club *Delete_Club (struct club *head_club,int xuehao);struct book *Lent_Book (int bianhao ,int xuehao,struct book *head_book,struct club *head_club);struct book *back (int bianhao,int xuehao,struct book *head_book,struct club *head_club); int main(){struct book *head_book,*p_book;char book_name [30],name [20],author [20],sex [10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof (struct club) ;int choice;printf ("\n 欢迎您第一次进入图书管理系统!\n\n");printf("---——>[向导]————-〉[新建图书库] \n\n”) ;printf ("注意:当输入图书编号为0 时,进入下一步.\n\n");head_book=Create_New_Book();system(”cls”) ;printf("\n 欢迎您第一次进入图书管理系统!\n\n") ;printf("----—〉[向导]——---〉[新建会员库]\n\n”);printf(”注意:当输入会员学号为0 时,进入主菜单.\n\n”);head_club=Create_New_Club () ;system (”cls”);do {printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”);printf("\n”);printf ("\t\t\t[1] :借书办理\t");printf(" [6]:还书办理\n”);printf (”\n");printf(”\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n”);printf (” \t\t\t[3]:添加图书\t");printf (" [8]:添加会员\n”);printf ("\t\t\t[4]:删除图书\t");printf (” [9] :删除会员\n") ;printf (” \t\t\t[5]:遍历图书\t");printf (” [10]:遍历会员\n\n”) ;printf ("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n”);printf("\t\t\t0:退出\n\n”) ;printf(”请选择〈0~10〉:”);scanf(”%d",&choice);switch(choice) {case 1:printf ("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf (”输入所借图书编号:\n");scanf (”%d",&bianhao);printf ("输入借书人的学号:\n”);scanf ("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club);system (”cls");printf (” \n 借阅成功!\n\n");printf (”相关信息如下:\n\n");head_book=Search_Book_bianhao (bianhao,head_book);break;case 2:system ("cls”) ;printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”); printf ("1。

C语言课程设计报告教学管理系统

C语言课程设计报告教学管理系统

《C语言课程设计报告》题目:教学管理系统一、需求分析:功能:(1)每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。

(2)输入功能:可以一次完成若干条记录的输入。

(3)显示功能:完成全部教师记录的显示。

(4)查找功能:完成按姓名或课程查找教师的相关记录,并显示。

(5)排序功能:按职工号或教学效果综合评分进行排序。

(6)插入功能:按教学效果综合评分高低插入一条教师记录。

(7)将教师记录存在文件中。

(8)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!要求:(1)用C语言实现系统;(2)利用结构体数组实现教学信息的数据结构设计;(3)系统具有增加,查询,插入,排序等基本功能;(4)系统的各个功能模块要求用函数的形式实现;(5)将教学信息存在文件中。

二、总体设计分析题目可知,该程序主要利用结构化的程序设计方法,利用主函数调用若干子函数来实现题目要求的各个功能。

首先,其中的各个变量(职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分)存在内在联系,从而利用结构体数组来定义其中的变量,然后,再分析主函数和子函数的调用关系并编辑程序,通过编译使其逐渐完成题目的功能和要求。

三、详细设计1.数据结构的设计:程序要求文档中要求使用结构体数组完成设计,每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。

数据结构设计如下:typedef struct Course{ //课程的定义与描述char courseName[40]; //课程名称int semester; //开课学期char type[8]; //课程性质char teceff; //教学效果}Course;typedef struct Teacher{ //教师的定义与描述char name[8]; //姓名int num; //职工号char sex[2]; //性别int tecscore; //教学效果综合评分char position[8]; //职称Course course[3]; //3门主讲课程}Teacher;2.函数列表和调用关系void InputClassInfor(Course c) //课程输入函数void InputInfor(Teacher T[MAXTEACHERNUM]) //教师信息输入函数void PrintInfor(Teacher T[]) //输出函数void Search_N(Teacher T[], int n) //查找函数void SearchInfor(Teacher T[]) //查找教师信息(总函数)void Sort_N(Teacher T[], int n) //排序函数void InsertInfor(Teacher T[]) //插入函数void SaveFile(Teacher T[]) //文件保存函数void OpenFile(Teacher T[]) //文件打开函数int main(int argc, char* argv[]) //菜单函数函数调用关系如下3.主函数和子函数编辑首先对主函数进行设计,使其以图片的形式输出全部教学信息,主要利用printf,如下所示void PrintInfor(Teacher T[]){ //输出全部教师信息(以卡片形式)printf("--------------------------------------------------------------------------------");printf("| 所有教师记录|");printf("-------------------------------------------------------------------------------+" );printf("| 全院现有在职教师%d名,全部信息如下|",TeacherNum);printf("-------------------------------------------------------------------------------+\n\n");for(int i=0;i<TeacherNum;++i){printf("+------+---------------+----+------------+----+------+------+------------------+" );printf("|职工号| %3d |姓名| %8s |性别| %s |职称| %8s|",T[i].num,T[i].name,T[i].sex,T[i].position);printf("+------+---+-----------+----+------------+----+------+------+------------------+ ");printf("|主讲课程1 | 课程名| %-40s|",T[i].course[0].courseName);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("| 学期| %d |课程性质| %8s | 教学效果| %c|",T[i].course[0].semester,T[i].course[0].type,T[i].course[0].teceff);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("|主讲课程2 | 课程名| %-40s|",T[i].course[1].courseName);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("| 学期| %d |课程性质| %8s | 教学效果| %c|",T[i].course[1].semester,T[i].course[1].type,T[i].course[1].teceff);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("|主讲课程3 | 课程名| %-40s|",T[i].course[2].courseName);printf("+----------+-----------+----------+------------------+------------+------------+");printf("| 学期| %d |课程性质| %8s | 教学效果| %c|",T[i].course[2].semester,T[i].course[2].type,T[i].course[2].teceff);printf("+----------+-----+-----+----------+------------------+------------+------------+" );printf("|教学效果综合评分| %3d|",T[i].tecscore);printf("+----------------+-------------------------------------------------------------+\n\ n");system("PAUSE"); //输完一个教师信息,等待用户查看确认,确认无误后再打印下一教师的相关信息}//for}//PrintInfor然后逐个完成子函数,其中排序函数利用冒泡法,如下:void Sort_N(Teacher T[],int n){//当n=1时按职工号排序,当n=2时按教学效果综合评分排序if(n==1){ //按职工号排序Teacher temp;for(int i=0;i<TeacherNum-1;i++){ //冒泡法排序for(int j=0;j<TeacherNum-1-i;j++)if(T[j+1].num<T[j].num){temp=T[j];T[j]=T[j+1];T[j+1]=temp;}//if}//forprintf("排序结果如下:\n");for(int i=0;i<TeacherNum;i++){printf(" %8s[%d] ",T[i].name,T[i].num);}//forprintf("\n");}//ifelse{ //按教学效果综合评分排序Teacher temp;for(int i=0;i<TeacherNum-1;++i){ //冒泡法排序for(int j=0;j<TeacherNum-1-i;++j)if(T[j+1].tecscore<T[j].tecscore){temp=T[j];T[j]=T[j+1];T[j+1]=temp;}//if}//forfor(int i=0;i<TeacherNum;i++){printf("\t\t\t第%d名: %-8s 分数:%3d\n",i+1,T[i].name,T[i].tecscore);}//for}//else}//Sort_N而信息插入函数要考虑信息插入的位置,先完成一次排序,在将信息插入指定位置,详情参考源程序。

课程管理系统c语言课程设计

课程管理系统c语言课程设计

课程管理系统c语言课程设计一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的程序设计能力和问题解决能力。

具体目标如下:1.理解C语言的基本语法和编程规范。

2.掌握基本数据类型、运算符和表达式。

3.熟悉控制结构和函数。

4.理解指针和数组的概念及应用。

5.掌握基本的数据结构和算法。

6.能够使用C语言进行简单的程序设计。

7.能够阅读和理解C语言程序。

8.能够使用C语言进行常见的数据结构和算法的实现。

9.能够使用C语言解决实际问题。

情感态度价值观目标:1.培养学生的编程思维和逻辑思维能力。

2.培养学生的创新意识和问题解决能力。

3.培养学生团队合作和自主学习的能力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本语法和编程规范。

2.基本数据类型、运算符和表达式。

3.控制结构和函数。

4.指针和数组的概念及应用。

5.基本的数据结构和算法。

6.第1-2周:C语言的基本语法和编程规范。

7.第3-4周:基本数据类型、运算符和表达式。

8.第5-6周:控制结构和函数。

9.第7-8周:指针和数组的概念及应用。

10.第9-10周:基本的数据结构和算法。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过讲解和演示,让学生掌握C语言的基本语法和编程规范。

2.讨论法:通过小组讨论和课堂讨论,让学生深入理解和运用C语言的知识。

3.案例分析法:通过分析实际案例,让学生了解C语言在实际问题中的应用。

4.实验法:通过实验操作,让学生亲手编写C语言程序,提高编程能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境以上教学资源将帮助学生更好地学习和掌握C语言知识,提高编程能力。

教材管理系统c语言课程设计

教材管理系统c语言课程设计

教材管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在教材管理系统中的应用,掌握基本的数据结构(如数组、链表等)和文件操作相关知识;2. 学会使用C语言编写教材管理系统的基本功能,如教材信息录入、查询、修改和删除;3. 了解模块化编程思想,将教材管理系统划分为多个功能模块,并实现其相互调用。

技能目标:1. 能够运用所学知识独立完成教材管理系统的设计与编程;2. 掌握调试程序的方法,发现并解决系统运行过程中出现的问题;3. 提高团队协作能力,与同学共同完成复杂的课程设计任务。

情感态度价值观目标:1. 培养学生对C语言的兴趣,激发学习编程的热情;2. 培养学生的责任感,让他们认识到编写代码对软件质量的影响;3. 增强学生的自信心,让他们在完成课程设计的过程中体验成功。

分析课程性质、学生特点和教学要求,本课程旨在通过教材管理系统的设计与实现,帮助学生巩固C语言基础知识,提高编程能力。

课程目标具体、可衡量,以便学生和教师在课程结束后能够清晰地了解学习成果。

在此基础上,将目标分解为具体的学习成果,便于后续的教学设计和评估。

二、教学内容1. C语言基础知识回顾:数据类型、运算符、表达式、控制语句(包括分支和循环)、函数等;2. 数据结构:数组、链表、结构体等在教材管理系统中的应用;3. 文件操作:文件的打开、关闭、读写等操作,以及文件存储结构的理解;4. 模块化编程:模块划分、函数定义与调用、参数传递和返回值处理;5. 教材管理系统功能模块设计:- 教材信息录入:设计输入界面,实现教材信息的录入功能;- 教材信息查询:设计查询界面,实现按不同条件查询教材信息;- 教材信息修改:设计修改界面,实现教材信息的修改功能;- 教材信息删除:设计删除功能,实现教材信息的删除操作;6. 系统测试与调试:介绍测试方法,指导学生进行系统调试,发现并解决问题。

教学内容根据课程目标制定,具有科学性和系统性。

与课本关联,按照教学大纲安排,明确指出教材的章节内容,确保教学内容的有效组织和实施。

C语言教材管理系统课程设计报告

C语言教材管理系统课程设计报告

合肥学院计算机科学与技术系课程设计报告2012 ~2013 学年第二学期课程面向过程综合设计课程设计名称教材管理系统学生姓名陈琳学号**********专业班级软件工程指导教师何立新、高玲玲2013年6月一.需求分析1.需要解决的问题:对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握结构化程序设计方法,熟悉面向过程程序设计方法。

(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序和修改程序。

2.课程设计名称及内容课程设计名称:教材管理系统设计内容:编写一个简单的教材管理程序,帮助管理教材信息。

要求具有教材信息管理的功能。

其中包括教材信息的录入、删除、查询和修改等功能。

还应包括对课程信息管理的功能。

其中包括对课程信息的录入、删除、修改和查询等功能。

3.任务和要求运用面向过程的程序设计方法,要求选择数组或链表,任务中要运用对文件进行读写操作。

本题程序应提供的基本管理功能有:1)添加:即增加一条信息到教材信息中,或增加一条信息到课程信息中;2)显示:即在屏幕上显示所有教材或课程信息;3)存储:即将教材信息和课程信息分别保存在文件中;4)装入:即将文件中的信息读入程序;5)查询:可根据教材名称或编号查找相关信息,若找到,显示在屏幕上;也可根据课程编号或名称查找相关信息并显示;6)修改:可修改教材信息,或对课程信息进行修改。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录一、需求分析.......... 错误!未定义书签。

二、设计分析.......... 错误!未定义书签。

三、主要界面截图...... 错误!未定义书签。

四、技术要点.......... 错误!未定义书签。

五、个人总结.......... 错误!未定义书签。

六、参考文献.......... 错误!未定义书签。

七、源程序............ 错误!未定义书签。

一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:录入新教材信息,添加已有教材,查找教材信息,保存教材函数。

在这些函数当中,前三个函数的实现严格按照题目的要求,而最后一个函数用来将修改的函数保存在中。

1. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。

2. 主要功能分析(1)录入教材信息:允许用户输入教材名称、作者、出版社、教材册数、编号、售价。

(2)查询教材:允许按照编号和书名对教材的各项信息进行查询;(3)添加已有教材: 通过添加已有教材的同时对教材信息的更改;(4)保存教材函数将执行插入教材信息存入中。

除上面介绍的功能之外,程序还具有退出功能,可以在输入修改信息之后实现选择退出。

每一本教材记录都包含编号、作者、出版社、售价、书名和数量,在程序当中,将教材记录类型定义为结构体类型,添加以及追加的教材信息直接写入文件中,其他函数每次对教材记录的访问,其数据来源都是文件,这样做不但可以保证教材数据的一致性,而且可以对教材数据进行保存,保证每次运行程序都可以采用原来的数据。

二、设计分析主要有5个功能模块,每个模块对应一个C语言自定义函数。

这些函数原型及其功能简述如下:1、教材录入函数说明这个函数用static声明局部变量,使函数调用结束后不消失而保留原值。

用只写的方式打开一个文件夹()把数据项写入指定文件中。

关闭文件。

2、教材查询的函数该函数的核心内容是switch函数的使用、for函数的嵌套使用与strcmp比较字符串函数的使用。

3、已有教材添加函数该函数的核心内容是if函数嵌套和for函数的使用以及strcmp比较字符串函数的使用4、教材信息保存函数这个函数先建立一个文件并把具体的信息存入文件中1、程序总体结构图2、具体功能框图(1)录入新教材信息函数(2)查询教材信息(3)添加已有教材信息(4)保存教材信息函数三、主要界面截图图1 程序主界面图2 录入界面图3 查询界面四、技术要点(对本程序贡献较大的C语言知识点;重要算法的设计与实现)1、结构体的应用定义了结构体用来描述教材的名称、作者、出版社、编号、册数和售价,具体的定义如下:#define B 1000typedef struct Book{ char num[20];char name[20];char author[20];char press[20];int count;float shoujia;}book[B];struct Book books[B];所定义的结构体主要用于定义数组。

2、文件操作包括了文件的写入、读取和保存三个方面。

例如如下程序段用于保存教材信息:void save(){i nt i = 0;F ILE *fp;fp = fopen("e:\\", "wr");w hile(books[i].count > 0){fprintf(fp, "教材名称:%s 教材作者:%s 出版社:%s 册数:%d编号:%s 售价:%f\n", books[i].name,books[i].author,books[i].press,books[i].count,books[i].num,books[i].shoujia);i++;}f close(fp);}3、关于查询函数实现从系统中查询某教材的相关信息的查询函数稍微复杂一些,需要先进行选择是通过名称查询还是编号查询。

如下是通过教材名称查询的函数:void chaxun() /*教材查询*/{ FILE *fp;int i,flag=0;int a;char x[32];char y[32];if((fp=fopen("e:\\","r"))==NULL){printf("此文件无法打开!\n");return;}printf("请选择查询方式:1.教材名 2.编号\n");scanf("%d",&a);switch(a){case 1: printf("输入教材名:\n");scanf("%s",x);for(i=0;i<1000;i++)if (strcmp(books[i].name,x)==0) /*比较输入名与存储名的字符串大小*/{printf("教材名:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%f\n",books[i].name,books[i].author,books[i].press,bo oks[i].count,books[i].num,books[i].shoujia);flag=1;}if(flag==0)printf("此教材不存在\n");break;五、个人总结C语言是一门既有趣又非常有用的课程,说难也不难,但是也不简单,只要会很好的应用,便会觉得编程过程也并不感觉枯燥,当程序编完且运行成功之后,便觉得非常有成就感,虽然有时也会被一时解决不了的问题弄的焦头烂额,但在解决的过程中逐渐的、更深的掌握这门课程的知识,所以,这一周的C语言课程设计实习的收获是非常的大的,甚至还有一点觉得实习的时间有点短。

通过这次c语言课程设计,我对C语言的知识进行了比较全面的学习,了解到C语言的简单编程的实际应用。

我的程序基本功能符合题目要求,但也并不是太完美。

例如在输入教材册数的时候如果输入的不是数字的话,不会有提示。

我始终没有想到解决的办法……通过此次课程设计,我熟悉了函数的调用,指针的应用,数组的运用。

程序可以实现题目所要求各项,知道了实践并真正上机操作的意义。

六、参考文献1 谭浩强.C程序设计.北京:清华大学出版社,2009七、源程序#include <>#include <>#include <>#define B 1000typedef struct Book /*定义教材结构体*/{ char num[20];char name[20];char author[20];char press[20];int count;float shoujia;}book[B];struct Book books[B];void luru() /*录入教材信息*/{static int i = 0;printf("\n请输入教材名称:");scanf("%s", books[i].name);printf("请输入作者:");scanf("%s", books[i].author);printf("请输入出版社:");scanf("%s", books[i].press);printf("请输入教材册数:");scanf("%d", &books[i].count);printf("请输入编号:");scanf("%s", books[i].num);printf("请输入售价:");scanf("%f", &books[i].shoujia);printf("教材录入结束.\n");i++;}void tianjia() /*教材添加*/{int i,count;char name[10];printf("\n请输入教材名称:");scanf("%s",name);for(i=0;i<1000;i++){ if(strcmp(books[i].name,name)==0){ printf("\n输入添加册数:");scanf("%d", &count);books[i].count += count;printf("\n教材已添加\n");break;}else{printf("\n无此教材\n");break;}}}void save(){int i = 0;FILE *fp;fp = fopen("e:\\", "wr");while(books[i].count > 0){fprintf(fp, "教材名称:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%f\n",books[i].name, books[i].author,books[i].press,books[i].count,books[i].num,books[i].shoujia);i++;}fclose(fp);}void chaxun() /*教材查询*/{ FILE *fp;int i,flag=0;int a;char x[32];char y[32];if((fp=fopen("e:\\","r"))==NULL){printf("此文件无法打开!\n");return;}printf("请选择查询方式:1.教材名 2.编号\n");scanf("%d",&a);switch(a){case 1: printf("输入教材名:\n");scanf("%s",x);for(i=0;i<1000;i++)if (strcmp(books[i].name,x)==0) /*比较输入名与存储名的字符串大小*/{printf("教材名:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%f\n",books[i].name,books[i].author,books[i].press,books[i].count,books[i].num,books[i]. shoujia);flag=1;}if(flag==0)printf("此教材不存在\n");break;case 2: printf("输入编号:\n");scanf("%s",y);for(i=0;i<1000;i++)if (strcmp(books[i].num,y)==0){printf("教材名称:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%f\n",books[i].name,books[i].author,books[i].press,books[i].count,books[i].num,books[i]. shoujia);flag=1;}if(flag==0)printf("此教材不存在\n");break;default:break;}fclose(fp);}void show() /*显示操作界面*/{printf("\n ******************沈阳航空航天大学教材管理系统********************* ");printf("\n * 1 录入教材信息 *");printf("\n * 2 查询教材信息 *");printf("\n * 3 更改教材信息 *");printf("\n * 4 保存教材信息 *");printf("\n * 5 退出系统*\n");printf("\n 请输入您要选择的操作序号,按回车键确认:");}void main(){int n;show();scanf("%d",&n);while (1){switch(n){ case 1: luru(); break;case 2: chaxun(); break;case 3: tianjia(); break;case 4: save(); break;case 5: exit(0); break;default: break;}show();scanf("%d",&n);}FILE *fp;fp = fopen("e:\\", "r+");if(fp==0) printf("无法打开文件\n");fclose(fp); }。

相关文档
最新文档