.
1/32
邮电与信息工程学院
课程设计说明书
课题名称:软件项目实训
学生学号:6102040124
专业班级:11测控01班
学生:徐晗
学生成绩:
指导教师:希
课题工作时间:2014-6-9至2014-6-22
.
2/32
一、课程设计任务的基本要求:
(1)课程设计目的:
1.全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶
向下,逐步细化,模块化的设计原则。
2.掌握C语言基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设
计。
3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的
能力。
(2)课程设计总体要求:
1.采用模块化程序设计方法。
2.主菜单设计界面如下:
3.子菜单界面如下:
选择结构子菜单:
.
3/32
循环结构子菜单:
4.在对应模块下完成如下功能:
(1)单选择if语句:
(2)双选择if语句:
(3)多选择if语句:
(4)switch语句
(5)while循环语句
(6)do-while循环语句
(7)for循环语句
(8)循环嵌套
例如:switch语句案例界面:
.
4/32
(3)论文部分
1、学生应提交的资料:纸质《课程设计说明书》1份;课程设计报告1份。
2、课程设计报告的容附在《课程设计说明书》后,容包括:
一、设计目的
1.全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而
下,逐步细化,模块化的原则。
2.掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设
计。
3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能
力。
.
5/32
二、系统功能模块图
(略)
三、设计函数列表
在C语言中每一个功能模块都对应一个函数,即由函数来实现各功能模块的具
体功能,也就是建立功能模块与函数之间一一对应的关系,在编写程序时可以减少
不必要的麻烦,从而提高编写程序的效率。
表一自定义函数表
模块名函数名说明
C语言模块化系统main()主控模块
显示主菜单showmenu()显示菜单
…(略)
四、程序代码(源程序清单:按照上面表格的顺序书写上面的所有函数,注意缩进
式书写格式)
(略)
五、编程及调试过程中遇到的主要问题及解决方法
(略)
六、设计心得体会
(略)
三、课程设计报告格式
1、课程设计(论文)报告要求用A4纸排版,单面打印,与《课程设计说明书》一起装
订成册。
2、课程设计(论文)报告正文参考字数:1000字左右
.
6/32
3、正文格式
①页边距:上2.5cm,下2.5cm,左2.5cm,右2cm,页眉1.5cm,页脚1.5cm,左侧装
订;
②字体:章标题,二号字、黑体、居中;节标题,三号、黑体;正文文字,小四号字、
宋体;
指导教师签字:
年月日
.
7/32
二、进度安排:
1、系统设计
十七周:上午8:30-11:30
下午2:30-5:00
2、撰写课程设计报告
十八周:周一~周四
3、报告提交
十八周:周五
三、应收集资料及主要参考文献:
1.谭浩强著,C++程序设计(第三版),:清华大学,2005
2.谈浩强著.C++程序设计。:清华大学,2004.
3.谭浩强编著,C程序设计题解与上机指导(第三版),:清华
大学,2005
4.C编写组编,常用C语言用法速查手册,龙门书局,1995
tH著,王曦若,沛译,ANSIC标准详解,学苑
,1994
.
8/32
四、课程设计摘要(中文):
C语言是一种很好的结构化程序设计语言;结构化程序设计方法可以概括为自顶向
下、逐步求精、模块化、限制使用goto语句,将原来较为复杂的问题化简为一系列简
单模块的设计。一个程序的任何逻辑问题均可用顺序结构、选择结构和循环结构这三种
基本结构来描述。
【关键词】:C语言结构化程序设计顺序结构选择结构循环结构
.
9/32
五、课程设计摘要(英文):
AbstracttheClanguageisastructuredprogramminglanguagewell;structured
programdesignmethodcanbegeneralizedastop-down,stepwirefinement,
modularity,restrictionsontheuofthegotostatement,thedesignofthe
d
oflogicofaprogramareavailablequencestructure,lectionofthethree
kindsofbasicstructureandcyclestructuretodescribe.
Keyword:Clanguagestructuredprogrammingquencestructurelection
structureloopstructure
.
10/32
六、成绩评定:
指导教师评语:
指导教师签字:
年月日
项目评价项目评价
.
11/32
调查论证
工作量、工作态
度
实践能力
分析、解决问
题能力
质量
创新
得分
七、答辩纪录:
答辩意见及答辩成绩
.
12/32
答辩小组教师(签字):
年月日
课程设计报告
一、设计目的
1.全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而
下,逐步细化,模块化的原则。
2.掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设
计。
3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能
力。
二、系统功能模块图
1.采用模块化程序设计方法
单选泽函数
双选择函数
选择函数
.
13/32
2.主菜单设计界面如下:
多选择函数
switch函数
主菜单函数
While循环
Do-while循环
循环函数
For循环
嵌套循环
.
14/32
3.子菜单界面如下:
选择结构子菜单:
.
15/32
循环结构子菜单:
4.在对应模块下完成如下功能:
(1)单选择if语句案例界面:
.
16/32
(2)双选择if语句案例界面:
(3)多选择if语句案例界面:
(4)switch语句案例界面:
.
17/32
(5)while循环语句案例界面:
(6)do-while循环语句案例界面:
(7)for循环语句案例界面:
.
18/32
(8)循环嵌套案例界面:
三、设计函数列表
在C语言中每一个功能模块都对应一个函数,即由函数来实现各功能模块的具
体功能,也就是建立功能模块与函数之间一一对应的关系,在编写程序时可以减少
不必要的麻烦,从而提高编写程序的效率。
表一自定义函数表
模块名函数名说明
主菜单main()显示主菜单
子菜单选择显示选择子菜单
子菜单循环显示循环子菜单
单选泽if单选泽if模块
双选择if双选择if模块
多选择if多选择if模块
Switch选择Switch选择模块
While循环While循环模块
Do-while循环Do-while循环模块
.
19/32
For循环For循环模块
嵌套循环嵌套循环模块
四、程序代码(源程序清单:按照上面表格的顺序书写上面的所有函数,注意
缩进式书写格式)
#include
voidmain()
{
voidprintstar();
voidprint_message();
voidprintcond();
voidprint_m();
printstar();
print_message();
printstar();
printf("n");
printf("n");
print_m();
}
voidprintstar()
{
printf("****************************************************n");
}
.
20/32
voidprint_message()
{
printf("*欢迎进入C语言模块化案例系统*n");
printf("*制作人:徐晗*n");
printf("*设计日期:2014年6月9日*n");
}
voidprint_m()
{
printf("****************************n");
printf("*C语言模块化案例系统*n");
printf("*1.选择结构*n");
printf("*2.循环结构*n");
printf("*0.退出系统*n");
printf("****************************n");
printf("请选择相应模块编号(0-2):");
voidprint_xuan();
voidprint_xun();
inti;
scanf("%d",&i);
switch(i)
.
21/32
{ca0:break;
ca1:print_xuan();break;
ca2:print_xun();break;
}
}
voidprint_xuan()
{
printf("****************************n");
printf("*选择结构*n");
printf("*1.单选择if语句*n");
printf("*2.双选择if语句*n");
printf("*3.多选择if语句*n");
printf("*语句*n");
printf("*0.返回系统*n");
printf("****************************n");
printf("请选择相应模块编号(0-4):");
voidone();
voidtwo();
voidthree();
voidfour();
intj;
.
22/32
scanf("%d",&j);
switch(j)
{ca0:print_m();break;
ca1:one();break;
ca2:two();break;
ca3:three();break;
ca4:four();break;
}
}
voidone()
{
printstar();
printf("*题目(1):单选择语句:程序的功能是输入一个表*n");
printf("*达式x>y,判断其真假,输入x,y的值,如果大于*n");
printf("*为真,则输出x,如果小于为假,则不输出*n");
printstar();
intx,y;
printf("请输入x,y:");
scanf("%d,%d",&x,&y);
if(x>y)
printf("%d",x);
printf("x=%dn",x);
.
23/32
print_xuan();
}
voidtwo()
{
printstar();
printf("*题目(2):双选择语句:程序的功能是输入一个表*n");
printf("*达式,如x>y,判断其真假,输入x,y的值,如果大*n");
printf("*于为真,则输出x,如果小于为假,则输出y*n");
printstar();
intx,y;
printf("请输入x,y:");
scanf("%d,%d",&x,&y);
if(x>y)
printf("max=%dn",x);
el
printf("max=%dn",y);
print_xuan();
}
.
24/32
voidthree()
{
printstar();
printf("*题目(3):多选择语句:程序的功能是输入任一数*n");
printf("*值i,与500进行比较,若i>500,cost=0.15,再继续*n");
printf("*与300比较,若i>300,则cost=0.10,再与100比较,*n");
printf("*若i>100,则cost=0.075,若以上都不满足,则cost=0*n");
printstar();
inti;
doublecost;
printf("请输入i:");
scanf("%d",&i);
if(i>500)cost=0.15;
elif(i>300)cost=0.10;
elif(i>100)cost=0.075;
elcost=0;
printf("i=%d,cost=%dn",i,cost);
print_xuan();
}
voidfour()
{
printstar();
.
25/32
printf("*题目(4):switch语句:程序的功能是输入一个*n");
printf("*1-7之间的整数,输出相应的星期,如果是其他的*n");
printf("*整数,则输出“数据错误!”,如输入1,*n");
printf("*输出“星期一”,输入7,则输出“星期日”*n");
printstar();
intx;
printf("请输入x:");
scanf("%d",&x);
switch(x)
{
ca1:printf("星期一n");break;
ca2:printf("星期二n");break;
ca3:printf("星期三n");break;
ca4:printf("星期四n");break;
ca5:printf("星期五n");break;
ca6:printf("星期六n");break;
ca7:printf("星期日n");break;
default:printf("数据错误!n");break;
}
print_xuan();
}
.
26/32
voidprint_xun()
{
printf("****************************n");
printf("*循环结构*n");
printf("*循环语句*n");
printf("*-whlie循环语句*n");
printf("*循环语句*n");
printf("*4.循环嵌套*n");
printf("*0.返回系统*n");
printf("****************************n");
printf("请选择相应模块编号(0-4):");
voidone_o();
voidtwo_t();
voidthree_t();
voidfour_f();
{intk;
scanf("%d",&k);
switch(k)
{ca0:print_m();break;
ca1:one_o();break;
ca2:two_t();break;
ca3:three_t();break;
.
27/32
ca4:four_f();break;
}
}
}
voidone_o()
{
printstar();
printf("*题目(1):whlie循环语句:程序的功能是输入*n");
printf("*一个数a初值1,如果a<=100,则s=s+a,且a自加一,*n");
printf("*再次检查a<=100是否成立,若成立则继续执行*n");
printf("*s=s+a,且a自加一。直到a加到大于100为止。*n");
printstar();
inta=1,s=0;
while(a<=100)
{
s=s+a;
a++;
}
printf("最后的结果是:%dn",s);
print_xun();
}
.
28/32
voidtwo_t()
{
printstar();
printf("*题目(2):do-whlie循环语句:程序的功能是输*n");
printf("*入一个数a初值0,首先执行s=s+a,且a自加一,再*n");
printf("*判断a<=100是否成立,若成立则继续执行s=s+a,*n");
printf("*a自加一后判断a<=100是否成立。直到a加到大于*n");
printf("*100时,不再进行。*n");
printstar();
inta=0,s=0;
do
{
s=s+a;
a++;
}while(a<=100);
printf("最后的结果是:%dn",s);
print_xun();
}
voidthree_t()
{
.
29/32
printstar();
printf("*题目(3):for循环语句:程序的功能是输入三个*n");
printf("*表达式i=0;i<=100;i++,首先判断i<=100是否成立*n");
printf("*若成立则继续执行s=s+i,最后执行i++。加一后再*n");
printf("*判断i<=100是否成立,若成立继续执行s=s+i和i++*n");
printf("*直到i加到大于100时,不再进行。*n");
printstar();
ints=0,i;
for(i=0;i<=100;i++)
{
s=s+i;
}
printf("最后的结果是:%dn",s);
print_xun();
}
voidfour_f()
{
printstar();
printf("*题目(4):循环嵌套:程序的功能是首先定i=1,*n");
printf("*再判断i<=3是否成立,若成立则定义j=1,判断j<=i*n");
.
30/32
printf("*是否成立,若成立则执行s=i+j。j加一后,i再加一,*n");
printf("*直到i加到大于3时,不再进行。*n");
printstar();
intx,y,s;
for(x=1;x<=3;x++)
{
for(y=1;y<=x;y++)
s=x+y;
printf("%dn",s);
}
print_xun();
}
五、编程及调试过程中遇到的主要问题及解决方法
问题一:编译错误
原因:Printf的首字母大写
解决方法:询问老师,将大写字母改为小写
问题二:语法错误
原因:Dowhile语句的花括号忘写
解决方法:与同学讨论,补上花括号
六、设计心得体会
虽然在开学初我对C语言这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设
计后我发现自己在一点一滴的努力中对C语言的兴趣也在逐渐增加。
.
31/32
这次C语言课程设计我们历时一个星期,对我来说学到的不仅是那些知识,更多的是耐心
与细心,它不仅仅让我们综合那些理论知识来运用到设计和创新,更重要的是培养我们的耐心与
细心。
在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计
更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、
耐心和努力,重要的是如何把自己平时所学的东西应用到实验中。虽然自己对于这门课懂的并不
多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,
但是靠着这一个多礼拜的“学习”,在同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴
趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
总评成绩:
(教师评分×75%+答辩成绩×25%)
课程设计评审标准(指导教师用)
评价容具体要求权重
调查论证
能独立阅读文献和从事其他调研;能提出并较好地论述
课题实施方案;有收集、加工各种信息及获得新知识的能力。
0.1
实践能力
能正确选择研究(实验)方法,独立进行研究工作。如
装置安装、调试、操作。
0.2
.
32/32
分析解决
问题能力
能运用所学知识和技能去发现和解决实际问题;能正确
处理实验数据;能对课题进行理论分析,得出有价值的结论。
0.2
工作量、
工作态度
按期圆满完成规定任务,工作量饱满,难度较大,工作
努力,遵守纪律;工作作风严谨务实。
0.2
质量
综述简练完整,有见解;立论正确,论述充分,结论严
谨合理;实验正确,分析处理科学;文字通顺,技术用语准
确,符号统一,编号齐全,书写工整规,图表完备、整洁、
正确;论文结果有应用价值。
0.2
创新工作中有创新意识;对前人工作有改造或独特见解。0.1
本文发布于:2023-02-01 18:12:19,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/173932.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |