大学计算机程序设计基础(c语言4)ppt

大学计算机程序设计基础(c语言4)ppt

ID:40184330

大小:1.03 MB

页数:158页

时间:2019-07-24

大学计算机程序设计基础(c语言4)ppt_第1页
大学计算机程序设计基础(c语言4)ppt_第2页
大学计算机程序设计基础(c语言4)ppt_第3页
大学计算机程序设计基础(c语言4)ppt_第4页
大学计算机程序设计基础(c语言4)ppt_第5页
资源描述:

《大学计算机程序设计基础(c语言4)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计基础(国家级精品课)张长海程序设计基础(国家级精品课)第十章外部数据组织—文件第十一章程序开发第十二章动态数据组织第十章外部数据组织—文件重新考虑图书卡管理问题-文件文件概述打开、关闭文件程序参数字符读写字符串读写格式化读写数据块读写文件定位本章小结作业:11.111.6习题集:P113—17练习:11.211.311.411.511.7--11.14§10.1重新考虑图书卡管理问题回顾例8.1,图书管理程序当时把图书卡片保存在数组中,仅保存100张卡片,而且每次执行程序都要重新输入所有卡片,这显然不合理。应该把所有图书卡片保存在磁盘上,

2、每次运行程序时不必都重新输入!应该可以管理大量的卡片,不能限制数量!因为任何图书馆,其藏书数量都是极大的。使用文件可以解决这个问题。【例11.1】使用文件保存图书检索卡数据,重新编写例8.1程序的函数。解:设全部卡片存放在文件card.dat中。检索函数对欲检索的书号采用顺序检索方式检索;检索到后输出;最后输出提示信息“searchend!”。程序如下。voidout_answer(structbookcard*);//输出检索结果函数,略voidsearchbook(structbookno);//检索函数原型voidinputbookno(s

3、tructbookno*);//输入书号//书号结构体、日期结构体、检索卡结构体同例8.1#include"stdio.h"enumclass_language{Chinese,English,Japanese,Spaish,Russian};//语种枚举类型structdate{//日期结构体类型intyear,month,day;};structbookno{//书号结构体类型charcatalogue;intorder;};structbookcard{//检索卡结构体类型charname[32],author[16];enumclass_

4、languagelanguge;structdatepublishingdate;structbooknono;charabstract[256];}card;FILE*cardpointer;/*文件指针*//*主程序*/voidmain(){structbooknono1;cardpointer=fopen("card.dat","r");//打开了文件card.dat//输入部分:不用输入,数据在文件中printf("startsearch:");//检索部分inputbookno(&no1);//输入欲检索的第一个书号while(no

5、1.catalogue!='#'){searchbook(no1);inputbookno(&no1);//输入欲检索的下一个书号}fclose(cardpointer);//关闭文件}//主程序结束/*检索函数*/voidsearchbook(structcardnono2){structbookcardcard;rewind(cardpointer);while(!feof(cardpointer)){fread(&card,sizeof(structbookcard),1,cardpointer);if((card.no.catalogue

6、==no2.catalogue)&&(card.no.order==no2.order))out_anser(&card);}printf(“searchend!”);}//输入一个书号函数voidinputbookno(structbookno*no){printf("startsearch:pleaseinputbookno.catalogue:");scanf("%c",&(no->catalogue));while(no->catalogue<='')scanf("%c",&(no->catalogue));printf("

7、npleaseinputbookno.order:");scanf("%d",&(no->order));}/*输出检索结果函数*/voidout_answer(structbookcard*card0){printf("NAME:%s",card0->name);printf("AUTHOR:%s",card0->author);printf("LANGUGE:");switch(card0->languge){caseChinese:printf("Chinese");break;caseJapanese:printf("Japa

8、nese");break;caseEnglish:printf("English");break;caseSpaish:prin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。