计算机程序设计基础课程设计报告.docx

上传人:b****3 文档编号:5518703 上传时间:2022-12-18 格式:DOCX 页数:13 大小:223.25KB
下载 相关 举报
计算机程序设计基础课程设计报告.docx_第1页
第1页 / 共13页
计算机程序设计基础课程设计报告.docx_第2页
第2页 / 共13页
计算机程序设计基础课程设计报告.docx_第3页
第3页 / 共13页
计算机程序设计基础课程设计报告.docx_第4页
第4页 / 共13页
计算机程序设计基础课程设计报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机程序设计基础课程设计报告.docx

《计算机程序设计基础课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机程序设计基础课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。

计算机程序设计基础课程设计报告.docx

计算机程序设计基础课程设计报告

计算机程序设计基础课程设计报告

吉首大学

 

计算机程序设计基础课程设计报告

 

学院:

城乡资源与规划学院专业:

城市规划

班级:

2011级学号:

20115199015

姓名:

何斌课题:

C课程设计

指导教师:

周佩娟报告成绩:

 

日期:

2013年6月15日

 

1、课程设计题目

建立一个班级(20个学生)的学生情况表(采用链表),每个学生的数据包括学号、姓名、性别和二门课的成绩。

2、课程设计要求

1、要求按规定的时间完成;

2、要求按照题目的要求完成程序的编写,且排版合理,整体整齐,并用C++6.0运行;3、设计报告要求格式正确,要素完整,层次清楚,思路清晰,文字流畅。

3、设计题目分析

3.1题目简介

在学习大学计算机链表之后,为了更加熟练的运用之前所学的计算机技能,更好的锻炼同学们的计算机编程和操作能力,在经过这次课程设计后,可以充分的了解到同学们的计算机能力。

因此,特开展此次课程设计。

3.2设计要求

在建立的程序中,要求建立一个主函数和一个菜单函数,主函数要求包含:

链表的建立,链表的插入,链表的删除,链表的输出和链表的查找等。

4、课程设计内容

4.1总体设计

(系统总体设计框架、系统功能模块图)

4.2详细设计

(主要功能模块的算法设计思路、工作流程图)

主函数:

菜单函数:

链表的创建:

链表的输出:

链表的查找:

链表的删除:

链表的插入:

4.3调试和测试

(程序调试过程、数据测试结果分析,测试过程中遇到的主要问题以及采取的解决措施)

刚开始拿到这个题目时,经过老师的简单介绍,对其有一点点了解,于是把所需的函数输入了程序,然后再对相应的变量进行修改。

试着运行,但是发现这样的困难较大,于是把函数分开来,一个一个的改,一个个的做,直到每个函数都符合要求之后,再整体的合在一起,再试着运行,发现还是有问题,于是对主函数进行修改,以及菜单函数进行修改,最后都可以运行时,再输入数据,验证程序的可行性。

有问题,再继续修改,反复多次,并询问老师,最后确定函数。

最后结合做出的程序,再进行一定的调试,让它更方便使用和更容易被使用。

5、设计心得与总结

(课程设计过程中的学习体会和收获,对C语言和本次课程设计的认识)

在这次课程设计中,我明白了,对于这种由多个函数组成的综合性程序,为了更好更快的达到想要的结果,可以先对分函数进行符合要求的调整,再把所有的函数整合起来进行调整,修改主函数、菜单函数。

这样由总到分再到总的做法,可以清晰明了的找出错误点和需修改点。

还有一点就是,再做课程设计时,不能孤立自己的去完成,而是在不懂的时候主动找老师同学们进行咨询,再把东西转为自己的东西,这样才能提高自己的动手设计程序的水平,经过老师和同学的共同协作,才能更好的完成课程设计。

经过这次的课程设计,大大的提高了我的动手能力,和读程序的能力,让我更好的掌握了这门课程。

同时,也让我看到了自己的很多不足之处,例如:

程序的输入速度和准确度;对程序的认识度;对程序函数的运用度等,都需要很大的提高。

6、建议

7、附件:

#include

#include

#include

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;

printf("pleaseinputStudentname:

");

scanf("%s",&p->name);

printf("pleaseinputStudentscore1:

");

scanf("%d",&p->score1);

printf("pleaseinputStudentscore2:

");

scanf("%d",&p->score2);

printf("pleaseinputStudentsex(m/w):

");

scanf("%*c%c%*c",&p->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->next=NULL;

return(head);

}

structstudent*insert(structstudent*head)

{

structstudent*p0,*p1,*p2;

structstudent*stud=(structstudent*)malloc(sizeof(structstudent));

printf("pleaseinputStudentnum:

");

scanf("%ld%*c",&stud->num);

printf("pleaseinputStudentname:

");

scanf("%s",&stud->name);

printf("pleaseinputStudentscore1:

");

scanf("%d",&stud->score1);

printf("pleaseinputStudentscore2:

");

scanf("%d",&stud->score2);

printf("pleaseinputStudentsex(m/w):

");

scanf("%*c%c%*c",&stud->sex);

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)

{

printf("\nlistnull!

\n");

returnNULL;

}

p1=head;

while(num!

=p1->num&&p1->next!

=NULL)

{

p2=p1;

p1=p1->next;

}

if(num==p1->num)

{

if(p1==head)

head=p1->next;

else

p2->next=p1->next;

printf("delete:

%ld\n",num);

free(p1);

n--;

}

else

printf("%ldnotbeenfound!

\n",num);

return(head);

}

voidprint(structstudent*head)

{

structstudent*p;

p=head;

if(head!

=NULL)

{

printf("\n\n|StudentNum||StudentName||Score1||Score2||sex|\n");

do{

printf("|%11ld||%12s||%6d||%6d||%c|\n",p->num,p->name,p->score1,p->score2,p->sex);

p=p->next;

}

while(p!

=NULL);

}

else

printf("thisisaNULLlist");

}

structstudent*find(structstudent*head,longnum)

{

structstudent*p1,*p2;

if(head==NULL)

{

printf("\nlistnull!

\n");

returnNULL;

}

p1=head;

while(p1!

=NULL&&p1->num!

=num)

{

p1=p1->next;

}

if(p1!

=NULL)

{

printf("Find:

");

printf("StuNum:

%ld\nStuname:

%s\nStusco1:

%d\nStusco2:

%d\nStusex:

%c\n",p1->num,p1->name,p1->score1,p1->score2,p1->sex);

}

else

printf("%ldnotbeenfound!

\n",num);

return(head);

}

intmain()

{

structstudent*stud;

intmenu();

while

(1)

{

switch(menu())

{

case1:

head=creat();

break;

case2:

head=insert(head);

printf("\n\tcontinue!

");

break;

case3:

scanf("%d%*c",&num);

delete(head,num);

printf("\n\tcontinue!

");

break;

case4:

print(head);

printf("\n\tcontinue!

");

getch();

break;

case5:

printf("Pleaseinputfindnum:

");

scanf("%d%*c",&num);

find(head,num);

printf("\n\tcontinue!

");

getch();

break;

case6:

clrscr();

case7:

exit(0);

}

}

}

intmenu()

{

chard[7];

intc;

printf("\n\n%16s","");

printf("*****menu*****\n\n");

printf("\t\t1.creatlist\n");

printf("\t\t2.insertlist\n");

printf("\t\t3.deletelist\n");

printf("\t\t4.printlist\n");

printf("\t\t5.findlist\n");

printf("\t\t6.clrscr\n");

printf("\t\t7.exit\n");

do{

printf("\n\tenterselect(1-7):

");

gets(d);

c=atoi(d);

}

while(c<0||c>7);

returnc;

}

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

当前位置:首页 > 经管营销

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

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