已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号 编 号 华北水利水电大学North China Institute of Water Conservancy and Hydroelectric Power课 程 设 计课程名C语言课程设计 题 目图书信息管理系统院 系 信息工程学院 专 业 网络工程 姓 名 陈志涵 学 号 201517614 指 导 教 师 吴慧欣 1、 课程设计内容(必做题)1.输入一行字符,要求完成:(1) 每个单词中的第一个字母改成大写字母(如果原来已是大写字母则不变)。(2) 全变成大写字母(3) 全变成小写字母要求:以函数的形式实现,在main函数中调用,要支持输入程序代码:#include#includeint 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 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所指字符串中的内容为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=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+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=array1;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位数:对每次输入猜测的数据:给出本次共猜对了多少个数字、 猜对的数字并且位置正确的个数。程序代码:#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(); 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 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书号、书名、定价、拥有本数、借出本数、现余本数。主要包含以下功能:(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;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,);scanf(%s,booki.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.writer,booki.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,)=0)break;printf(确定删除(Y/N)n);getchar();a=getchar();for(;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.writer,booki.publish,booki.dateout,booki.IBSN,booki.price,booki.sum,booki.bookout,booki.bookin);fclose(fp);printf(删除成功!n);void xiugai()void read();struct liberary k;int i,m=3,a,j;char name15;/long num;FILE *fp;read();printf(输入修改的书籍名称:);gets(name);getchar();for(i=0;i3;i+)if(strcmp(name,)=0)break;printf(选择功能:nn(1).书名 (2).作者 (3).出版社 n(4).版次 (5).IBSN (6).定价 n(7).总量 (8).借出 (9).剩余n(10).修改完成n);for(j=0;j+)printf(选择:);scanf(%d,&a);getchar();switch(a)case 1:printf(书名:n);gets();getchar();strcpy(,);break;case 2:printf(作者:n);gets(k.writer);getchar();strcpy(booki.writer,k.writer);break;case 3:printf(出版社:n);gets(k.publish);getchar();strcpy(booki.publish,k.publish);break;case 4:printf(版次:n);scanf(%ld,&k.dateout);booki.dateout=k.dateout;break;case 5:printf(IBSN书号:n);scanf(%ld,&k.IBSN);booki.IBSN=k.IBSN;break;/getchar();case 6:printf(定价:n);scanf(%f,&k.price);/getchar();booki.price=k.price;break;case 7:printf(总存量:n);scanf(%d,&k.sum);/getchar();booki.sum=k.sum;break;case 8:printf(借出:n);scanf(%d,&k.bookout);booki.bookout=k.bookout;/getchar();break;case 9:printf(现存:n);scanf(%d,&k.bookin);/getchar();booki.bookin=k.bookin;break;case 10:break;if(a=10)break;getchar();if(fp=fopen(book.txt,w+)=NULL)printf(无法打开文件!n);return;for(i=0;im;i+)fprintf(fp,%st%st%st%ldt%ldt%4.1ft%dt%dt%dn,,booki.writer,booki.publish,booki.dateout,booki.IBSN,booki.price,booki.sum,booki.bookout,booki.bookin);fclose(fp);printf(修改成功!n);void jieyue()void read();FILE *fp;int i,j,m=0,a;char name15;read();printf(输入被借阅的书);gets(name);getchar();printf(借阅数:);scanf(%d,&a);for(j=0;jm;j+)if(strcmp(name,)=0)break;printf(将借阅后的信息存到文件里:);bookj.bookout=bookj.bookout+a;bookj.bookin=bookj.bookin-a;if(fp=fopen(book.txt,w)=NULL)printf(无法打开文件!n);return;for(i=0;i3;i+)fprintf(fp,%st%st%st%ldt%ldt%4.1ft%dt%dt%dn,,booki.writer,booki.publish,booki.dateout,booki.IBSN,booki.price,booki.sum,booki.bookout,booki.bookin);fclose(fp);void huanshu()void read();FILE *fp;int i,j,m=0,a;char name15;read();printf(输入要还的书);gets(name);getchar();printf(数量:);scanf(%d,&a);for(j=0;jm;j+)if(strcmp(name,)=0)break;printf(将还书后的信息存到文件里:);bookj.bookout=bookj.bookout-a;bookj.bookin=bookj.bookin+a;if(fp=fopen(book.txt,w)=NULL)printf(无法打开文件!n);return;for(i=0;i3;i+)fprintf(fp,%st%st%st%ldt%ldt%4.1ft%dt%dt%dn,,booki.writer,booki.publish,booki.dateout,booki.IBSN,booki.price,booki.sum,booki.bookout,booki.bookin);fclose(fp);void search() int j,m=0;char name15;void read();read();printf(输入查询的书籍名称:);gets(name);getchar();for(j=0;j3;j+)if(strcmp(,name)=0)break;printf(查询的书籍信息:n);printf(书名:%s,作者:%s,出版社:%sn,,bookj.writer,bookj.publish);printf(版次:%ld ,bookj.dateout); printf(IBSN书号:%ld,定价:%4.1fn,bookj.IBSN,bookj.price);printf(书存量:%d,bookj.sum);printf(借出:%d,bookj.bookout);printf(剩余:%dn,bookj.bookin);void read() FILE *fp;int j;if(fp=fopen(book.txt,r+)=NULL)/printf(无法打开文件!n);return ;for(j=0;j3;j+)fscanf(fp,%s,);fscanf(fp,%s,bookj.writer);fscanf(fp,%s,bookj.publish);fscanf(fp,%ld,&bookj.dateout);fscanf(fp,%ld,&bookj.IBSN);fscanf(fp,%f,&bookj.price);fscanf(fp,%d,&bookj.sum);fscanf(fp,%d,&bookj.bookout);fscanf(fp,%d,&bookj.bookin);fclose(fp);int main()FILE *fp;int a,i,j,m;printf(ttttt-功能菜单-tttn);printf(ttttt| |n);printf(ttttt| |n);printf(ttttt|t(1) 借阅 |n);printf(ttttt|t(2) 还书 |n);printf(ttttt|t(3) 查询 |n);printf(ttttt|t(4) 管理图书信息 |n);printf(ttttt|t(5) 退出 |n);printf(ttttt| |n);printf(ttttt| |n);printf(ttttt-tttnnn); printf(有没有数据(0/1)n);scanf(%d,&m);if(m=1)read();for(i=0;i+)printf(输入想要实现的功能:n);scanf(%d,&a); getchar();switch(a)case 1:jieyue();break;case 2:huanshu();break;case 3:search();break;case 4:guanli();break;case 5:break;if(a=5) break;getchar();return 0;运行结果展示3、 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 娱乐行业导演岗位的招聘全解析与要点总结
- 酒店式地标建设与管理面试问题剖析
- 三年(2023-2025)内蒙古中考语文真题分类汇编:专题03 名句默写(解析版)
- 法规事务部经理的决策能力提升培训方案
- 华为集团客户服务体系优化方案
- 2026年健康生活方式推广策略考试及答案
- 说新闻谈观点演讲稿
- 商场物业人员绩效考核制度
- 2025年AI艺术生成技术的自动化内容生成与编辑
- 关于客观能动性演讲稿
- 2026新版人教版小学数学3三年级下册(全册)教案设计
- 2026年国网吉林省电力有限公司高校毕业生招聘第二批考试参考试题及答案解析
- XX区实验初级中学2026年春季学期中期教导处课后服务质量评估工作方案
- 2025年江苏省公务员录用考试《行测》题A类答案及解析
- 市区交通护栏维护管养服务方案投标文件(技术方案)
- 2024年苏州健雄职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 幼儿教育政策与法规高职PPT完整全套教学课件
- 计算机操作员职业标准
- PPK(表格模板、XLS格式)
- GB/T 30257-2013节能量测量和验证技术要求通风机系统
- GB/T 22708-2008绝缘子串元件的热机和机械性能试验
评论
0/150
提交评论