C语言作业

发布 2021-05-05 20:53:28 阅读 9440

一、课程设计任务。

本组的课程设计题目是《**费管理系统》,我们要求所涉及到的内容有:(1)添加记录;(2)累计通话时间(市话与长途分开);计算某位用户费用;(3)根据日期查询历史记录;(4)修改记录;本人主要负责搞的是第二点——累计通话时间(市话与长途分开);计算某位用户费用。然后和刘帅同学共同做第一点添加记录。

二、程序介绍及想法。

我参与了两个程序的编写,先说一下对于第二点【累计通话时间(市话与长途分开);计算某位用户费用】本人的设计思路以及想法吧!对长途与市话时间的统计,我用的比较简单,因为在添加记录中应已有了一些数据,我仅仅用了一个判断语句和一个循环语句来做这个通话时间的统计,我想的是如果把那些变量都定义在主函数中,那么我对那些添加的数据就可以直接用,首先我就判断一下,该次通话是否是市话,如果是就进行一个累加的循环语句,把所有市话的时间加起来,如果不是市话,则进行另外一个累加的循环语句,把所有的长话时间加起来。在分别统计好市话和长话的总时间后,再用通话的总时间乘以他们每分钟的单价,就分别可以得到市话和长话的通话话费,再把两者加起来,便得到了通话的总花费。

第二点【累计通话时间(市话与长途分开);计算某位用户费用】算法的步骤:

第一步:程序开始;执行下一步;

第二步:调用添加记录中的一组数据;执行下一步;

第三步:判断本次通话是否为市话,如果是,执行第四步,如果不是,则执行第五步;

第四步:市话的总时间加上本次通话时长再赋值给市话的总时间;

第五步:长途的总时间加上本次通话时长再赋值给长途的总时间;

第六步:判断是否已经统计完成,如果统计完成,执行下一步,如果未完成,则返回到第二步;

第七部:输出市话总时间和长途总时间;执行下一步;

第八步:用市话的总时间乘以市话的单价;执行下一步;

第九步:用长途的总时间乘以长途的单价;执行下一步;

第十步:输出市话和长途的总费用;执行下一步;

第十一步:用市话的总费用加上长途的总费用;执行下一步;

第十二步:输出通话的总费用;执行下一步;

第十三步:程序结束。

第二点【累计通话时间(市话与长途分开);计算某位用户费用】算法的ns图为:

由于在编写主函数时,没有把第二点编写进去,后来又来不及了,本程序是单独调试的,在调试时没有用那个判断语句,本计划是再添加记录中,定义n=0时是市话通话,n=1时时长途通话,所以用了以下一个判断语句。还有,由于是单独调试,所以以下数据是在自己调试的时候随即添加的。

具体程序如下:

#include<>

int main()

int i,j定义二个所要用到的变量。

int shorttime,longtime定义市话总时间和长途总时间。

int shortcost,longcost,sum;

//定义市话总费用和长途总费用以及通话总费用。

int cost1,cost2定义市话和长途的单价。

int time1[5]=,time2[5]=;

//定义了五次通话及每次通话时间shorttime=0赋值市话最开始的通话时间。

longtime=0赋值长途最开始的通话时间sum=0对初始的总通话费用赋值。

cost1=1赋值市话的单价。

cost2=3赋值长途的单价。

if(n=0判断本次通话是否是市话。

for(i=0;i<5;i++)

shorttime=shorttime+time1[i统计市话的总时间。

printf("市话总时间shorttime=%d",shorttime);

//输出市话的总时间。

elsefor(j=0;j<5;j++)

longtime=longtime+time2[j统计长途的总时间。

printf("长话总时间longtime=%d",longtime);

//输出长途的总时间。

shortcost=shorttime*cost1计算市话的总费用。

longcost=longtime*cost2计算长途的总费用。

printf("市话总费用shortcost=%d",shortcost);

//输出市话的总费用。

printf("长话总费用longcost=%d",longcost);

//输出长途的总费用。

sum=shortcost+longcost计算通话的总费用。

printf("通话总费用sum=%d",sum输出通话的总费用。

return 0;

该程序运行的结果为 :

此程序在单独调试的时候还是比较完美的,在各方面的统计也做得比较到位的,不过程序变得比较简单,没用到什么复杂的语句,不过最大的欠缺的就是在最后的检查时还没放到主函数中调试。

对于添加记录,主要是刘帅同学做的,我只是起到了辅助作用,在编写此程序的时候,我们使用了很多的输入与输出语句,添加记录嘛,主要起到的作用是添加作用,把用户通话的一些基本信息添加到我们的程序中,以方便客户的查询与修改,以及我们对客户通话的统计,因为本程序是放在主函数中调试的,所以为了方便我们返回到主菜单,我们用到了一的do语句,在主函数中的具体程序如下:

int y;

dowhile(y==1);

由于时间的问题,此添加记录也许还不是太完整,所以也导致了第二点[累计通话时间(市话与长途分开);计算某位用户费用]不能在主函数中运行,在本人的考虑中,添加记录还需要添加每次通话的时间,以及用**来代替本次通话是否为市话或者长途。本程序虽然在某些方面还有待完善,不过总的来说,此程序还是编得比较好。

三、本程序所涉及的知识点。

变量的定义、输入和输出函数、if语句、for语句、do语句等等。

四、调试过程中遇到的问题及解决方法。

初次学习c语言,初次接触到编写程序,初次做课程设计,第一次编写出来的程序难免会有一些粗糙,会有一些错误,不过在调试的过程中就可以慢慢的发现错误,然后改正错误,在小组同学的讨论中改正一些错,最终得到一个好的程序。我在编写以上两个程序时所遇到的错误以及解决办法如下:

在那个“累计通话时间(市话与长途分开);计算某位用户费用。”的程序编写中:

1、由于所涉及到的变量比较多,在一开始编写程序的时候就忘记了对总通话费用sum的定义,在调试过程中通过提示才发现错误,并改正过来定义上去了。

2、在加上对sum的定以后调试又发现没对sum的初始值进行赋值,于是又对sum进行赋值为零。

3、由于是单独调试,对每次通话的时间,以及是否为市话或者长途,还有通话的次数都要具体化,不能用**,根据在调试过程中的错误提示以及同组人的帮助以及自己的努力下一一改正过来。

对于那个添加记录的程序,由于是放在主函数中调试的,遇到的主要问题是变量的符号的不统一,主函数定义的变量与本人当时编写时所用的变量符号不一样,在本组同学的讨论后,得到了一致的变量符号,并改正了;还有一些小的细节问题,在调试的过程中通过下面的错误提示,然后问同学以及通过自己的思考慢慢的改正了,之后这个程序在主函数中就可以正常的运行了。

五、心得体会。

初次学习c语言,初次接触到编写程序,初次做课程设计,第一次编写出来的程序难免会有一些粗糙,会有一些错误,不过在调试的过程中就可以慢慢的发现错误,然后改正错误,在小组同学的讨论中以及通过自己的认真思考可以改正一些错,最终得到一个好的程序。

在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:

写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。

C语言作业

no.1 include int main 结果z 9.000000 配置 mingw2.95 cuirelease,编译器类型 mingw old检查文件依赖性。完成构建未命名1 0个错误,0个警告。生成c documents and settings administrator my docum...

C语言作业

上机实习报告。题目 有五名同学每名同学的数据包括学号 姓名和3门功课的成绩 成绩提前预设 求 1 每名同学的平均成绩 名同学每门课程的平均分 3 按学生的平均分从低到高次序排除每名同学的顺序 分析 根据题目要求,使用结构体类型,包括5个元素学号 num 姓名 name 门功课的成绩 score 3 ...

C语言作业

1 c语言的特点与主要应用领域。特点 1 c语言简洁,紧凑,使用方便,灵活 2 c语言具有高级语言和低级语言的特征 3 c语言是结构化语言,具有结构化的控制语句 4 c语言具有各种各样的数据类型 5 c语言具有强大的图形功能,支持多种显示器和驱动器 6 c语言适用范围大,目标 质量高,程序执行效率高...