计算机程序设计基础课程设计报告Word格式文档下载.docx
- 文档编号:18506190
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:13
- 大小:223.25KB
计算机程序设计基础课程设计报告Word格式文档下载.docx
《计算机程序设计基础课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机程序设计基础课程设计报告Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
3.1题目简介
在学习大学计算机链表之后,为了更加熟练的运用之前所学的计算机技能,更好的锻炼同学们的计算机编程和操作能力,在经过这次课程设计后,可以充分的了解到同学们的计算机能力。
因此,特开展此次课程设计。
3.2设计要求
在建立的程序中,要求建立一个主函数和一个菜单函数,主函数要求包含:
链表的建立,链表的插入,链表的删除,链表的输出和链表的查找等。
4、课程设计内容
4.1总体设计
(系统总体设计框架、系统功能模块图)
4.2详细设计
(主要功能模块的算法设计思路、工作流程图)
主函数:
菜单函数:
链表的创建:
链表的输出:
链表的查找:
链表的删除:
链表的插入:
4.3调试和测试
(程序调试过程、数据测试结果分析,测试过程中遇到的主要问题以及采取的解决措施)
刚开始拿到这个题目时,经过老师的简单介绍,对其有一点点了解,于是把所需的函数输入了程序,然后再对相应的变量进行修改。
试着运行,但是发现这样的困难较大,于是把函数分开来,一个一个的改,一个个的做,直到每个函数都符合要求之后,再整体的合在一起,再试着运行,发现还是有问题,于是对主函数进行修改,以及菜单函数进行修改,最后都可以运行时,再输入数据,验证程序的可行性。
有问题,再继续修改,反复多次,并询问老师,最后确定函数。
最后结合做出的程序,再进行一定的调试,让它更方便使用和更容易被使用。
5、设计心得与总结
(课程设计过程中的学习体会和收获,对C语言和本次课程设计的认识)
在这次课程设计中,我明白了,对于这种由多个函数组成的综合性程序,为了更好更快的达到想要的结果,可以先对分函数进行符合要求的调整,再把所有的函数整合起来进行调整,修改主函数、菜单函数。
这样由总到分再到总的做法,可以清晰明了的找出错误点和需修改点。
还有一点就是,再做课程设计时,不能孤立自己的去完成,而是在不懂的时候主动找老师同学们进行咨询,再把东西转为自己的东西,这样才能提高自己的动手设计程序的水平,经过老师和同学的共同协作,才能更好的完成课程设计。
经过这次的课程设计,大大的提高了我的动手能力,和读程序的能力,让我更好的掌握了这门课程。
同时,也让我看到了自己的很多不足之处,例如:
程序的输入速度和准确度;
对程序的认识度;
对程序函数的运用度等,都需要很大的提高。
6、建议
7、附件:
#include<
stdio.h>
stdlib.h>
conio.h>
structstudent
{
charname[20];
longintnum;
intscore1,score2;
charsex;
structstudent*next;
};
intn;
longnum;
structstudent*head=NULL,*stu;
structstudent*creat()
structstudent*head,*p,*q;
n=0;
head=NULL;
p=q=(structstudent*)malloc(sizeof(structstudent));
do{
printf("
enterdate(input0forend):
\n"
);
printf("
pleaseinputStudentnum:
"
scanf("
%ld%*c"
&
p->
num);
if(0==p->
num)
break;
pleaseinputStudentname:
%s"
name);
pleaseinputStudentscore1:
%d"
score1);
pleaseinputStudentscore2:
score2);
pleaseinputStudentsex(m/w):
%*c%c%*c"
sex);
n++;
if(n==1)
{
head=p;
head->
next=NULL;
}
else
q->
next=p;
q=p;
p=(structstudent*)malloc(sizeof(structstudent));
}while(p->
num!
=0);
q->
return(head);
}
structstudent*insert(structstudent*head)
structstudent*p0,*p1,*p2;
structstudent*stud=(structstudent*)malloc(sizeof(structstudent));
stud->
p0=head;
while(p0->
next){
p0=p0->
next;
p0->
next=stud;
stud->
next=NULL;
returnhead;
structstudent*delete(structstudent*head,longnum)
structstudent*p1,*p2;
if(head==NULL)
\nlistnull!
returnNULL;
p1=head;
while(num!
=p1->
num&
&
p1->
next!
=NULL)
p2=p1;
p1=p1->
if(num==p1->
if(p1==head)
head=p1->
p2->
next=p1->
delete:
%ld\n"
num);
free(p1);
n--;
%ldnotbeenfound!
return(head);
voidprint(structstudent*head)
structstudent*p;
p=head;
if(head!
\n\n|StudentNum||StudentName||Score1||Score2||sex|\n"
|%11ld||%12s||%6d||%6d||%c|\n"
p->
num,p->
name,p->
score1,p->
score2,p->
p=p->
while(p!
=NULL);
thisisaNULLlist"
structstudent*find(structstudent*head,longnum)
\nlistnull!
while(p1!
=NULL&
=num)
if(p1!
Find:
StuNum:
%ld\nStuname:
%s\nStusco1:
%d\nStusco2:
%d\nStusex:
%c\n"
p1->
num,p1->
name,p1->
score1,p1->
score2,p1->
intmain()
structstudent*stud;
intmenu();
while
(1)
switch(menu())
case1:
head=creat();
case2:
head=insert(head);
\n\tcontinue!
case3:
%d%*c"
&
delete(head,num);
case4:
print(head);
getch();
case5:
Pleaseinputfindnum:
find(head,num);
case6:
clrscr();
case7:
exit(0);
intmenu()
chard[7];
intc;
\n\n%16s"
"
"
*****menu*****\n\n"
\t\t1.creatlist\n"
\t\t2.insertlist\n"
\t\t3.deletelist\n"
\t\t4.printlist\n"
\t\t5.findlist\n"
\t\t6.clrscr\n"
\t\t7.exit\n"
\n\tenterselect(1-7):
gets(d);
c=atoi(d);
while(c<
0||c>
7);
returnc;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 基础 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)