c语言课程设计.docx

上传人:b****4 文档编号:4689921 上传时间:2023-05-07 格式:DOCX 页数:17 大小:351KB
下载 相关 举报
c语言课程设计.docx_第1页
第1页 / 共17页
c语言课程设计.docx_第2页
第2页 / 共17页
c语言课程设计.docx_第3页
第3页 / 共17页
c语言课程设计.docx_第4页
第4页 / 共17页
c语言课程设计.docx_第5页
第5页 / 共17页
c语言课程设计.docx_第6页
第6页 / 共17页
c语言课程设计.docx_第7页
第7页 / 共17页
c语言课程设计.docx_第8页
第8页 / 共17页
c语言课程设计.docx_第9页
第9页 / 共17页
c语言课程设计.docx_第10页
第10页 / 共17页
c语言课程设计.docx_第11页
第11页 / 共17页
c语言课程设计.docx_第12页
第12页 / 共17页
c语言课程设计.docx_第13页
第13页 / 共17页
c语言课程设计.docx_第14页
第14页 / 共17页
c语言课程设计.docx_第15页
第15页 / 共17页
c语言课程设计.docx_第16页
第16页 / 共17页
c语言课程设计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言课程设计.docx

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

c语言课程设计.docx

c语言课程设计

《C语言课程设计》报告

题目:

任意位数人民币的拆分;万年历

 

班级:

风能1241

学号:

1203441137

姓名:

张士礼

指导老师:

王妍

成绩:

目录

一、课程设计目的和意义1

二、(1/)总体设计思路(功能模块图)2

三、详细设计2

1模块功能介绍2

2界面设计3

3流程图4

4程序清单6

5、系统运行结果7

二、

(2)总体设计思路(功能模块图)8

三详细设计8

1模块功能介绍8

2界面设计9

3流程图10

4程序清单13

5、系统运行结果14

四、课程设计总结体会15

五、教师评语16

1、课程设计目的和意义

●掌握利用C语言进行程序设计的思想和方法。

●掌握结构化程序设计的基本方法。

●学会调试一个较长程序的基本方法。

●掌握程序设计文档的书写。

●培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程

●巩固了以前所学过的知识,把所学的理论知识与实践相结合起来

●发现了自己的不足之处,对以前所学过的知识理解得不够深刻

 

㈠任意位数人民币的拆分

 

二、总体设计思路(功能模块图)

 

三、详细设计

1模块功能介绍

printf("inputnumberofmoney:

\n");

实现数据的录入为下一步提供数据

a=money/100;/*求面值100$的张数a

通过求出十位上的数字为进行下一步与数字5、2及1的大小比较提供数据

通过求出个位上的数字为进行下一步与数字5、2及1的大小比较提供数据

printf("%ld$->",money)$

通过十位数字上的数与5、2、1的大小比较判断出50、20、10元的张数并同时输出数据

通过个位数字上的数与5、2、1的大小比较判断出5、2、1元的张数并同时输出数据

2界面设计

Ⅰ钱数输入printf("inputnumberofmoney:

\n");

Ⅱ求各个面值的最大张数;㈠求一百元及各位十位数字。

㈡通过if及else语句分析面值为50元20元10元5元2元的各个最大数量

Ⅲ分部打印最大数字输出结果

Ⅳ退出

3流程图

4程序清单

#include"stdio.h"

main()

{

 longmoney,a,b,c;

 printf("inputnumberofmoney:

\n");

 scanf("%ld",&money);

 a=money/100;/*求面值100$的张数a*/

 b=money%100/10;/*求面值十位上的数字b*/

 c=money%10;/*求面值个位上的数字c*/

 printf("%ld$->",money);/*输出标题头*/

 if(a>0)

 printf("%ld100$\t",a);

 if(b>=5)

 {

   printf("150$\t");

   if((b-5)%2==0)

     printf("%ld20$\t",(c-5)/2);

   elseif(c-5>1)

          printf("120$\t110$\t");

        else

          printf("110$\t");

 }

 else

 {

   if(b%2==0)

     printf("%ld20$\t",c/2);

   elseif(b>1)

          printf("120$\t110$\t");

        else

          printf("110$\t");

 }

 if(c>=5)

 {

   printf("15$\t");

   if((c-5)%2==0)

     printf("%ld2$\t",(c-5)/2);

   elseif(c-5>1)

          printf("12$\t11$\t");

        else

          printf("11$\t");

}

 else

 {

   if(c%2==0)

     printf("%ld2$\t",c/2);

   elseif(c>1)

          printf("12$\t11$\t");

        else

          printf("11$\t");

 }

 printf("\n");

 getch();

}

5、系统运行结果

 

㈡万年历

 

二、总体设计思路(功能模块图)

 

三详细设计

1模块功能介绍

printf("\ninputmonthandyear:

\n");为步骤提供所需数据

scanf("%d%d",&month,&year)

b=days_month(month,year);b类函数调用

首先在程序头定义一个新的函数类型b=days_month(month,year)

根据月份规律1、3、5、7、、10、12枚月31天4、6、9、11每月30天

2月份时启用intleap调用,后输出当月天数28或29

{if(year%4==0&&year%100!

=0||year%400==0)//判断是否是闰年

return1;

elsereturn0;

在主函数之前定义函数intfirstday(intmonth,intyear)

通过w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;//判断每个月开始的第一天是星期几

计算第一天的打印之前有几个空格

计算后通过{for(i=1;i<=b;i++){printf("%4d",i);输出单月的月历

2界面设计

Ⅰ月份和年份录入

Ⅱ相关子函数调用

Ⅲ当月月份月历输出

Ⅳ退出

3流程图:

4程序清单

#include

intleap(intyear)

{if(year%4==0&&year%100!

=0||year%400==0)//判断是否是闰年

return1;

elsereturn0;

}

intdays_month(intmonth,intyear)//判断大月和小月

{

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)//找出大月

return31;

if(month==4||month==6||month==9||month==11)//找出小月

return30;

if(month==2&&leap(year)==1)return29;//判断二月是29天还是29天

elsereturn28;

}

intfirstday(intmonth,intyear)

{intw;

w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;//判断每个月开始的第一天是星期几

returnw;

}

main()

{inti,j=1,k=1,a,b,month,year;

printf("\ninputmonthandyear:

\n");

scanf("%d%d",&month,&year);//输入月和年

b=days_month(month,year);

a=firstday(month,year);

printf("SunMonTueWedThuFriSat\n");//输出对应当月的日历

if(a==7)

{for(i=1;i<=b;i++)

{printf("%4d",i);

if(i%7==0)

{printf("\n");

}

}

}

if(a!

=7)

{while(j<=4*a)

{printf("");

j++;

}

for(i=1;i<=b;i++)

{printf("%4d",i);

if(i==7*k-a)

{printf("\n");

k++;

}

}

}

}

printf("\n");

getch();

}

5、系统运行结果

四、课程设计总结体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。

C语言课程设计的真正用意——培养自学能力,养成程序编辑的好习惯。

理论到实践,在整整一个星期的日子里,可以学到很多很多的东西,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢通过这次课程设计之后,一定把以前所学过的知识重新温故。

我们的课程设计结束了,但是它留给我的印象是不可磨灭的。

无论我以后会不会涉及到C语言程序编译的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,我们运用这种研究方法的时候会很多,我最后要感谢课程设计,它的确教会我很多

五、教师评语

评阅教师:

评阅日期:

201年月

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2