C语言课程设计.docx

上传人:b****5 文档编号:3611233 上传时间:2022-11-24 格式:DOCX 页数:14 大小:158KB
下载 相关 举报
C语言课程设计.docx_第1页
第1页 / 共14页
C语言课程设计.docx_第2页
第2页 / 共14页
C语言课程设计.docx_第3页
第3页 / 共14页
C语言课程设计.docx_第4页
第4页 / 共14页
C语言课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言课程设计.docx

《C语言课程设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

C语言课程设计.docx

C语言课程设计

沈阳理工大学(信息科学与技术学院)

2013/12/31

C语言课程设计

成绩评定表

学生姓名

班级学号

专业

电子信息工程

课程设计题目

C语言课程设计任务(三十一)

数组应用、查找字符、旅游景点信息管理程序的设计

 

 

组长签字:

成绩

 

日期

20年月日

课程设计任务书

学院

信息科学与工程学院

专业

电子信息工程

学生姓名

马斌

班级学号

1303030331

课程设计题目

C语言课程设计任务(三十一)数组应用、查找字符、旅游景点信息管理程序的设计

实践教学要求与任务:

1.编写函数,求一个二维数组两条对角线上元素的最大值和最小值;主函数中初始化一个4X4的数组,输出该数组,并调用函数后,输出结果。

2.请编写一个函数fun(char*s,char c),其功能是:

求出s所指字符串中,包含c中字符的个数。

例如,若输入字符串为:

1234aasdd233,输入的字符为3,则输出3。

3.旅游景点信息管理程序设计

设计结构体数组,结构中包数据为:

编号、景点名称、旅游地名、所需费用等。

设计各个函数,分别实现以下功能:

 

(1)输入数据 

(2)显示所有信息 (3)输入旅游地名,显示符合该条件的记录,并所需总费用。

设计菜单,通过选择菜单调用以上各函数。

工作计划与进度安排:

第一天:

开题,系统设计。

第二天:

设计数据库,设计网页。

第三天:

编码实现,测试系统。

第四天:

书写设计报告。

第五天:

系统评价、验收、答辩。

指导教师:

201年月日

专业负责人:

201年月日

学院教学副院长:

201年月日

1数组应用

1.数组应用

1.1题目内容

编写函数,求一个二维数组两条对角线上元素的最大值和最小值;主函数中初始化一个4X4的数组,输出该数组,并调用函数后,输出结果。

1.2算法图框

图1.1为数组应用算法图框

1.3源程序及注释

#include

#defineN4

voidmax(intstr[][N]){

inti,j,m1,m2;

intstr1[N]={0},str2[N]={0};/*定义了两个一维数组,负初值为0,用于承载量对角线上的数*/

for(i=0;i

for(j=0;j

{

if(i==j)/*查找主对角线数,行标等于列表*/

{

str1[i]=str[i][j];/*将二维数组的主对角线数依次负给一维数组*/

}

if(i+j==N-1)/*查找副对角线数*/

{

str2[i]=str[i][j];

}

}

m1=str1[0];

for(i=1;i

if(m1

m1=str1[i];/*将最大值负给m1*/

}

m2=str2[0];

for(i=1;i

if(m2

m2=str2[i];

}

printf("主对角线中最大值:

%d\n",m1);

printf("副对角线中最大值:

%d\n",m2);

}

voidmin(intstr[][N])

{

inti,j,m1,m2;

intstr1[N]={0},str2[N]={0};

for(i=0;i

for(j=0;j

{

if(i==j)

{

str1[i]=str[i][j];

}

if(i+j==N-1)

{

str2[i]=str[i][j];

}

}

m1=str1[0];

for(i=1;i

if(m1>str1[i])

m1=str1[i];

}

m2=str2[0];

for(i=1;i

if(m2>str2[i])

m2=str2[i];

}

printf("主对角线中最小值:

%d\n",m1);

printf("副对角线中最小值:

%d\n",m2);

}

voidmain()

{

intstr[N][N]={0};/*定义一个二维数组用于承载输入数据*/

inti,j;

printf("请输入一个%d*%d的数组:

\n",N,N);

for(i=0;i

{

for(j=0;j

scanf("%d",&str[i][j]);

}

printf("该数组是:

\n");

for(i=0;i

{

for(j=0;j

printf("%4d",str[i][j]);

printf("\n");/*每输出四个输出一个换行符*/

}

max(str);/*调用函数,求对角线最大值*/

min(str);/*调用函数,求对角线最小值*/

}

 

1.4运行结果

图1.2为数组应用结果运行结果截图

 

2.查找字符

2.1题目内容

请编写一个函数fun(char*s,charc),其功能是:

求出s所指字符串中,包含c中字符的个数。

例如,若输入字符串为:

1234aasdd233,输入的字符为3,则输出3。

 

2.2算法图框

图2.1为查找字符算法图框

2.3源程序及注释

#include

#defineN50

intfun(char*s,charc)/*定义了一个指针型数组变量,一个字符*/

{

intn=0;

while(*s!

=0){/*while循环用于循环结构的结束*/

if(*s==c)/*if语句用于判断指针指向的字符是否与输入字符相同*/

n++;/*n计算要统计字符的个数*/

s++;

}

returnn;

}

voidmain()

{

charstr[N],ch;

intnum;

printf("请输入一串字符串:

");

gets(str);

printf("请输入一个字符:

");

scanf("%c",&ch);

num=fun(str,ch);/*调用函数*/

printf("%c在字符串%s中出现的次数是:

%d次\n",ch,str,num);

}

2.4程序结果

图2.2字符查找的运行结果截图

 

3.旅游景点信息管理程序设计

3.1题目内容

设计结构体数组,结构中包数据为:

编号、景点名称、旅游地名、所需费用等。

设计各个函数,分别实现以下功能:

(1)输入数据

(2)显示所有信息(3)输入旅游地名,显示符合该条件的记录,并所需总费用。

设计菜单,通过选择菜单调用以上各函数。

 

3.2算法图框

图3.1.1为旅游景点信息管理程序设计主调函数算法图框

图3.1.2为旅游景点信息管理程序设计被调函数查找部分算法图框

3.3源程序及注释

#include

#include

#defineN20

structtravel

{intnum;/*定义整型变量num表示编号*/

charsight[N];/*定义字符串数组,用于承载景点名称*/

charaddress[N];/*定义字符串数组,用于承载旅游地名称*/

intprice;/*定义整型变量price表示所需费用*/

};

intn=0;

structtravelt[N];

voidset(structtravel*p)/*此处为被调函数,用于数据输入*/

{printf("第%d个旅游地点:

\n",n+1);

scanf("%d",&p[n].num);

scanf("%s",&p[n].address);

scanf("%s",&p[n].sight);

scanf("%d",&p[n].price);

p[n].num=n+1;

n++;

}

voidshow(structtravel*p)/*此处为被调函数,用于显示所有输入信息*/

{inti=0;

printf("\n编号\t景点名称\t旅游地名\t所需费用\n");

for(i=0;i

{printf("%d\t%s\t\t%s\t%d\n",p[i].num,p[i].sight,p[i].address,p[i].price);

}

}

voidfun(structtravel*p)/*此处为被调函数,用于查找信息*/

{charsort[N];/*定义一个字符串数组,用于承载需查找的旅游地名*/

intm=0;

printf("\n请输入旅游地名:

");

scanf("%s",sort);

printf("\n编号\t景点名称\t旅游地名\t所需费用\n");

for(m=0;m

{if(!

strcmp(sort,p[m].address))/*比较所输入旅游地名与指针指向的字符串是否相同*/

{printf("%d\t%s\t\t%s\t%d\n",p[m].num,p[m].sight,p[m].address,p[m].price);

}

}

}

voidmain()

{inta;

Do/*do…while循环控制程序运行于结束*/

{printf("\n***请选择菜单***\n");

printf("\n1.输入数据2.显示所有信息3.显示符合条件信息\n");

printf("\n输入一个数字:

");

scanf("%d",&a);

switch(a)/*switch()结构,用于选择调用哪个被调函数*/

{case1:

set(t);

break;

case2:

show(t);

break;

case3:

fun(t);

break;

default:

printf("notfount\n");

}

}while

(1);

}

3.4运行结果

图3.3为旅游景点信息管理程序的设计的运行结果截图

4.总结

我的课程设计是数组应用、查找字符、旅游景点信息管理程序的设计。

经过近两天

的设计和同学的帮助,我的程序终于完成了!

达到了要求的目的。

对于我们这些新手来说,这是很大的考验,我一次次的问自己,怎么才能找到课堂所

学与实际应用的最佳结合点?

怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?

样让自己的计划更具有序性,而不会忙无一用?

经过自己的琢磨,听取了同学的建议,还查

阅了很多书籍,才做到了心中有数,才了解了C语言课程设计的真正用意——培养自学能

力,养成程序编辑的好习惯。

我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻

懒惰的借口,我要积极,要把握,要努力。

我们自己能做到的仅此而已,因为人力也有所不

能及。

在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实

现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收

获的是黎明。

在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我

的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。

老天不会让我太过

顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?

在这个问题的

解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。

没有了柳

暗花明的一天,那么我怎么能说经受住了考验?

谢谢老师的那句话,她说:

人力有所不能及

,然而,人的精神是不会败倒的。

我鼓起勇气,到处问,到处查资料,黄天不负有心人,在

一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。

不得不说这是

精神的胜利,是永不言败的精神让我夺得胜利。

谢谢给我指点迷津的老师!

5.参考文献

马秀丽,刘志妩,李筠.C语言程序设计.北京.清华大学出版社.

 

C语言课程设计任务(三十一)

题目名称:

数组应用、查找字符、旅游景点信息管理程序的设计

内容及要求:

5.编写函数,求一个二维数组两条对角线上元素的最大值和最小值;主函数中初始化一个4X4的数组,输出该数组,并调用函数后,输出结果。

6.请编写一个函数fun(char*s,char c),其功能是:

求出s所指字符串中,包含c中字符的个数。

例如,若输入字符串为:

1234aasdd233,输入的字符为3,则输出3。

7.旅游景点信息管理程序设计

设计结构体数组,结构中包数据为:

编号、景点名称、旅游地名、所需费用等。

设计各个函数,分别实现以下功能:

 

(1)输入数据 

(2)显示所有信息 (3)输入旅游地名,显示符合该条件的记录,并所需总费用。

设计菜单,通过选择菜单调用以上各函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1