ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:109.70KB ,
资源ID:6085554      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6085554.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计教材管理系统.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、C语言课程设计教材管理系统沈 阳 航 空 航 天 大 学 课程设计学 号 _*_班 级 _94070202_ 姓 名 _ 于 涛_ _指导教师 _ 徐 晗_2010年 10 月 08 日一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:录入新教材信息,添加已有教材,查找教材信息,保存教材函数。在这些函数当中,前三个函数的实现严格按照题目的要求,而最后一个函数用来将修改的函数保存在book.txt中。1. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩

2、溃。2. 主要功能分析(1)录入教材信息:允许用户输入教材名称、作者、出版社、教材册数、编号、售价。(2)查询教材: 允许按照编号和书名对教材的各项信息进行查询; (3)添加已有教材: 通过添加已有教材的同时对教材信息的更改;(4)保存教材函数 将执行插入教材信息存入book.txt中。除上面介绍的功能之外,程序还具有退出功能,可以在输入修改信息之后实现选择退出。每一本教材记录都包含编号、作者、出版社、售价、书名和数量,在程序当中,将教材记录类型定义为结构体类型,添加以及追加的教材信息直接写入book.txt文件中,其他函数每次对教材记录的访问,其数据来源都是book.txt文件,这样做不但可

3、以保证教材数据的一致性,而且可以对教材数据进行保存,保证每次运行程序都可以采用原来的数据。二、设计分析主要有5个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:1、教材录入函数说明这个函数用static声明局部变量,使函数调用结束后不消失而保留原值。用只写的方式打开一个文件夹(book.txt)把数据项写入指定文件(book.txt)中。关闭文件。2、教材查询的函数该函数的核心内容是switch函数的使用、for函数的嵌套使用与strcmp比较字符串函数的使用。3、已有教材添加函数该函数的核心内容是if函数嵌套和for函数的使用以及strcmp比较字符串函数的使用4、

4、教材信息保存函数这个函数先建立一个文件并把具体的信息存入文件中1、程序总体结构图程序结构总图 设置界面函数新教材信息的录入教材信息的保存教材信息的查询教材信息的更改2、具体功能框图(1)录入新教材信息函数(2)查询教材信息 (3)添加已有教材信息(4)保存教材信息函数三、主要界面截图图1 程序主界面图2 录入界面图3 查询界面四、技术要点(对本程序贡献较大的C语言知识点;重要算法的设计与实现)1、结构体的应用定义了结构体用来描述教材的名称、作者、出版社、编号、册数和售价,具体的定义如下:#define B 1000 typedef struct Book char num20; char na

5、me20; char author20; char press20; int count; float shoujia;bookB;struct Book booksB;所定义的结构体主要用于定义数组。2、文件操作包括了文件的写入、读取和保存三个方面。例如如下程序段用于保存教材信息:void save() int i = 0; FILE *fp; fp = fopen(e:book.txt, wr); while(booksi.count 0) fprintf(fp, 教材名称:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%fn, booksi.name, booksi.

6、author,booksi.press,booksi.count,booksi.num,booksi.shoujia); i+; fclose(fp); 3、关于查询函数实现从系统中查询某教材的相关信息的查询函数稍微复杂一些,需要先进行选择是通过名称查询还是编号查询。如下是通过教材名称查询的函数:void chaxun() /*教材查询*/ FILE *fp; int i,flag=0; int a; char x32; char y32; if(fp=fopen(e:book.txt,r)=NULL) printf(此文件无法打开!n); return; printf(请选择查询方式:1.教

7、材名 2.编号n); scanf(%d,&a); switch(a) case 1: printf(输入教材名:n);scanf(%s,x); for(i=0;i1000;i+) if (strcmp(booksi.name,x)=0) /*比较输入名与存储名的字符串大小*/ printf(教材名:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%fn,booksi.name,booksi.author,booksi.press,booksi.count,booksi.num,booksi.shoujia); flag=1; if(flag=0) printf(此教材不存在n

8、); break;五、个人总结C语言是一门既有趣又非常有用的课程,说难也不难,但是也不简单,只要会很好的应用,便会觉得编程过程也并不感觉枯燥,当程序编完且运行成功之后,便觉得非常有成就感,虽然有时也会被一时解决不了的问题弄的焦头烂额,但在解决的过程中逐渐的、更深的掌握这门课程的知识,所以,这一周的C语言课程设计实习的收获是非常的大的,甚至还有一点觉得实习的时间有点短。通过这次c语言课程设计,我对C语言的知识进行了比较全面的学习,了解到C语言的简单编程的实际应用。我的程序基本功能符合题目要求,但也并不是太完美。例如在输入教材册数的时候如果输入的不是数字的话,不会有提示。我始终没有想到解决的办法通

9、过此次课程设计,我熟悉了函数的调用,指针的应用,数组的运用。程序可以实现题目所要求各项,知道了实践并真正上机操作的意义。六、参考文献1 谭浩强C程序设计北京:清华大学出版社,2009七、源程序#include #include #include #define B 1000 typedef struct Book /*定义教材结构体*/ char num20; char name20; char author20; char press20; int count; float shoujia;bookB;struct Book booksB; void luru() /*录入教材信息*/ st

10、atic int i = 0; printf(n请输入教材名称:); scanf(%s, booksi.name); printf(请输入作者:); scanf(%s, booksi.author); printf(请输入出版社:); scanf(%s, booksi.press); printf(请输入教材册数:); scanf(%d, &booksi.count); printf(请输入编号:); scanf(%s, booksi.num); printf(请输入售价:); scanf(%f, &booksi.shoujia); printf(教材录入结束.n); i+;void tian

11、jia() /*教材添加*/ int i,count; char name10; printf(n请输入教材名称:); scanf(%s,name); for(i=0;i 0) fprintf(fp, 教材名称:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%fn, booksi.name, booksi.author,booksi.press,booksi.count,booksi.num,booksi.shoujia); i+; fclose(fp); void chaxun() /*教材查询*/ FILE *fp; int i,flag=0; int a; char

12、x32; char y32; if(fp=fopen(e:book.txt,r)=NULL) printf(此文件无法打开!n); return; printf(请选择查询方式:1.教材名 2.编号n); scanf(%d,&a); switch(a) case 1: printf(输入教材名:n);scanf(%s,x); for(i=0;i1000;i+) if (strcmp(booksi.name,x)=0) /*比较输入名与存储名的字符串大小*/ printf(教材名:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%fn,booksi.name,booksi.au

13、thor,booksi.press,booksi.count,booksi.num,booksi.shoujia); flag=1; if(flag=0) printf(此教材不存在n); break; case 2: printf(输入编号:n);scanf(%s,y); for(i=0;i1000;i+) if (strcmp(booksi.num,y)=0) printf(教材名称:%s 教材作者:%s 出版社:%s 册数:%d 编号:%s 售价:%fn,booksi.name,booksi.author,booksi.press,booksi.count,booksi.num,book

14、si.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:book.txt, r+); if(fp=0) printf(无法打开文件n);fclose(fp);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2