C语言课程设计Word文档下载推荐.docx
- 文档编号:16516174
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:14
- 大小:158KB
C语言课程设计Word文档下载推荐.docx
《C语言课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言课程设计Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
c),其功能是:
求出s所指字符串中,包含c中字符的个数。
例如,若输入字符串为:
1234aasdd233,输入的字符为3,则输出3。
3.旅游景点信息管理程序设计
设计结构体数组,结构中包数据为:
编号、景点名称、旅游地名、所需费用等。
设计各个函数,分别实现以下功能:
(1)输入数据
(2)显示所有信息
(3)输入旅游地名,显示符合该条件的记录,并所需总费用。
设计菜单,通过选择菜单调用以上各函数。
工作计划与进度安排:
第一天:
开题,系统设计。
第二天:
设计数据库,设计网页。
第三天:
编码实现,测试系统。
第四天:
书写设计报告。
第五天:
系统评价、验收、答辩。
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
1数组应用
1.数组应用
1.1题目内容
编写函数,求一个二维数组两条对角线上元素的最大值和最小值;
1.2算法图框
图1.1为数组应用算法图框
1.3源程序及注释
#include<
stdio.h>
#defineN4
voidmax(intstr[][N]){
inti,j,m1,m2;
intstr1[N]={0},str2[N]={0};
/*定义了两个一维数组,负初值为0,用于承载量对角线上的数*/
for(i=0;
i<
N;
i++)/*两层循环,用于查找*/
for(j=0;
j<
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])/*if语句,用于寻找最大值*/
m1=str1[i];
/*将最大值负给m1*/
m2=str2[0];
if(m2<
str2[i])
m2=str2[i];
printf("
主对角线中最大值:
%d\n"
m1);
副对角线中最大值:
m2);
voidmin(intstr[][N])
i++)
if(i==j)
if(i+j==N-1)
if(m1>
str1[i])
if(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]);
}
该数组是:
);
%4d"
str[i][j]);
/*每输出四个输出一个换行符*/
max(str);
/*调用函数,求对角线最大值*/
min(str);
/*调用函数,求对角线最小值*/
1.4运行结果
图1.2为数组应用结果运行结果截图
2.查找字符
2.1题目内容
请编写一个函数fun(char*s,charc),其功能是:
2.2算法图框
图2.1为查找字符算法图框
2.3源程序及注释
#defineN50
intfun(char*s,charc)/*定义了一个指针型数组变量,一个字符*/
intn=0;
while(*s!
=0){/*while循环用于循环结构的结束*/
if(*s==c)/*if语句用于判断指针指向的字符是否与输入字符相同*/
n++;
/*n计算要统计字符的个数*/
s++;
returnn;
charstr[N],ch;
intnum;
请输入一串字符串:
"
gets(str);
请输入一个字符:
scanf("
%c"
ch);
num=fun(str,ch);
/*调用函数*/
%c在字符串%s中出现的次数是:
%d次\n"
ch,str,num);
2.4程序结果
图2.2字符查找的运行结果截图
3.1题目内容
(1)输入数据
(2)显示所有信息(3)输入旅游地名,显示符合该条件的记录,并所需总费用。
3.2算法图框
图3.1.1为旅游景点信息管理程序设计主调函数算法图框
图3.1.2为旅游景点信息管理程序设计被调函数查找部分算法图框
3.3源程序及注释
string.h>
#defineN20
structtravel
{intnum;
/*定义整型变量num表示编号*/
charsight[N];
/*定义字符串数组,用于承载景点名称*/
charaddress[N];
/*定义字符串数组,用于承载旅游地名称*/
intprice;
/*定义整型变量price表示所需费用*/
};
structtravelt[N];
voidset(structtravel*p)/*此处为被调函数,用于数据输入*/
{printf("
第%d个旅游地点:
n+1);
p[n].num);
%s"
p[n].address);
p[n].sight);
p[n].price);
p[n].num=n+1;
n++;
voidshow(structtravel*p)/*此处为被调函数,用于显示所有输入信息*/
{inti=0;
\n编号\t景点名称\t旅游地名\t所需费用\n"
n;
i++)/*for循环,用于控制输出*/
%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;
\n请输入旅游地名:
sort);
for(m=0;
m<
m++)
{if(!
strcmp(sort,p[m].address))/*比较所输入旅游地名与指针指向的字符串是否相同*/
p[m].num,p[m].sight,p[m].address,p[m].price);
{inta;
Do/*do…while循环控制程序运行于结束*/
{printf("
\n***请选择菜单***\n"
\n1.输入数据2.显示所有信息3.显示符合条件信息\n"
\n输入一个数字:
a);
switch(a)/*switch()结构,用于选择调用哪个被调函数*/
{case1:
set(t);
break;
case2:
show(t);
case3:
fun(t);
break;
default:
notfount\n"
}while
(1);
3.4运行结果
图3.3为旅游景点信息管理程序的设计的运行结果截图
4.总结
我的课程设计是数组应用、查找字符、旅游景点信息管理程序的设计。
经过近两天
的设计和同学的帮助,我的程序终于完成了!
达到了要求的目的。
对于我们这些新手来说,这是很大的考验,我一次次的问自己,怎么才能找到课堂所
学与实际应用的最佳结合点?
怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?
怎
样让自己的计划更具有序性,而不会忙无一用?
经过自己的琢磨,听取了同学的建议,还查
阅了很多书籍,才做到了心中有数,才了解了C语言课程设计的真正用意——培养自学能
力,养成程序编辑的好习惯。
我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻
懒惰的借口,我要积极,要把握,要努力。
我们自己能做到的仅此而已,因为人力也有所不
能及。
在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实
现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收
获的是黎明。
在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我
的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。
老天不会让我太过
顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?
在这个问题的
解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。
没有了柳
暗花明的一天,那么我怎么能说经受住了考验?
谢谢老师的那句话,她说:
人力有所不能及
,然而,人的精神是不会败倒的。
我鼓起勇气,到处问,到处查资料,黄天不负有心人,在
一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。
不得不说这是
精神的胜利,是永不言败的精神让我夺得胜利。
谢谢给我指点迷津的老师!
5.参考文献
马秀丽,刘志妩,李筠.C语言程序设计.北京.清华大学出版社.
题目名称:
内容及要求:
5.编写函数,求一个二维数组两条对角线上元素的最大值和最小值;
6.请编写一个函数fun(char*s,char
7.旅游景点信息管理程序设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计