计算机程序设计基础课程设计报告.doc_第1页
计算机程序设计基础课程设计报告.doc_第2页
计算机程序设计基础课程设计报告.doc_第3页
计算机程序设计基础课程设计报告.doc_第4页
计算机程序设计基础课程设计报告.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉首大学计算机程序设计基础课程设计报告学院: 城乡资源与规划学院 专业: 城市规划 班级: 2011级 学号:20115199015 姓名:何斌 课题:C课程设计 指导教师:周佩娟 报告成绩: 日期:2013 年 6 月 15 日目 录1、课程设计题目32、课程设计要求33、设计题目分析33.1题目简介33.2设计要求34、课程设计内容34.1总体设计34.2详细设计44.3调试和测试75、设计心得与总结76、建议87、附件:91、课程设计题目 建立一个班级(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#includestruct student char name20; long int num; int score1,score2; char sex; struct student *next;int n;long num;struct student *head=NULL,*stu;struct student *creat() struct student *head,*p,*q; n=0; head=NULL; p=q=(struct student *)malloc(sizeof(struct student); do printf(enter date(input 0 for end):n); printf(please input Student num:); scanf(%ld%*c, &p-num); if (0 = p-num) break; printf(please input Student name:); scanf(%s, &p-name); printf(please input Student score1:); scanf(%d, &p-score1); printf(please input Student score2:); scanf(%d, &p-score2); printf(please input Student sex(m/w):); scanf(%*c%c%*c, &p-sex); n+; if(n=1) head=p; head-next=NULL; else q-next=p; q=p; p=(struct student *)malloc(sizeof(struct student); while(p-num!=0); q-next=NULL; return(head);struct student *insert(struct student *head) struct student *p0,*p1,*p2; struct student *stud = (struct student *)malloc(sizeof(struct student); printf(please input Student num:); scanf(%ld%*c, &stud-num); printf(please input Student name:); scanf(%s, &stud-name); printf(please input Student score1:); scanf(%d, &stud-score1); printf(please input Student score2:); scanf(%d, &stud-score2); printf(please input Student sex(m/w):); scanf(%*c%c%*c, &stud-sex); p0 = head; while( p0-next ) p0 = p0-next; p0-next = stud; stud-next = NULL; return head;struct student *delete(struct student *head,long num) struct student *p1,*p2; if(head=NULL) printf(nlist null!n); return NULL; 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:%ldn,num); free(p1); n-; else printf(%ld not been found!n,num); return(head);void print(struct student *head) struct student *p; p=head; if(head!=NULL) printf(nn| Student Num | | Student Name | | 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(this is a NULL list);struct student *find(struct student *head,long num) struct student *p1,*p2; if(head=NULL) printf(n list null!n); return NULL; p1=head; while(p1!=NULL&p1-num!=num) p1=p1-next; if(p1!=NULL) printf(Find:); printf(Stu Num:%ldnStu name:%snStu sco1:%dnStu sco2:%dnStu sex:%cn,p1-num,p1-name,p1-score1,p1-score2,p1-sex); else printf(%ld not been found!n,num); return(head);int main() struct student *stud; int menu(); while(1) switch(menu() case 1: head=creat(); break; case 2: head = insert(head); printf(ntcontinue!); break; case 3: scanf(%d%*c,&num); delete(head, num); printf(ntcontinue!); break; case 4: print(head); printf(ntcontinue!); getch(); break; case 5: printf(Please input find num:); scanf(%d%*c,&num); find(head, num); printf(ntcontinue!); getch(); break; case 6: clrscr(); case 7: exit(0); int menu() char d7; int c; printf(nn%16s, ); printf(*menu*nn); printf(tt1.creat listn);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论