通信工程专业C语言课程设计.docx

上传人:b****6 文档编号:3314457 上传时间:2022-11-21 格式:DOCX 页数:21 大小:31.18KB
下载 相关 举报
通信工程专业C语言课程设计.docx_第1页
第1页 / 共21页
通信工程专业C语言课程设计.docx_第2页
第2页 / 共21页
通信工程专业C语言课程设计.docx_第3页
第3页 / 共21页
通信工程专业C语言课程设计.docx_第4页
第4页 / 共21页
通信工程专业C语言课程设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

通信工程专业C语言课程设计.docx

《通信工程专业C语言课程设计.docx》由会员分享,可在线阅读,更多相关《通信工程专业C语言课程设计.docx(21页珍藏版)》请在冰豆网上搜索。

通信工程专业C语言课程设计.docx

通信工程专业C语言课程设计

《通信工程专业C语言课程设计》

报告

专业:

通信工程

班级:

0802

姓名:

彭孟秋

指导教师:

丁雄

00九年十二月二十五日

1课程设计题目及基本内容2

2课程设计思路及设计流程图3

3程序调试分析5

4总结5

参考书目6

附程序代码6

课程设计题目:

商品信息管理系统

基本内容:

设计商品信息管理系统,商品包括:

商品编号,名称,出产年月,价格等。

系统功能包括:

1、系统以菜单方式工作,密码登陆。

2、商品信息的录入功能(增加数据)。

用数组数据类型赋初值的方法把商品信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。

3、商品信息的删除(删除数据)。

任意输入一个商品的编号,将它所有的信息从组数中删除。

4、商品信息的浏览功能(查找数据)。

任意输入一个商品的编号,打印出他的所有数据。

要求能多次查找。

5、商品信息的删除(修改数据)。

任意输入一个商品的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。

6商品信息的计算并排序。

计算所有商品的总价格及平均价格(aver,单精度,

输出一位小数),将包括所有数据的数组元素按价格从高到低的顺序排序打印出

课程设计思路及设计流程图

主函数的流程图

 

mymodify模块的流程图(E)

 

程序调试分析:

(1)、在主菜单中选择1,程序能否进入录入信息管理模块,增加玩数据后系统中总的信息是否有相应的增加。

此后输入的字符能控制是继续录入还是返回主菜单,进行其他操作。

(2)、在主菜单中选择2,程序能否进入删除信息管理模块,删除完数据后系统中的信息量是否做相应的变化。

此后输入的字符能控制是继续录入还是返回主菜单,进行其他操作。

(3)、在主菜单中选择3,程序能否进入浏览信息管理模块,并输出要浏览的信息此后输入的字符能控制是继续录入还是返回主菜单,进行其他操作。

(4)、在主菜单中选择4、程序能否进入修改信息管理模块,当询问所要修改信息内容时,输入1、2、3、4和其他数字时有相应的操作,如当输入1时能进行书名的修改。

此后输入的字符能控制是继续录入还是返回主菜单,进行其他操作。

(5)、在主菜单中选择4、程序能否进入修改信息管理模块,当询问所要修改信息内容时,输入1、2、3、4和其他数字时有相应的操作,如当输入1时能进行书名的修改。

此后输入的字符能控制是继续录入还是返回主菜单,进行其他操作。

(6)、在主菜单中选择5,能输出总价和平均价格,并能输出按价格排序后的书本信息

总结

经过不到一个星期的C语言课程设计,我对C语言有了更进一步的认识和了解,从刚开始不知从何下笔到现在的漂亮运行,在我们五个人一起努力下,终于顺利完成任务了。

成功的那一刻,大家无比兴奋,四天的努力没有白费!

是我们五个人的劳动结晶。

从而也使我明白要学好C语言重在实践,要通过不断的上机操作,并且练习自主设计程序才能更好的掌握它。

以前上课感觉自己学会了很多,但到真正用的时候才发现没学的还有好多好多,虽然课堂上看似学会了,可到实际操作时问题多多。

通过这次课程设计把所学的东西用在了实践上,设计出来一些有用的东西,感觉很有成就感,虽然在设计的过程中遇到了很多困难,但最终都被我们解决了,从而也加强了解决问题的能力。

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

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

回顾起此次C语言课程设计,至今我仍感慨颇多,的确,从模块单独设计到整体调用,从理论到实践,在整整一个星期的日子里,可以说是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

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

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

参考书目:

[1]谭浩强,《C程序设计》,北京,清华大学出版社,2007年

[2]王为青张圣亮,《C语言实战105例》,北京,人民邮电出版社,2009年

附录:

程序代码

#include

#include

#include

#defineMAX_NUM100

structgoods

{charnum[10];

charname[10];

floatin_pri;

floatsell_pri;

intin_count;

ints_count;

floatincome;

intsurplus;

floatprofit;

}record[MAX_NUM];

voidprintPrMenu();

voidmycreate(structgoods*p,int*n);

charmyedit(structgoods*p,int*n);

voidprintMenuB();

voidmyadd(structgoods*p,int*n);

voidmydelete(structgoods*p,int*n);

voiddel_num(structgoods*p,int*n);

voiddel_name(structgoods*p,int*n);

voidmymodify(structgoods*p,intn);

voidmystatistics(structgoods*p,intn);

charmysearch(structgoods*p,intn);

voidprintMenuC();

voidsch_name(structgoods*p,intn);

voidsch_surplus(structgoods*p,intn);

voidprintMenuD();

voidmydisplay1(intn);

voidmydisplay2(intn);

voidmydisplay3(intn);

charLoop();

voidswap(structgoods*elm1,structgoods*elm2);

voidmain()

{

charchoose,yes_no;

intn=0;

while

(1)

{clrscr();

printPrMenu();

choose=getch();

switch(choose)

{case'1':

clrscr();

do

{mycreate(record,&n);

yes_no=Loop();

}

while(yes_no=='Y'||yes_no=='y');

break;

case'2':

clrscr();

if(n==0)

it!

\n");

{printf("\n\n\n\n\nDidn'thavetherecords!

pleasecreateprintf("pressanykeytocontinue...");

getch();

break;}

else

{do

{

charselect;

select=myedit(record,&n);

if(select=='0')

return;

elseif(select=='4')

break;

else

yes_no=Loop();

}

while(yes_no=='Y'||yes_no=='y');

}

break;

case'3':

clrscr();

if(n==0)

{printf("\n\n\n\n\nDidn'thavethe

records!

pleasecreateit!

\n");

printf("pressanykeytocontinue...");

getch();

break;}

else

mystatistics(record,n);

printf("\npressanykeytocontinue...");getch();

}

break;

case'4':

clrscr();

if(n==0)

{printf("\n\n\n\n\nDidn'thavethe

records!

pleasecreateit!

\n");

printf("pressanykeytocontinue...");

getch();

break;}

else

{

do

{

charselect;select=mysearch(record,n);if(select=='0')return;

elseif(select=='3')

break;

else

yes_no=Loop();

}while(yes_no=='Y'||yes_no=='y');

}

break;

case'5':

clrscr();

if(n==0)

{printf("\n\n\n\n\nDidn'thavethe

records!

pleasecreateit!

\n");

printf("pressanykeytocontinue...");

getch();

break;}

else

{charchoose1;

do

continue...");

continue...");

continue...");

illegalchoose!

\n",choose);

}

clrscr();printMenuD();choose1=getch();switch(choose1)

{

case'1':

clrscr();

mydisplay1(n);printf("\npress

any

case'2':

getch();break;clrscr();mydisplay2(n);printf("\npress

any

case'3':

getch();break;clrscr();mydisplay3(n);printf("\npress

any

case'4':

case'0':

default:

getch();break;

clrscr();

break;return;

clrscr();printf("\n\n\n\n\n

%cis

if(choose1!

='4')yes_no=Loop();

else

yes_no='n';

}

while(yes_no=='Y'||yes_no=='y');

break;

case'0':

break;

default:

clrscr();

printf("\n\n\n\n\nIllegal

Pleaseinputagain!

\n");

key

key

key

choice!

to

to

to

 

break;

}

if(choose=='0')break;

}

}

voidprintPrMenu()

{

printf("\n\n\n\n\n\n");

printf("

||\n");

printf("|chooseanumber(0-5):

|\n");

printf("

||\n");

printf("

|1pleasecreatetheinformationofgoods

|\n");

printf("

|2pleaseedittheinformationofgoods

|\n");

printf("

|3please

addupthe

sellinformation

of

goods|\n");

printf("

|4please

searchthe

information

of

goods

|\n");

printf("

|5please

displaythe

information

of

goods

|\n");

printf("

|0exit

|\n");

printf("

|

|\n");

printf("

|\n");

printf("Youchoiceis:

");

}

voidmycreate(structgoods*p,int*n)

{

printf("\nPleaseinputthe%drecord:

\n",(*n)+1);

printf("goodsnumber:

");

scanf("%s",p[*n].num);printf("goodsname:

");scanf("%s",p[*n].name);printf("enterprice:

");scanf("%f",&p[*n].in_pri);printf("sellprice:

");scanf("%f",&p[*n].sell_pri);printf("stockcount:

");scanf("%d",&p[*n].in_count);printf("sellcount:

");scanf("%d",&p[*n].s_count);p[*n].income=p[*n].sell_pri*p[*n].s_count;

p[*n].surplus=p[*n].in_count-p[*n].s_count;p[*n].profit=p[*n].income-p[*n].in_pri*p[*n].s_count;

(*n)++;

}

charmyedit(structgoods*p,int*n)

{

charchoose;

while

(1)

{

clrscr();

printMenuB();choose=getch();switch(choose){case'1':

clrscr();

myadd(p,n);

break;

case'2':

clrscr();

mydelete(p,n);

break;case'3':

clrscr();

mymodify(p,*n);

break;

case'4':

break;

case'0':

clrscr();

break;

default:

clrscr();

printf("\n\n\n\n\n

choose!

\n",choose);

}

returnchoose;

}

}

%cisillegal

voidprintMenuB()

{

printf("\n\n\n\n\n\n");

printf("

|***********************************************|\n");

printf("|pleaseinput|\n");

printf("

thenumberofthechooses

(0-4):

***********************************************

|\n");

printf("|1addthenewgoods

 

\n");

printf("

|2deletethegoods

\n");

printf("

|3modifythegoods

\n");

printf("

|4return

\n");

printf("

|0exit

\n");

printf("

***********************************************[\r»H

printf("Youchoiceis:

");}

voidmyadd(structgoods*p,int*n)

{

charc;

structgoods*q,temp;

do

{

printf("\npleaseinputdo

{

gets(temp.num);}while(strcmp(temp.num,"")==0);

printf("pleaseinputnewname:

");gets(temp.name);

printf("pleaseinputnewenterprice:

");scanf("%f",&temp.in_pri);

printf("pleaseinputnewsellprice:

");scanf("%f",&temp.sell_pri);

printf("pleaseinputnewstockcount:

");scanf("%d",&temp.in_count);

printf("pleaseinputnewsellcount:

");scanf("%d",&temp.s_count);temp.income=temp.sell_pri*temp.s_count;temp.surplus=temp.in_count-temp.s_count;temp.profit=temp.income-temp.in_pri*temp.s_count;

for(q=p;qnum)==0)

{printf("\nnumberisalreadyexist,Doyouwanttoinputanewnumber(Y/N)?

");

do

c=getche();

}while(c!

='Y'&&c!

='y'&&c!

='N'&&c!

='n');

putchar('\n');

break;

}

if(q==p+(*n))

{*q=temp;

(*n)++;

break;

}

}while(c=='y'||c=='Y');

}

voidmydelete(structgoods*p,int*n)

{charc;

printf("\nDoyouwantdeleteitbynumber(b)orname(m)?

");

c=getch();

if(c=='b'||c=='B')

del_num(p,n);

elseif(c=='m'||c=='M')

del_name(p,n);

elseprintf("\nthewordsisillegal!

\n");

}

voiddel_num(structgoods*p,int*n)

{

chartempnum[10];

structgoods*q,*k;

printf("\npleaseinputthenumberyouwanttodelete:

");

scanf("%s",tempnum);

for(k=p;k

if(strcmp(tempnum,k->num)==0)break;

if(k

{for(q=k;q

*q=*(q+1);

(*n)--;

}

elseprintf("\nthereisn'tthegoods!

\n");

}

voiddel_name(structgoods*p,int*n)

{chartempname[10];

structgoods*q,*k;

printf("\npleaseinputthenameyouwanttodelete:

");scanf("%s",tempname);

for(k=p;kname)==0)break;

if(k

{for(q=k;q

*q=*(q+1);

(*n)--;

}

elseprintf("\nthereisn'tthegoods!

\n");

}

voidmymodify(structgoods*p,intn)

{

charc;

structgoods*q,*find,temp;

to

printf("\npleaseinputthegoods'numberwantmodify:

");

scanf("%s",temp.num);

for(q=p;q

if(strcmp(temp.num,q->num)==0)

{find=q;break;}

if(q==p+n)

printf("\ntherehaven'tthenumber!

\n");

else

{do

{printf("\npleaseinputrightnumber:

");

do

{

scanf("%s",temp.num);}while(strcmp(temp.num,"")==0);

printf("goodsname:

");

scanf("%s",temp.name);

printf("enterprice:

");

scanf("%f",&temp.in_pri);printf("sellprice:

");

scanf("%f",&temp.sell_pri);printf("stockcount:

");

scanf("%d",&temp.in_count);

printf("sellcount:

");

scanf("%d",&temp.s_count);

temp.income=temp.sell_pri*temp.s_count;temp.surplus=temp.in_count-temp.s_count;temp.profit=temp.income-temp.in_pri*temp.s_count;

for(q=p;qnum)==0)&&(q!

=find))

{

printf("\nnumberisalreadyexist,Doyou

wanttoinputanewnumber(yes/no)?

");

do

{

c=

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

当前位置:首页 > 小学教育 > 语文

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

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