课程设计说明书【范本模板】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
邮电与信息工程学院
课程设计说明书
课题名称:软件项目实训
学生学号:6102040124
专业班级:11测控01班
学生姓名: 徐晗
学生成绩:
指导教师:陈希
课题工作时间:2014-6—9至2014-6-22
一、课程设计任务的基本要求:
(1)课程设计目的:
1.全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶向
下,逐步细化,模块化的设计原则。
2.掌握C语言基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设计。
3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的
能力.
(2)课程设计总体要求:
1。
采用模块化程序设计方法。
2.主菜单设计界面如下:
3.子菜单界面如下:
选择结构子菜单:
循环结构子菜单:
4。
在对应模块下完成如下功能: (1)单选择if语句:
(2)双选择if语句:
(3)多选择if语句:
(4)switch语句
(5)while循环语句
(6)do—while循环语句
(7)for循环语句
(8)循环嵌套
例如:switch语句案例界面:
(3)论文部分
1、学生应提交的资料:纸质《课程设计说明书》1份;课程设计报告1份。
2、课程设计报告的内容附在《课程设计说明书》后,内容包括:
一、设计目的
1。
全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而下,逐步细化,模块化的原则。
2。
掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设计。
3。
掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能力.
二、系统功能模块图
(略)
三、设计函数列表
在C语言中每一个功能模块都对应一个函数,即由函数来实现各功能模块的具体功能,也就是建立功能模块与函数之间一一对应的关系,在编写程序时可以减少不
课程设计报告
一、设计目的
1. 全面理解程序的顺序结构、选择结构、循环结构,掌握结构化程序设计的自顶而下,逐步细化,模块化的原则。
2. 掌握C语言的基础知识,灵活应用函数、指针、数组、结构体等知识进行程序设计.
3.掌握利用C语言进行程序设计的方法和技巧,提高学生综合分析和调试程序的能力。
二、系统功能模块图
1.采用模块化程序设计方法
2。
主菜单设计界面如下:
3. 子菜单界面如下:
选择结构子菜单:
循环结构子菜单:
4.在对应模块下完成如下功能: (1)单选择if语句案例界面:
(2)双选择if语句案例界面:
(3)多选择if语句案例界面: (4)switch语句案例界面:
(5) while循环语句案例界面:
(6)do—while循环语句案例界面:
(7)for循环语句案例界面:
(8)循环嵌套案例界面:
三、设计函数列表
在C语言中每一个功能模块都对应一个函数,即由函数来实现各功能模块的具体功能,也就是建立功能模块与函数之间一一对应的关系,在编写程序时可以减少不必要的麻烦,从而提高编写程序的效率。
模块名函数名说明
主菜单main() 显示主菜单
子菜单选择显示选择子菜单
子菜单循环显示循环子菜单
单选泽if 单选泽if模块
双选择if双选择if模块
多选择if 多选择if模块
Switch选择Switch选择模块
While循环While循环模块
Do—while循环Do—while循环模块
For循环For循环模块
嵌套循环嵌套循环模块
四、程序代码( 源程序清单:按照上面表格的顺序书写上面的所有函数,注意缩
进式书写格式)
#include 〈stdio。
h>
void main()
{
ﻩvoid printstar();
ﻩvoid print_message();
ﻩvoid printsecond();
void print_m();
ﻩprintstar();
ﻩprint_message();
ﻩprintstar();
ﻩprintf("\n”);
ﻩprintf(”\n”);
print_m();
}
void printstar()
{
ﻩprintf("****************************************************\n”);
}
voidprint_message()
{
ﻩprintf("* 欢迎进入C语言模块化案例系统*\n");
printf(”* 制作人:徐晗
*\n");
ﻩprintf(”*设计日期:2014年6月9日
*\n”);
}
void print_m()
{
printf(”**************************** \n”);
printf("* C语言模块化案例系统 *
\n”);
ﻩprintf(” * 1.选择结构 *
\n”);
printf(”* 2.循环结构 *
\n");
printf(" * 0。
退出系统 *
\n");
ﻩprintf(" ****************************
\n");
ﻩprintf("请选择相应模块编号(0—2):”);
ﻩvoid print_xuan();
void print_xun();
int i;
scanf(”%d”,&i);
switch (i)
{case 0:break;
case 1:print_xuan();break;
case 2:print_xun();break;
ﻩ}
}
void print_xuan()
{
printf(” **************************** \n");
ﻩprintf(”*选择结构 *
\n");
printf(" * 1。
单选择if语句*
\n");
ﻩprintf(" * 2。
双选择if语句 *
\n");
printf(" * 3。
多选择if语句*
\n");
printf(" * 4.switch语句 * \n”);
printf(" * 0.返回系统 *
\n”);
printf(" **************************** \n”);
printf(”请选择相应模块编号(0—4):”);
ﻩvoid one();
void two();
void three();
void four();
ﻩint j;
scanf("%d”,&j);
switch (j)
{case 0:print_m();break;
ﻩcase1:one();break;
ﻩcase2:two();break;
case 3:three();break;
ﻩcase 4:four();break;
ﻩ}
}
void one()
{
ﻩprintstar();
printf("* 题目(1):单选择语句:程序的功能是输入一个表*\n”); ﻩprintf(”*达式x>y,判断其真假,输入x,y的值,如果大于*\n");ﻩprintf("* 为真,则输出x,如果小于为假,则不输出*\n”);ﻩprintstar();
int x,y ;
printf("请输入x,y:");
scanf(”%d,%d”,&x,&y);
ﻩif(x>y)
ﻩprintf("%d”,x);
ﻩprintf(”x=%d\n",x);
print_xuan();
}
void two()
{
printstar();
printf("* 题目(2):双选择语句:程序的功能是输入一个表*\n");
printf("* 达式,如x>y,判断其真假,输入x,y的值,如果大 *\n");
printf(”* 于为真,则输出x,如果小于为假,则输出y *\n”);
printstar();
int x,y;
printf(”请输入x,y:”);
scanf(”%d,%d”,&x,&y);
if(x〉y)
ﻩﻩprintf(”max=%d\n”,x);
else
ﻩﻩprintf("max=%d\n",y);
ﻩprint_xuan();
}
void three()
{
ﻩ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();
int i;
double cost;
printf(”请输入i:");
ﻩscanf(”%d”,&i);
if(i〉500) cost=0.15;
else if(i>300) cost=0.10;
ﻩﻩ elseif(i>100) cost=0.075;
else cost=0;
ﻩprintf(”i=%d,cost=%d\n”,i,cost);
print_xuan();
}
void four()
{
ﻩprintstar();
ﻩprintf(”* 题目(4):switch语句:程序的功能是输入一个*\n");
printf("* 1—7之间的整数,输出相应的星期,如果是其他的*\n”);
printf(”* 整数,则输出“数据错误!”,如输入1, *\n”);
printf(”*输出“星期一",输入7,则输出“星期日" *\n");
printstar();
int x;
ﻩprintf("请输入x:”);
scanf("%d”,&x);
ﻩswitch(x)
{
ﻩﻩ
ﻩcase 1: printf("星期一\n”);break;
case 2: printf(”星期二\n");break;
case3: printf("星期三\n");break;
ﻩcase 4: printf("星期四\n”);break;
case 5: printf(”星期五\n”);break;
ﻩcase6: printf(”星期六\n”);break;
ﻩcase 7:printf(”星期日\n");break;
default: printf("数据错误!\n");break;
}
ﻩprint_xuan();
voidprint_xun()
{
printf(”****************************
\n");
printf(”*循环结构 *
\n");
printf(” * 1。
while循环语句*
\n");
printf(" * 2。
do-whlie循环语句*
\n”);
printf(”*3。
for循环语句*
\n");
ﻩprintf(” * 4.循环嵌套*
\n”);
ﻩprintf(" * 0.返回系统* \n”);
printf(”**************************** \n”);
printf(”请选择相应模块编号(0-4):");
void one_o();
void two_t();
void three_t();
void four_f();
ﻩ{int k;
scanf(”%d”,&k);
switch (k)
{case 0:print_m();break;
ﻩcase 1:one_o();break;
ﻩcase 2:two_t();break;
case 3:three_t();break;
case 4:four_f();break;
ﻩ}
void one_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();
int a=1,s=0;
ﻩwhile(a〈=100)
{
ﻩﻩs=s+a;
ﻩﻩa++;
}
printf("最后的结果是:%d\n",s);
print_xun();
}
void two_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();
int a=0,s=0;
do
ﻩ{
ﻩs=s+a;
a++;
ﻩ}while(a〈=100);
printf(”最后的结果是:%d\n",s);
ﻩprint_xun();
}
void three_t()
{
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("最后的结果是:%d\n”,s);
print_xun();
ﻩﻩ
}
void four_f()
{
ﻩprintstar();
printf("*题目(4):循环嵌套:程序的功能是首先定i=1,*\n");
ﻩprintf(”* 再判断i〈=3是否成立,若成立则定义j=1,判断j〈=i *\n”);
printf("*是否成立,若成立则执行s=i+j。
j加一后,i再加一,*\n");
printf(”* 直到i加到大于3时,不再进行。
*\n");
printstar();
int x,y,s;
ﻩfor(x=1;x<=3;x++)
{
for(y=1;y<=x;y++)
ﻩﻩﻩs=x+y;
ﻩﻩprintf(”%d\n”,s);
}
ﻩprint_xun();
}
五、编程及调试过程中遇到的主要问题及解决方法
问题一:编译错误
原因:Printf的首字母大写
解决方法:询问老师,将大写字母改为小写
问题二:语法错误
原因:Do while语句的花括号忘写
解决方法:与同学讨论,补上花括号
六、设计心得体会
虽然在开学初我对C语言这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对C语言的兴趣也在逐渐增加.
这次C语言课程设计我们历时一个星期,对我来说学到的不仅是那些知识,更多的是耐心与细心,它不仅仅让我们综合那些理论知识来运用到设计和创新,更重要的是培养我们的耐心与细心。
在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。
为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的.
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,重要的是如何把自己平时所学的东西应用到实验中。
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它.
课程设计评审标准(指导教师用)。