C语言课程设计22957_第1页
C语言课程设计22957_第2页
C语言课程设计22957_第3页
C语言课程设计22957_第4页
C语言课程设计22957_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳理工大学信息学院马斌沈阳理工大学 (信息科学与技术学院)2013/12/31C语言课程设计成 绩 评 定 表学生姓名班级学号专 业电子信息工程课程设计题目C语言课程设计任务(三十一)数组应用、查找字符、旅游景点信息管理程序的设计评语组长签字:成绩日期 20 年 月 日课程设计任务书学 院信息科学与工程学院专 业电子信息工程学生姓名马斌班级学号1303030331课程设计题目C语言课程设计任务(三十一) 数组应用、查找字符、旅游景点信息管理程序的设计实践教学要求与任务:1. 编写函数,求一个二维数组两条对角线上元素的最大值和最小值;主函数中初始化一个4X4的数组,输出该数组,并调用函数后,输

2、出结果。2. 请编写一个函数fun(char *s, char  c),其功能是:求出s所指字符串中,包含c中字符的个数。例如,若输入字符串为:1234aasdd233, 输入的字符为3, 则输出 3 。3. 旅游景点信息管理程序设计设计结构体数组,结构中包数据为:编号、景点名称、旅游地名、所需费用等。设计各个函数,分别实现以下功能:  (1)输入数据  (2)显示所有信息  (3) 输入旅游地名,显示符合该条件的记录,并所需总费用。设计菜单,通过选择菜单调用以上各函数。工作计划与进度安排:第一天:开题,系统设计。第二天:设计数据库,设计网页。第三天:编

3、码实现,测试系统。第四天:书写设计报告。第五天:系统评价、验收、答辩。指导教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日1 数组应用1.1 题目内容41.2 算法框图41.3 源程序及注释41.4 运行结果72 查找字符72.1 题目内容72.2 算法框图82.3 源程序及注释82.4 运行结果93 旅游景点信息管理程序的设计93.1 题目内容93.2 算法框图93.3 源程序及注释113.4 运行结果134 总结14参考文献14 1.数组应用1.1题目内容编写函数,求一个二维数组两条对角线上元素的最大值和最小值;主函数中初始化一个4X4的数组,输出

4、该数组,并调用函数后,输出结果。1.2算法图框图1.1为数组应用算法图框1.3源程序及注释#include<stdio.h>#define N 4void max(int strN)int i,j,m1,m2;int str1N=0,str2N=0; /*定义了两个一维数组,负初值为0,用于承载量对角线上的数*/for(i=0;i<N;i+) /*两层循环,用于查找*/for(j=0;j<N;j+)if(i=j) /*查找主对角线数,行标等于列表*/str1i=strij; /*将二维数组的主对角线数依次负给一维数组*/if(i+j=N-1) /*查找副对角线数*/st

5、r2i=strij;m1=str10;for(i=1;i<N;i+)if(m1<str1i) /*if语句,用于寻找最大值*/m1=str1i; /*将最大值负给m1*/m2=str20;for(i=1;i<N;i+)if(m2<str2i)m2=str2i;printf("主对角线中最大值:%dn",m1);printf("副对角线中最大值:%dn",m2);void min(int strN)int i,j,m1,m2;int str1N=0,str2N=0;for(i=0;i<N;i+)for(j=0;j<N;j

6、+)if(i=j)str1i=strij;if(i+j=N-1)str2i=strij;m1=str10;for(i=1;i<N;i+)if(m1>str1i)m1=str1i;m2=str20;for(i=1;i<N;i+)if(m2>str2i)m2=str2i;printf("主对角线中最小值:%dn",m1);printf("副对角线中最小值:%dn",m2); void main() int strNN=0; /*定义一个二维数组用于承载输入数据*/ int i,j; printf("请输入一个%d*%d的数组

7、:n",N,N); for(i=0;i<N;i+) /*外层循环控制行数*/ for(j=0;j<N;j+) /*内层循环控制输入数据*/ scanf("%d",&strij); printf("该数组是:n"); for(i=0;i<N;i+) for(j=0;j<N;j+) printf("%4d",strij); printf("n"); /*每输出四个输出一个换行符*/ max(str); /*调用函数,求对角线最大值*/ min(str); /*调用函数,求对角线

8、最小值*/1.4运行结果 图1.2 为数组应用结果运行结果截图2.查找字符2.1题目内容请编写一个函数fun(char *s, char c),其功能是:求出s所指字符串中,包含c中字符的个数。例如,若输入字符串为:1234aasdd233, 输入的字符为3, 则输出 3 。2.2算法图框 图2.1为查找字符算法图框2.3源程序及注释#include<stdio.h>#define N 50int fun(char *s,char c) /*定义了一个指针型数组变量,一个字符*/int n=0;while(*s!=0) /*while循环用于循环结构的结束*/if(*s=c) /*

9、if语句用于判断指针指向的字符是否与输入字符相同*/n+; /*n计算要统计字符的个数*/s+;return n;void main() char strN,ch; int num;printf("请输入一串字符串:");gets(str);printf("请输入一个字符:");scanf("%c",&ch);num=fun(str,ch); /*调用函数*/printf("%c在字符串%s中出现的次数是:%d次n",ch,str,num);2.4程序结果图2.2 字符查找的运行结果截图3.旅游景点信息管理

10、程序设计3.1题目内容设计结构体数组,结构中包数据为:编号、景点名称、旅游地名、所需费用等。设计各个函数,分别实现以下功能: (1)输入数据 (2)显示所有信息 (3) 输入旅游地名,显示符合该条件的记录,并所需总费用。设计菜单,通过选择菜单调用以上各函数。3.2算法图框 图3.1.1为旅游景点信息管理程序设计主调函数算法图框图3.1.2为旅游景点信息管理程序设计被调函数查找部分算法图框3.3源程序及注释#include<stdio.h>#include<string.h>#define N 20struct travel int num; /*定义整型变量num表示编

11、号*/ char sightN; /*定义字符串数组,用于承载景点名称*/ char addressN; /*定义字符串数组,用于承载旅游地名称*/ int price; /*定义整型变量price表示所需费用*/;int n=0;struct travel tN;void set(struct travel *p) /*此处为被调函数,用于数据输入*/ printf("第%d个旅游地点:n",n+1); scanf("%d",&pn.num); scanf("%s",&pn.address); scanf("

12、;%s",&pn.sight); scanf("%d",&pn.price); pn.num=n+1; n+;void show(struct travel *p) /*此处为被调函数,用于显示所有输入信息*/ int i=0; printf("n编号t景点名称t旅游地名t所需费用n"); for(i=0;i<n;i+) /*for循环,用于控制输出*/ printf("%dt%stt%st%dn",pi.num,pi.sight,pi.address,pi.price); void fun(struc

13、t travel *p) /*此处为被调函数,用于查找信息*/ char sortN; /*定义一个字符串数组,用于承载需查找的旅游地名*/ int m=0; printf("n请输入旅游地名:"); scanf("%s",sort); printf("n编号t景点名称t旅游地名t所需费用n"); for(m=0;m<n;m+) if(!strcmp(sort,pm.address)/*比较所输入旅游地名与指针指向的字符串是否相同*/ printf("%dt%stt%st%dn",pm.num,pm.sigh

14、t,pm.address,pm.price); void main() int a; Do /*dowhile循环控制程序运行于结束*/ printf("n*请选择菜单*n"); printf("n1.输入数据 2.显示所有信息 3.显示符合条件信息n"); printf("n输入一个数字:"); scanf("%d",&a);switch(a) /*switch()结构,用于选择调用哪个被调函数*/ case 1:set(t); break; case 2:show(t); break; case 3:f

15、un(t); break; default:printf("not fountn"); while(1);3.4运行结果图3.3为旅游景点信息管理程序的设计的运行结果截图4. 总结我的课程设计是数组应用、查找字符、旅游景点信息管理程序的设计。经过近两天的设计和同学的帮助,我的程序终于完成了!达到了要求的目的。对于我们这些新手来说,这是很大的考验,我一次次的问自己,怎么才能找到课堂所学与实际应用的最佳结合点?怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?怎样让自己的计划更具有序性,而不会忙无一用?经过自己的琢磨,听取了同学的建议,还查阅了很多书籍,才做到了心中有数,才了

16、解了C语言课程设计的真正用意培养自学能力,养成程序编辑的好习惯。我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻懒惰的借口,我要积极,要把握,要努力。我们自己能做到的仅此而已,因为人力也有所不能及。在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解

17、决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,在一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。不得不说这是精神的胜利,是永不言败的精神让我夺得胜利。谢谢给我指点迷津的老师!5.参考文献 马秀丽,刘志妩,李筠C语言程序设计北京清华大学出版社C语言课程设计任务(三十一)题目名称:数组应用、查找字符、旅游景点信息管理程序的设计内容及要求:5. 编写函数,求一个二维数组两条对角线上元素的最大值和最小值;主函数中初始化一个4X4的数组,输出该数组,并调用函数后,输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论