C语言程序设计实训报告41

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《C语言程序设计》实训报告课题名称:图书馆管理系统专业:通信技术班级:10331学号:41姓名:黎清斌指导教师:黄雄波2011年7月1日目录1课程设计目的…………………………………………………12课程设计题目…………………………………………………13算法原理的分析与实现…………………………………………14结束语………………………………………………………115参考书目………………………………………………………116附录:(源程序清单)…………………………………………121课程设计目的参加实训的学生,应当认真完成实训的全部内容。最终提交实训成果来证明其独立完成各种实际任务的能力。从而反映出理解和运用本课程知识的水平和能力。具体如下:1、代码编写规范,形成良好的编程习惯;2、程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。3、提交实训报告电子稿、装订的打印稿。实训报告内容包括以下几个方面:程序的总体设计和算法分析。程序流程图、函数说明源程序代码清单测试数据和测试过程记录遇到的问题及解决方法分析实训小结2课程设计题目在老师下发的《通讯管理系统》的基础上,编写《图书管理系统》;基本功能包括:数据的增加、删除、修改及查询。3算法原理的分析与实现(1).插入增加算法算法的描述:在指定的位置中插入一个新的书号,使此位置中的书及以后的书从最后一位开始,往后退一位(如表1,表2所示);表1书号书名作者出版社出版日期地址定价123表2书号书名作者出版社出版日期地址定价1423实现原理1231new2old2old3开开始per[j].name,per[j-1].name);per[j]zuozhe,per[j-1].zuozhe)per[j].adds,per[j-1].adds)per[j].date,per[j-1].dateper[j].adds,per[j-1].adds)per[j].date,per[j-1].date)请输入您要新数据的位置position-1=nn-p+1j=j-1=j-1结束NY(2)上下限选择算法的描述:在指定区域内选出符合要求的书(如表1,表2所示)如表1书号书名作者出版社出版日期地址定价142232322452512635如表2(定价:20~~40)书号书名作者出版社出版日期地址定价232322635实现原理204020~40423222521235NOYes开始请输入想查询的定价下限temp[j].score=per[i].score;temp[j].name,per[i].name;temp[j].chubanshe,per[i].chubanshe;temp[j].zuozhe,per[i].zuozhe;temp[j].date,per[i].date;strcpy(temp[j].adds,per[i].adds请输入想查询的定价上限dj=jgxx&&dj=jgsx结束dj=per[i]j=j+1i=i+14.结束语通过将近一个星期的程序调试修改,图书信息管理系统课程程序实验最终完成,我的程序具备了题目所要求的所有功能,各模块之间的衔接也十分的好。并且程序设计实验按时完成了任务。在这一次的课程中我更深的了解了面向对象程序设计的概念,进一步丰富了自己的编程技巧,并在课程设计的实践中学习了更多的实验和理论知识,积累了些许的实战经验,为以后更好的编程奠定良好的基础。此外,在课程设计中遇到的c/c++的一些问题,我们学会了怎样独立自主和自学精神解决问题,这使得我进一步巩固了以前的知识以及c/c++语言的实用性有新的认识的同时还学会、领悟了学习中的遇到问题的解决办法。5.参考书目谭浩强著《C程序设计》(第三版)清华大学出版社夏耘吉顺如主编《大学程序设计(C)实践手册》复旦大学出版社6附录:源程序清单#includestdio.h#includestdlib.h#includestring.htypedefstruct{charscore;/*书号*/charname[10];/*书名*/charzuozhe[15];/*作者*/charchubanshe[20];/*出版社*/chardate[8];/*出版日期*/charadds[20];/*地址*/floatdj;/*定价*/}Person;Personpe[80];intmenu_select(){charc;do{system(cls);printf(\t\t*****图书馆*****\n);printf(\t\t┌───────┐\n);printf(\t\t│1.添加记录│\n);printf(\t\t│2.显示记录│\n);printf(\t\t│3.删除记录│\n);printf(\t\t│4.查询记录│\n);printf(\t\t│5.修改记录│\n);printf(\t\t│6.保存记录│\n);printf(\t\t│0.退出程序│\n);printf(\t\t└───────┘\n);printf(\t\t请您选择(0-6):);c=getchar();}while(c'0'||c'6');return(c-'0');}intInput(Personper[],intn){inti=0;intj;intposition=0;charsign;while(sign!='n'&&sign!='N'){//printf(\t现在共有%d条数据;请输入您要新数据的位置:,n);//scanf(\t%d,&position);printf(\t请输入您要新数据的位置:);scanf(\t%d,&position);//if((position-1)=n)//{//printf(\t新数据的位置无效:,n);//}//else//{for(j=n;j=position;j--){strcpy(per[j].chubanshe,per[j-1].chubanshe);strcpy(per[j].name,per[j-1].name);strcpy(per[j].zuozhe,per[j-1].zuozhe);strcpy(per[j].adds,per[j-1].adds);strcpy(per[j].date,per[j-1].date);per[j].score=per[j-1].score;per[j].dj=per[j-1].dj;}printf(\t书号:);scanf(\t%d,&per[position-1].score);printf(\t书名:);scanf(\t%s,per[position-1].name);printf(\t作者:);scanf(\t%s,per[position-1].zuozhe);printf(\t出版社:);scanf(\t%s,per[position-1].chubanshe);printf(\t通讯住址:);scanf(\t%s,per[position-1].adds);printf(\t出版日期:);scanf(\t%s,per[position-1].date);printf(\t定价:);scanf(\t%f,&per[position-1].dj);//}printf(\n\t是否继续添加?(Y/N));scanf(\t%c,&sign);i++;}return(n+i);}voidDisplay(Personper[],intn){Persontemp;intp,q,k;inti;printf(----------------------------------------------------------------------\n);/*格式*/printf(书号书名作者出版社通讯地址出版日期定价\n);printf(----------------------------------------------------------------------\n);for(p=0;pn-1;p++){k=p;for(q=p+1;qn;q++){if(per[k].djper[q].dj){k=q;}}if(k!=p){temp.score=per[p].score;strcpy(temp.name,per[p].name);strcpy(temp.chubanshe,per[p].chubanshe);strcpy(temp.zuozhe,per[p].zuozhe);strcpy(temp.date,per[p].date);strcpy(temp.adds,per[p].adds);temp.dj=per[p].dj;per[p].score=per[k].score;strcpy(per[p].name,per[k].name);strcpy(per[p].chubanshe,per[k].chubanshe);strcpy(per[p].zuozhe,per[k].zuozhe);strcpy(per[p].date,per[k].date);strcpy(per[p].adds,per[k].adds);per[p].dj=per[k].dj;per[k].score=temp.score;strcpy(per[k].name,temp.name);strcpy(per[k].chubanshe,temp.chubanshe);strcpy(per[k].zuozhe,temp.zuozhe);strcpy(per[k].date,temp.date);strcpy(per[k].adds,temp.adds);per[k].dj=temp.dj;}}for(i=1;in+1;i++){printf(%-5d%-8s%-6s%-13s%-15s%-15s%-15f\n,per[i-1].score,per[i-1].name,per[i-1].zuozhe,per[i-1].chubanshe,per[i-1].adds,per[i-1].date,per[i-1].dj);if(i1&&i%10==0){printf(\t-----------------------------------\n);printf(\t);system(pause);printf(\t-----------------------------------\n);}}printf(----------------------------------------------------------------------\n);system(pause);}intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf(\t请输入想删除记录中的书名:);scanf(%s,s);while(strcmp(per[i].name,s)!=0&&in)i++;if(i==n){printf(\t图书馆中没有此书!\n);return(n);}for(j=i;jn-1;j++){strcpy(per[j].chubanshe,per[j+1].chubanshe);strcpy(per[j].name,per[j+1].name);strcpy(per[j].zuozhe,per[j+1].zuozhe);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].date,per[j+1].date);per[j].score=per[j+1].score;}printf(\t\t\t已经成功删除!\n);return(n-1);}voidQuery_a_record(Personper[],intn){intm;printf(\t\n请选择查询方式:\n);printf(\t┌──────┐\n);print

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功