C语言课程设计——教材管理系统
- 格式:doc
- 大小:147.50 KB
- 文档页数:17
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语言书籍管理系统课程设计一、课程目标知识目标: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 语言编写简单的应用程序。
通过本课程的学习,学生应达到以下知识目标: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语言实现图书管理系统的功能。
具体分为以下三个部分: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语言进行程序设计的能力,提高学生的实际操作技能和解决实际问题的能力。
具体来说,知识目标包括: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.实验设备:计算机、网络设备等。
以上教学资源将有助于丰富学生的学习体验,提高学生的实际操作技能和解决实际问题的能力。
图书信息管理系统设计一、【要求】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
设计一图书信息管理系统,使之能提供以下功能:(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语言进行程序设计。
同时,学生将学会如何运用面向过程的编程思想解决实际问题,培养逻辑思维能力和解决问题的能力。
此外,通过课程管理系统的开发,学生将了解软件开发的基本流程,提高团队合作和沟通的能力。
具体来说,知识目标包括: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语言实现简单的教材管理系统。
具体目标如下:1.知识目标:–理解C语言的基本语法和数据类型。
–掌握控制结构和函数的定义及使用。
–了解教材管理系统的基本概念和设计原则。
2.技能目标:–能够运用C语言编写简单的程序。
–能够运用面向对象的方法设计教材管理系统。
–具备基本的调试和解决问题的能力。
3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力。
–培养学生的创新思维和问题解决能力。
–培养学生对计算机科学和编程的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法和数据类型、控制结构和函数的定义及使用,以及教材管理系统的设计和实现。
具体内容包括:1.C语言的基本语法和数据类型:介绍C语言的基本语法规则,包括变量、常量、运算符、表达式等,以及基本数据类型如整数、浮点数、字符等。
2.控制结构:介绍条件语句和循环语句的使用,包括if语句、switch语句、for循环、while循环等,以及它们的嵌套和应用。
3.函数的定义及使用:介绍函数的定义、声明和调用,包括返回值、参数传递等,以及函数的递归调用和应用。
4.教材管理系统的设计和实现:介绍教材管理系统的基本概念和设计原则,包括系统的功能模块划分、数据结构设计、算法实现等,以及系统的测试和优化。
三、教学方法本课程的教学方法采用讲授法、讨论法、案例分析法和实验法相结合的方式,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解和示例的方式,系统地传授C语言的基本语法和数据类型、控制结构和函数的定义及使用,以及教材管理系统的设计和实现。
2.讨论法:通过小组讨论和课堂讨论的方式,引导学生主动思考和探索问题,培养学生的团队合作意识和沟通能力。
3.案例分析法:通过分析实际案例,让学生了解教材管理系统的设计和实现过程,培养学生的创新思维和问题解决能力。
课程管理系统c语言课程设计一、课程目标知识目标:1. 学生能理解课程管理系统的基本原理,掌握C语言在系统开发中的应用。
2. 学生能运用C语言实现课程管理系统的基本功能,如数据录入、查询、修改和删除。
3. 学生了解结构体、数组、文件操作等C语言知识点在课程管理系统中的作用。
技能目标:1. 学生能运用所学C语言知识,独立完成课程管理系统的设计与编码。
2. 学生具备分析问题、解决问题的能力,能够根据需求调整和优化系统功能。
3. 学生掌握基本的调试技巧,能够排除程序中的错误,确保系统稳定运行。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,提高自主学习能力和团队协作精神。
2. 学生在课程学习过程中,树立正确的价值观,认识到编程对于解决实际问题的意义。
3. 学生通过课程管理系统设计与实现,增强自信心,培养克服困难的意志。
课程性质:本课程为C语言程序设计实践课程,以课程管理系统为案例,结合课本知识,锻炼学生的编程能力和实际应用能力。
学生特点:学生已具备一定的C语言基础,具有较强的求知欲和动手能力,但对复杂系统的开发尚缺乏经验。
教学要求:教师应注重理论与实践相结合,引导学生主动探究,关注个体差异,提供个性化指导,确保学生在课程学习过程中达到预期目标。
同时,注重培养学生的编程思维和解决问题的能力,为后续学习打下坚实基础。
二、教学内容1. 系统需求分析:介绍课程管理系统的功能需求,分析系统所需处理的数据类型和结构,明确各功能模块之间的关系。
2. C语言基础知识回顾:回顾结构体、数组、文件操作等基础知识,强调在课程管理系统中的应用。
- 结构体:定义课程信息、学生信息等数据结构。
- 数组:存储和管理课程、学生等数据。
- 文件操作:实现数据的持久化存储。
3. 功能模块设计:- 数据录入:设计并实现课程、学生等数据的录入功能。
- 数据查询:设计并实现课程、学生等数据的查询功能。
- 数据修改:设计并实现课程、学生等数据的修改功能。
目录一、需求分析.......... 错误!未定义书签。
二、设计分析.......... 错误!未定义书签。
三、主要界面截图...... 错误!未定义书签。
四、技术要点.......... 错误!未定义书签。
五、个人总结.......... 错误!未定义书签。
六、参考文献.......... 错误!未定义书签。
七、源程序............ 错误!未定义书签。
一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:录入新教材信息,添加已有教材,查找教材信息,保存教材函数。
在这些函数当中,前三个函数的实现严格按照题目的要求,而最后一个函数用来将修改的函数保存在中。
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); }。