图书信息管理系统-c语言课程设计.docx
《图书信息管理系统-c语言课程设计.docx》由会员分享,可在线阅读,更多相关《图书信息管理系统-c语言课程设计.docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 分类号 编 号 华北水利水电大学North China Institute of Water Conservancy and Hydroelectric Power课 程 设 计课程名C语言课程设计 题 目图书信息管理系统院 系 信息工程学院 专 业 网络工程 姓 名 陈志涵 学 号 201517614 指 导 教 师 吴慧欣 一、 课程设计内容(必做题)1.输入一行字符,要求完成:(1) 每个单词中的第一个字母改成大写字母(如果原来已是大写字母则不变)。(2) 全变成大写字母(3) 全变成小写字母要求:以函数的形式实现,在main函数中调用,要支持输入程序代码:#include#inclu
2、deint main()void changeone(char a,int k);void changelwr(char arr);void changeuper(char arr);int k;char str50;printf(输入一个字符串:n);gets(str);k=strlen(str);printf(单词的第一个字母变成大写字母:n);changeone(str,k); getchar();printf(字母全部转换为大写:n);changeuper(str); getchar();printf(字母全部转换为小写:n);changelwr(str);return 0;void
3、changeone(char a,int k) int i; if(a0=a&a0=z) a0=a0-32;for(i=1;i=a&ai+1=z) ai+1=ai+1-32; puts(a);void changeuper(char arr)strupr(arr); puts(arr);void changelwr(char arr)strlwr(arr); puts(arr);运行结果展示2、 编写将a所指字符串中的字符按逆序存放,然后和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为abcdefg,b所指字符串中的
4、内容为1234时,c所指数组中的内容应该为g1f2e3d4cba;而当a所指字符串中的内容为1234,b所指字符串中的内容为abcdefg时,c所指数组中的内容应该为4a3b2c1defg。程序代码:#include#includeint main()void exchange(char *a,char *b,char c40,int m,int n);int i,j;char str120,str220,c40=0,*a,*b;printf(输入字符串a:n); gets(str1);a=str1; i=strlen(str1); printf(输入字符串b:n);gets(str2); b
5、=str2;j=strlen(str2);exchange(a,b,c,i,j);return 0;void exchange(char *a,char *b,char c40,int m,int n)int i,j,temp;for(i=0;i=n) for(i=0,j=0;i2*n;j+,i+,i+)ci=*(a+j); ci+1=*(b+j);for(i=2*n,j=n;i(m+n);j+,i+)ci=*(a+j);else for(i=0,j=0;i2*m;j+,i+,i+)ci=*(a+j);ci+1=*(b+j);for(i=2*m,j=m;i(m+n);i+,j+)ci=*(b+
6、j);printf(输出组合字符串c:n);puts(c);运行结果展示3、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。要求:以函数的形式实现,在main函数中调用,输入一串数据,输出加密后的数据;程序代码:#includevoid jiami(int arr)int i,array4,temp;for(i=0;i4;i+) arrayi=(arri+5)%10; temp=array0;array0=array3;array3=temp;temp=array
7、1;array1=array2;array2=temp;for(i=0;i4;i+)printf(%d,arrayi);printf(n);int main()int a;int str4;printf(输入4个数字:n);for(a=0;a4;a+)scanf(%d,&stra);printf(加密之后的数据:n);jiami(str);return 0;运行结果展示4.猜数游戏编写一个猜数字游戏,游戏规则: (a)使用随机函数产生一个5位数,各位上的数字不重复,从1到9。(b)按以下提示猜出这个5位数:对每次输入猜测的数据:给出本次共猜对了多少个数字、 猜对的数字并且位置正确的个数。程序代
8、码:#include#include#includeint random()int a;srand(unsigned)time(NULL);a=rand()%9+1;getchar();return(a);int main() void compare( int a5,int b5);int a,b,c,d,e;int str5,k,arr5;printf(猜5个不同的数字(1-9)n);for(k=0;k5;k+)scanf(%d,&strk);a=random(); getchar();b=random(); getchar();if(b=a)while(a=b) b=random();
9、c=random();if(c=a|c=b)while(c=a|c=b) c=random(); getchar();d=random();if(d=a|d=b|b=c)while(d=a|d=b|d=c) d=random(); getchar();e=random();if(e=a|e=b|e=c|e=d)while(e=a|e=b|e=c|e=d) e=random(); getchar();arr0=a;arr1=b;arr2=c;arr3=d;arr4=e;printf(产生的五位随机数:n%d%d%d%d%dn,a,b,c,d,e);compare(str,arr);return
10、0;void compare(int a5,int b5)int i,j,flog1=0,flog2=0;for(i=0;i5;i+)for(j=0;j5;j+)if(ai=bj)flog1+;break;for(i=0;i5;i+)if(ai=bi)flog2+;printf(一共猜对了%d个数字!n其中先后顺序一致有%d个!nn,flog1,flog2);运行结果展示二、课程设计内容(选做题)1、 图书信息管理系统.图书信息管理系统:采用结构体数组或文件形式存储每本书的信息:每本书应包含如下几方面的信息:主编、出版社、出版年、版次、ISBN书号、书名、定价、拥有本数、借出本数、现余本数。主
11、要包含以下功能:(1) 添加、删除、修改图书的信息;(2) 借书(被借之书“借出本数”增1,“现余本数”减1);(3) 还书;(4) 查找功能(需指定书的某项信息,查找该书目前借出、余存信息);启动时从文件中读出图书信息,退出时把图书信息写回到文件程序代码:#include#include#includestruct liberary char name15;char writer20;char publish30;long dateout;long IBSN;float price;int sum;int bookout;int bookin;book3;void guanli()int a
12、;void add();void del();void xiugai();printf(可以实现对图书的管理功能:n(1).添加t(2).删除t(3).修改nn输入选项:);scanf(%d,&a);if(a=1)add();if(a=2)del();if(a=3)xiugai();void add()int i,k;FILE *fp;printf(添加图书的信息:n输入添加图书的数量:);scanf(%d,&k);printf(书名t作者t出版社t版次tIBSN书号t定价t藏书量t借出量t现存n);for(i=0;ik;i+)scanf(%s,booki.name);scanf(%s,boo
13、ki.writer);scanf(%s,booki.publish);scanf(%ld,&booki.dateout);scanf(%ld,&booki.IBSN);scanf(%f,&booki.price);scanf(%d%d%d,&booki.sum,&booki.bookout,&booki.bookin);if(fp=fopen(book.txt,w)=NULL)/printf(无法打开文件!n);return;for(i=0;ik;i+)fprintf(fp,%st%st%st%ldt%ldt%4.1ft%dt%dt%dn,booki.name,booki.writer,boo
14、ki.publish,booki.dateout,booki.IBSN,booki.price,booki.sum,booki.bookout,booki.bookin);fclose(fp);void del()void read();FILE *fp;char a,name15;/long k;int i,m=3;read();printf(输入删除的书籍名称:);gets(name);getchar();for(i=0;i10;i+)if(strcmp(name,booki.name)=0)break;printf(确定删除(Y/N)n);getchar();a=getchar();fo
15、r(;i3;i+)/booki=booki+1;if(fp=fopen(book.txt,w)=NULL)printf(无法打开文件!n);return;for(i=0;i(m-1);i+)fprintf(fp,%st%st%st%ldt%ldt%4.1ft%dt%dt%dn,booki.name,booki.writer,booki.publish,booki.dateout,booki.IBSN,booki.price,booki.sum,booki.bookout,booki.bookin);fclose(fp);printf(删除成功!n);void xiugai()void read
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 语言 课程设计
限制150内