C语言课程设计指导书Word格式.docx

上传人:b****6 文档编号:17650484 上传时间:2022-12-07 格式:DOCX 页数:20 大小:258.21KB
下载 相关 举报
C语言课程设计指导书Word格式.docx_第1页
第1页 / 共20页
C语言课程设计指导书Word格式.docx_第2页
第2页 / 共20页
C语言课程设计指导书Word格式.docx_第3页
第3页 / 共20页
C语言课程设计指导书Word格式.docx_第4页
第4页 / 共20页
C语言课程设计指导书Word格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言课程设计指导书Word格式.docx

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

C语言课程设计指导书Word格式.docx

6.掌握书写程设计开发文档的能力,使学生学会撰写课程设计总结报告。

课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。

7.通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。

为学生做毕业设计打好基础。

8.初步掌握开发一个小型实用系统的基本方法:

结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。

通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。

9.培养学生的创新能力和创新思维。

学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。

10.培养学生良好的程序设计风格。

在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。

学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。

2课程设计内容

2.1设计环境

1、硬件:

PC机。

2、软件:

操作系统为Win7或Windowsxp,设计语言为VisualC++6.0或TurboC2.0。

2.2基本要求

1.课程设计采取每两人一组,体现团队合作精神,要求选定一人为组长。

2.可以选择老师提供的参考选题(选题方法另行公布),也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用(和网上雷同的一律不批准)。

3.要求有欢迎界面、菜单、数据使用数组、结构体、链表等均可,键盘操作或鼠标操作均可;

可以加以其他功能或修饰,使程序更加完善、合理;

4.模块化程序设计:

要求在设计的过程中,按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用函数的形式来实现;

5.学生所选课题必须上机通过,并获得满意的结果;

6.设计上交内容:

设计报告每组一份(按附件1的格式书写);

源程序文件;

7.流程图要采用N-S流程图;

10.源程序书写风格:

锯齿型书写格式。

2.3设计过程

1.根据问题描述,设计数据存储方式;

2.分析系统功能,划分功能模块,确定各模块函数名称;

3.主程序算法设计和各模块算法设计;

4.编程实现;

5.调试和测试;

6.完成设计文档和课程设计说明书。

2.4、课程设计报告格式及要求

一、封面(见附件1);

二、目录;

三、需求分析;

描述问题。

四、总体设计(程序设计总流程图及各模块划分);

五、详细设计(各模块功能说明,如函数功能、入口及出口参数说明,函数调用关系描述等);

六、调试与测试:

调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施;

七、测试结果,用几组测试数据进行测试算法设计的正确性,要包括测试数据和运行结果。

八、附录。

源程序清单和结果:

源程序要加注释。

2总体设计

(程序设计总流程图及各模块划分)

3详细设计

(各模块功能说明,如函数功能、入口及出口参数说明,函数调用关系描述等)

魔方阵NS流程图:

最大值子函数流程图

输入:

c,k,i,l,max

输出:

======================

max=magic[0][0]

3.3排序子函数流程图:

素数子函数流程图:

完数子函数流程图:

水仙花数子函数流程图:

4调试与测试

(调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施)

这一个问题主要是在c(56)中:

fprintf("

%d\t"

magic[i][c]);

没有定义magic[i][c]的途径,为解决问题,需将fprintf("

magic[i][c])改为fprintf(fp,"

在一个简单的程序中,测试的错误反而会很多,在很多情况下,很多错误的问题大多数因为我们的粗心所导致,往往会在一些简单的细节上出了差错,从而导致程序运行不了.在这一点上,我需要培养自己的能力,不但在平时的训练中,还是在考试中,我都要养成良好的习惯,却不可以大意,不可以小看.

另外一种情况就是在一个较为复杂的程序中,测试出现错误是正常的,复杂的程序多多少少会因为自己的能力有限而导致测试出现错误,导致程序运行不了.现在解决的方法有:

第一:

和老师讨论一下,多吸收老师们的经验,多学习老师们的解决方法。

第二:

网络的发展为我们提供了学习的平台,所以网络也是我们学习的好地方,但也不忘网络的双重性。

5测试结果

(用几组测试数据进行测试算法设计的正确性,要包括测试数据和运行结果)

输入一位奇数,例如:

9.则出现魔方阵:

选择功能1,将出现魔方阵地最大值:

选择功能2,将出现排序顺序:

选择功能3,将出现魔方阵中的所有素数:

选择功能4,将出现魔方阵地所以完数:

选择功能5,将出现魔方阵的所有水仙花数:

操作完毕!

6附录

(源程序清单和结果:

源程序要加注释)

#include<

stdio.h>

voiddaxiao(intmagic[][100],intn);

//最大值函数声明

voidpaixu(intmagic[][100],intn);

//行数排序函数声明

voidsushu(intmagic[][100],intn);

//素数函数声明

voidwangshu(intmagic[][100],intn);

//完数函数声明

voidshuixianhuashu(intmagic[][100],intn);

//水仙花数函数声明

voidmain()

{

FILE*fp;

inti=0,n,nn,c,s,v,x=1,t=1;

intmagic[100][100];

char*filename="

magic.txt"

;

fp=(filename,"

w+"

);

//生成文件

if((fp=fopen("

"

))==NULL)

{

printf("

cannotopenthefile\n"

exit(0);

}

while(x)

printf("

请输入一个奇数:

\n"

//生成魔方阵

scanf("

%d"

&

n);

if((n%2)==0)

printf("

数据不存在,重新输入\n"

else

{

c=(n-1)/2;

s=1;

nn=n*n;

while(s<

=nn)

{

magic[i][c]=s;

s++;

if((s-1)%n==0)

i++;

else

{

i--;

c++;

}

if(i<

0)

i=n-1;

elseif(i==n)

i=0;

if(c<

c=n-1;

elseif(c>

=n)

c=0;

}

for(i=0;

i<

n;

i++)

for(c=0;

c<

c++)

{

fprintf(fp,"

printf("

magic[i][c]);

}

printf("

printf("

\n\n"

x--;

}

while(t)//显示菜单

=================================================\n"

1求魔法阵的最大值以及所在行列\n"

2求各行的排序\n"

3求素数\n"

4求完数\n"

5求水仙花数\n"

6退出\n"

==================================================\n"

请选择功能:

\n\n\n"

v);

if(v>

=1&

&

v<

=6)

switch(v)//子函数调用

case1:

daxiao(magic,n);

break;

case2:

paixu(magic,n);

case3:

sushu(magic,n);

case4:

wangshu(magic,n);

case5:

shuixianhuashu(magic,n);

case6:

t--;

}

else

printf("

数据输入错误\n"

}

voiddaxiao(intmagic[][100],intn)//最大值子函数

intc,k,i,l,max;

===================\n"

max=magic[0][0];

for(i=0;

for(c=0;

if(magic[i][c]>

max)

max=magic[i][c];

k=i;

l=c;

最大值=%d\n行数=%d\n列数数=%d\n"

max,k+1,l+1);

======================\n"

voidpaixu(intmagic[][100],intn)//排序子函数

intj,x,temp,b;

请输入需要排序的行数:

\t"

b);

for(j=0;

j<

n-1;

j++)

for(x=0;

x<

n-1-j;

x++)

if(magic[b-1][x]>

magic[b-1][x+1])

temp=magic[b-1][x];

magic[b-1][x]=magic[b-1][x+1];

magic[b-1][x+1]=temp;

magic[b-1][j]);

\n===============================================\n\n\n"

voidsushu(intmagic[][100],intn)//素数子函数

inti,j,m;

printf("

\n\n\n====================\n"

此魔方阵中的素数有:

for(j=0;

j<

n;

j++)

for(i=0;

i<

i++)

for(m=2;

m<

=magic[j][i];

m++)

if(m<

magic[j][i])

if(magic[j][i]%m==0)break;

if(magic[j][i]==m)

%5d"

magic[j][i]);

}

====================\n\n\n"

voidwangshu(intmagic[][100],intn)//完数子函数

intj,sum,h,m;

\n\n\n"

for(m=0;

for(h=0;

h<

h++)

sum=0;

for(j=1;

=magic[m][h]/2;

if(magic[m][h]%j==0)

sum+=j;

if(sum==magic[m][h])

printf("

%d\t的因子是:

"

magic[m][h]);

for(j=1;

j<

=magic[m][h]/2;

if(magic[m][h]%j==0)

j);

=================\n\n\n"

voidshuixianhuashu(intmagic[][100],intn)//水仙花数子函数

inti,k,s,l,m,sum=0;

\n\n\n================================================\n"

if(n<

13)

printf("

此魔方阵没有水仙花数"

else

水仙花数有:

\t"

for(l=0;

l<

l++)

for(m=0;

i=magic[l][m];

k=i;

do

s=k%10;

k=k/10;

sum=sum+s*s*s;

while(k>

0);

if((i==sum)&

(i!

=1))

magic[l][m]);

sum=0;

=============================================\n\n\n"

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

当前位置:首页 > 职业教育 > 职高对口

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

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