《2022年铜陵学院数据结构课程设计模板 .pdf》由会员分享,可在线阅读,更多相关《2022年铜陵学院数据结构课程设计模板 .pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2010 级课程设计报告系别 : 数学与计算机科学系专业 : 信息管理与信息系统专业班级 : 2010级信管班学号 : 姓名 : 二一一年十二月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第1 页,共26 页数据结构课程设计报告规范要求(按照如下格式完成报告)一课程设计目的1. 训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。2. 初步掌握软件开发过程的问
2、题分析、系统设计、程序编码、测试等基本方法和技能;3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4. 训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。二课程设计任务与要求:任务学生成绩管理问题描述 :已知某学生成绩表中现有N 位同学的成绩(要求各人数据不同),如:学号姓名成绩01101 李平75 01202 王露70 01205 张强85 01118 曹雨90 ,现需要删除已转学的某位同学的成绩,同时添加某位同学的成绩(学号、姓名、成绩自定),插入位置按姓名升序排列。请根据所学过的线性
3、表知识用C/C+编程实现此操作。程序要求:1. 现有 N 位同学的数据要求从数据文件中读入,不用交互方式录入;2. 拟删除同学的姓名及新添加同学的数据采用交互方式输入;3. 删除及插入操作完毕,需将成绩表中的所有记录按姓名升序方式显示出来;4. 将更新后的成绩表保存到另一个数据文件中;5.可以增加功能:如修改某位同学的成绩。要求:1. 在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加
4、大代码的重用率。2. 设计的题目要求达到一定工作量(300 行以上代码),并具有一定的深度和难度。3. 程序设计语言推荐使用C/C+,程序书写规范,源程序需加必要的注释;知识点提示: 在线性表中删除某个指定元素,并在规定位置插入一个新元素,要求操作后的结果按元素(姓名)升序的方式显示出来。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第2 页,共26 页4. 每位同学需提交可独立运行的程序;5. 每位同学
5、需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10 页(代码不算) ;6. 课程设计实践作为培养学生动手能力的一种手段,单独考核。三课程设计说明书1、需求分析要求用到数据结构课上学到的线性表的知识,所以就要充分而清晰的理解关于线性表的知识。要求实现的基本功能很简单,只有删除和插入,增加功能也不过是加上修改。这些在数据结构课上已经讲过,只要能够理解关于线性表的几个相关的基本算法就可以了。问题是将输入的信息保存入文件和从文件输出。这里基本是自学的内容,而且要考虑到是否要自行选择保存的磁盘。综上,做这个课题,要具备的知识就是线性表的基本算法,文件的保存和读取算法,必要的C
6、或者 C+知识(本次我将使用C实现) ,以及丰富的程序调适经验。2、概要设计首先由于程序中要有对学生信息的增加和减少,定义一个全局变量n,在此程序的任意的模块中均可以使用。宏定义,用LEN来代替开辟地址空间,定义三个结构体变量,学号num,姓名 name,分数 marks. 设计实现主要功能的函数有:创建学生信息的子函数creat();排序的子函数print();查找的子函数search();文件保存的子函数wfile();文件读取的子函数frile();插入信息的子函数insert();修改信息的子函数 xg();删除转学学生的信息的子函数del();然后在 main() 函数中使用一个sw
7、itch()语句实现对各个子函数的调用。为了使用的方便,程序中将设计三种排序的方式,按照学号排序funnum() ,按照姓名的首字母排序funname() ,按照分数排序funmarks()。 在排序子函数print()中还要用一个switch()语句用于对不同的排序方法的函数的调用. 为了直观的看到操作以后的结果,还要有一个输出显示的函数listall()。程序运行中,为了保持屏幕的清楚和美观,时刻进行清屏也是必要的。抽象数据类型线性表的定义如下:ADT List 数据对象: D=ai| aiElemSet,i=1,2,3, ,n,n 0 数据关系: R1=| ai-1,ai D,i=1,2
8、,3, ,n 基本操作:Insert(&L,i,j) 初始条件:线性表L 已存在, 1i n+1。操作结果:在L 中第 i 个位置之前插入新的数据元素j,L的长度加1。Del(&L,i,j) 初始条件:线性表L 已存在, 1i n。操作结果:删除L 的第 i 个数据元素 ,L 的长度减 1 Xg(&L,i,j) 初始条件:线性表L 已存在。操作结果:用新的输入数据项j 代替原有的指定要修改的数据项i 。Search(&L,i,e) 初始条件:线性表L 已存在。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
9、- - - - - 第 3 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第3 页,共26 页操作结果:查找指定的某元素i ,并将值赋给e, 用 e 输出。 3、详细设计1)宏定义,定义全局变量、结构体:#define LEN sizeof(struct student)/*宏定义 */ static int n;/*n 为静态全局变量,本文件模块中各函数均可使用它*/ char numstr100;/* 全局变量 */ struct student/* 定义结构体 */ long num; char name10; double marks; stu1000,te
10、mp; 2)主函数的算法如下:void main() jm:system(cls); do choice=getchar();getchar(); switch(choice)/*switch语句用于循环选择所要的选项*/ case 1:creat();goto jm;break; case 2:print();goto jm;break; case 3:search();goto jm;break; case 4:wfile();goto jm;break; case 5:frile();goto jm;break; case 6:insert();goto jm;break; case 7
11、:xg();goto jm;break; case 8:del();goto jm;break; case 0:exit(0); default: /* 用户使用错误*/ puts(nEnter only selections listed);break; /* 结束 switch 语句 */ while(1);/* 结束 while 语句 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第4 页,共
12、26 页/* 结束 main 函数 */ 3)创建学生信息的算法如下:creat(void)/* 创建学生成绩信息*/ while(ch=Y|ch=y) gets(numstr);/ 输入学号stun.num=atoi(numstr); gets(stun.name);/ 输入姓名gets(numstr);/ 输入成绩stun+.marks=atof(numstr); ch=getchar(); getchar();/* 用于输入y 或者 n*/ 4)排序函数的算法如下:int print(void)/*排序输出 */ ch=getchar();/* 输入 a,b,c 的语句 */ switc
13、h(ch)/* 选择排序的方式*/ case a: funname();/* 调用按姓名查找的函数*/ getchar();break; case b: funmarks(); /*调用按成绩查找的函数*/ getchar();break; case c: funnum();/* 调用按学号查找的函数*/ getchar();break; funname(void)/* 按照姓名排序*/ if(n1) printf(tt该文件为空 !n); else for(i=0;in;i+) for(j=i+1;j0) temp=stui; stui=stuj; stuj=temp; funmarks(v
14、oid)/* 按照成绩排序*/ if(n1) printf(tt该文件为空 !n); else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第5 页,共26 页for(i=0;in;i+) for(j=i+1;jstuj.marks) temp=stui; stui=stuj; stuj=temp; funnum(void)/* 按照学号排序*/ if(n1) printf(tt该文件为空 !n); e
15、lse for(i=0;in;i+) for(j=i+1;jstuj.num) temp=stui; stui=stuj; stuj=temp; 5)写入文件的算法如下:wfile(void)/* 写入文件 */ FILE *fptr; if(n1) printf(t文件为空,无法写操作!n); else fwrite(stu,sizeof(stu0),n,fptr); fclose(fptr); 6)读取文件的算法如下:frile(void)/* 读出文件 */ FILE *fptr; while(fread(&stui,sizeof(stu0),1,fptr)=1) i+;n=i; fcl
16、ose(fptr); 7)查找的算法如下:search(void)/* 查找 */ flag=0; for(i=0;in;i+) if(strcmp(numstr,stui.name)=0)|atol(numstr)=stui.num) printf(%ld,stui.num); printf(%s ,stui.name); printf(%.2f ,stui.marks); flag=1; getchar(); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6
17、 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第6 页,共26 页8)插入的算法如下:insert(void)/* 插入 */ gets(numstr); stun.num=atoi(numstr); gets(stun.name); gets(numstr); stun+.marks=atof(numstr); funname(); 9)删除的算法如下:del(void) /* 删除 */ printf(tt请输入要删除的学号:n); gets(numstr); for(i=0;in;i+) if(stui.num=atol(numstr) j=i; flag=
18、1; if(flag=1) for(i=j;in;i+) stui=stui+1; n-; 10)修改的算法如下:xg(void)/* 修改 */ flag=0; char ch; gets(numstr); for(i=0;in;i+) if(stui.num=atol(numstr) j=i; flag=1; if(flag=1) switch(ch) case 1: printf(t 请输入修改后的姓名:); gets(stuj.name); break; case 2: printf(t 请输入修改后的成绩:); gets(numstr); stuj.marks=atof(numstr
19、);break; case 0: return 0; 11)各个模块之间的调用关系如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第7 页,共26 页4、设计与调试分析从上面的算法和调用关系可以看出,这个程序的基本样子已经非常的清楚,但是真正的程序中还要考虑各种限制条件。例如在查找的过程中,可能不存在要查找的信息,就要给出不存在此信息的提示等。还有就是涉及到返回值得问题和程序中所要用到的变量的问题。在
20、调试的过程中所遇到的问题很多,其中最难的两个问题是给出的六个警告错误,在5.0 的版本下就是两个使得程序无法运行的错误。其中五个是因为在变量的声明中因为使用了浮点型和双精度型两种而造成在某些模块中两个变量相互赋值时类型不匹配。另一个是在查找的子函数中忘记了需要的返回语句,return 1. 5、用户手册1)本程序可以在vc+5.0 和 vc+6.0 的环境下运行。2)在 vc 中创建一个工程,将源程序复制到.cpp 中,编译链接就可以。3)选择编译、运行以后会出现运行界面,选择相应的选项,根据提示即可进行演示。界面如下:主函数创建信息浏览信息写入文件读取文件修改信息删除信息插入信息查找信息按姓
21、名排序按学号排序按成绩排序输出显示信息求平均分数按姓名排序按姓名排序按姓名排序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第8 页,共26 页4)创建信息就是把最开始要输入的信息输入到系统里。5)浏览信息就是按照要求的顺序浏览已经输入的信息。6)保存信息就是把输入的信息保存如指定的磁盘。7)打开文件就是把保存的信息从磁盘读取保存的信息。8)插入,修改,删除分别是对指定的某信息进行相应的操作。6、测试成果
22、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第9 页,共26 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第10 页,共26 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
23、 - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第11 页,共26 页保存完毕,关机以后下次重新启动此程序的情况:因为没有打开文件操作,所以在浏览的时候提示为空文件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第12 页,共26 页当操作 5 打开文件以后,再次浏览的时候就可以浏览到在文件D
24、:data,txt 中保存的文件内容。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第13 页,共26 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第14 页,共26 页7、附录(源程序清单)名师资料总结 -
25、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第15 页,共26 页/*计算机 051班XXX 的课程设计题目,选题是:学生成绩管理系统*/ #include stdio.h/* 头文件 */ #include string.h #include stdlib.h #define LEN sizeof(struct student)/*宏定义 */ static int n;/*n 为静态全局变量,本文件模块中各函数均
26、可使用它*/ char numstr100;/*全局变量 */ struct student/*定义结构体 */ long num; char name10; double marks; stu1000,temp; creat(void)/*创建学生成绩信息 */ char ch=y; while(ch=Y|ch=y) printf(tt 请输入学号: ); gets(numstr); stun.num=atoi(numstr); printf(tt 请输入姓名: ); gets(stun.name); printf(tt 请输入成绩: ); gets(numstr); stun+.marks
27、=atof(numstr); printf(tt 是否继续添加 ?(y/n); ch=getchar();/*用于输入 y 或者 n*/ getchar(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第16 页,共26 页printf(tt 按任意键返回 .);getchar();/*按键返回的输入函数 */ return 0; int print(void)/* 排序*/ int funnum(
28、void);/* 函数声明 */ int funname(void);/* 函数声明 */ int funmarks(void);/* 函数声明 */ char ch; printf(ta.按姓名首字母排序b.按成绩排序c.按学号排序 n); printf(tt 请按键选择 ); ch=getchar();getchar();/*输入 a,b,c的语句 */ switch(ch)/*选择排序的方式 */ case a: funname();/*调用按姓名排序的函数 */ printf(t 按任意键返回 .); getchar();break; case b: funmarks(); /* 调用
29、按成绩排序的函数 */ printf(t 按任意键返回 .); getchar();break; case c: funnum();/* 调用按学号排序的函数 */ printf(t 按任意键返回 .); getchar();break; default: printf(tt 对不起选择错误 n); printf(t 按任意键返回 .); getchar();break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 28 页 - - - - - - - - - 数据
30、结构课程设计报告第17 页,共26 页return 0; funname(void)/*按照姓名排序 */ int i,j; int listall(void);/* 函数声明 */ if(n1) printf(tt 该文件为空 !n); else for(i=0;in;i+)/* 按照姓名排序的循环语句 */ for(j=i+1;j0) /* 比较姓名的首字母进行相应交换操作*/ temp=stui; stui=stuj; stuj=temp; listall();/* 调用 listall 函数显示排序以后的信息 */ return 0; funmarks(void)/* 按照成绩排序 *
31、/ int i,j; int listall(void);/* 函数声明 */ if(n1) printf(tt 该文件为空 !n); else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第18 页,共26 页 for(i=0;in;i+)/* 按照成绩进行排序的循环语句*/ for(j=i+1;jstuj.marks)/* 如果前面的成绩大于后面的就进行交换*/ temp=stui; stui=s
32、tuj; stuj=temp; listall();/* 调用 listall 函数显示盘许以后的信息 */ return 0; funnum(void)/* 按照学号排序 */ int i,j; int listall(void);/* 函数声明 */ if(n1) printf(tt 该文件为空 !n); else for(i=0;in;i+)/* 按照学号进行排序的循环语句*/ for(j=i+1;jstuj.num) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,
33、共 28 页 - - - - - - - - - 数据结构课程设计报告第19 页,共26 页temp=stui; stui=stuj; stuj=temp; listall();/* 调用 listall 函数显示盘许以后的信息 */ return 0; double sub(void)/*求总分数的函数 */ int i; double sub=0; for(i=0;in;i+) sub+=stui.marks;return sub;/* 把学生的分数相加,返回总分数sub*/ listall(void)/* 输出显示排序的信息 */ int j; double mark; if(n0) p
34、rintf(ntt 空文件 !); printf(t 按任意键返回 .);getchar(); else printf(t 学号姓名成绩); for(j=0;jn;j+) printf(nt%ldt,stuj.num); printf(t%st,stuj.name); printf(t%.2f,stuj.marks); mark=sub()/n;/*调用求总分数的子函数 ,除以学生人数 n 求出平均分 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 28 页 -
35、- - - - - - - - 数据结构课程设计报告第20 页,共26 页printf(nt 平均分是: %.2f,mark);printf(n); return 0; wfile(void)/* 写入文件 */ FILE *fptr; if(n1) printf(t 文件为空,无法写操作 !n); printf(t 按任意键返回 .);getchar();return 0; printf(t 请输入要保存的路径及文件名(例如 c:stus.txt):); scanf(%s,numstr);getchar();/*输入需要保存的磁盘,可以是c,d,e等任意磁盘 */ if(fptr=fopen
36、(numstr,wb)=NULL) printf(ntt无法打开 !%sn,numstr); printf(t 按任意键返回 .);getchar(); else fwrite(stu,sizeof(stu0),n,fptr);/* 把信息写入磁盘的函数 */ fclose(fptr); printf(tt 有%d 个记录保存成功 !n,n); printf(t 按任意键返回 .);getchar(); return 0; frile(void)/* 读出文件 */ FILE *fptr; int i=0; printf(t 请输入要打开的文件 (例如 c:stus.txt):); scanf
37、(%s,numstr);getchar(); if(fptr=fopen(numstr,rb)=NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第21 页,共26 页printf(ntt 不能打开 %s!n,numstr); printf(t 按任意键返回 .); getchar(); else while(fread(&stui,sizeof(stu0),1,fptr)=1)/* 从磁盘读取
38、数据的函数 */ i+;n=i; printf(tt 成功打开 %d 个记录 !n,i); fclose(fptr); printf(t 按任意键返回 .); getchar(); return 0; search(void)/*查找*/ int i,flag=0; printf(t 请输入要查询的关键字。例:姓名、学号n); gets(numstr); for(i=0;in;i+) if(strcmp(numstr,stui.name)=0)|atol(numstr)=stui.num)/* 把要查找的信息和存储的信息进行比较,如果相同就找到,并输出。用|表示可以有姓名或者学号两种查找方式。
39、*/ printf(t 学号tt 姓名tt 成绩n); printf(t%ldtt,stui.num); printf(t%stt,stui.name); printf(t%.2fn,stui.marks); flag=1; printf(t 按任意键返回 .); getchar(); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第22 页,共26 页if(flag!=1)/* 当
40、计数不为 1 的时候,查不到所要的信息*/ printf(tt 不存在这样的信息 !n); printf(t 按任意键返回 .);getchar(); return 1; insert(void)/* 插入*/ int funnum(void); printf(t 请输入学号: ); gets(numstr); stun.num=atoi(numstr); printf(t 请输入姓名: ); gets(stun.name); printf(t 请输入成绩: ); gets(numstr); stun+.marks=atof(numstr); funname();/*调用按照姓名排序的函数,显
41、示添加以后所有学生的信息,并且按照姓名排序的方式输出 */ printf(t 按任意键返回 .); getchar();return 0; del(void) /* 删除*/ char ch; int i,j,flag; printf(tt 请输入要删除的学号 :n); gets(numstr); printf(tt 确定? (y/n)n); ch=getchar();getchar(); if(ch=y|ch=Y) for(i=0;in;i+) if(stui.num=atol(numstr)/* 比较学号相同时找到相应得信息进行删除*/ 名师资料总结 - - -精品资料欢迎下载 - - -
42、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第23 页,共26 页j=i; flag=1; if(flag=1) printf(t 正在删除,请稍后 .n); for(i=j;in;i+) stui=stui+1; printf(tt 删除成功! n); n-; funname(); printf(t 按任意键返回 .);getchar(); return 0; xg(void)/* 修改*/ int i,j,flag=0; char ch; prin
43、tf(t 输入您要修改的学号: ); gets(numstr); for(i=0;in;i+) if(stui.num=atol(numstr) j=i; flag=1; if(flag=1) printf(t0. 退出修改 1.姓名 2.成绩n); printf(t 请输入您要修改的项: n); ch=getchar();getchar(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第24 页,
44、共26 页switch(ch)/* 循环语句选择相应的修改选项*/ case 1: printf(t 请输入修改后的姓名: ); gets(stuj.name);printf(修改成功 n); break; case 2: printf(t 请输入修改后的成绩:); gets(numstr); stuj.marks=atof(numstr);printf(tt 修改成功 n); break; case 0: return 0; if(flag!=1) printf(t 不存在这样的信息 .n); printf(t 按任意键返回 .); getchar(); return 0; void mai
45、n() char choice; jm: system(cls); printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第25 页,共26 页printf( + 学生成绩管理系统 +n); printf( +-+n); printf( +(请按相应的数字键选择您所需要的操作)+n); printf( +-+n); printf( + 1.创建信息系统2.浏览信息+n); printf(
46、+ 3.查找成绩4.保存入文件+n); printf( + 5.打开文件6.插入信息+n); printf( + 7.修改信息8.删除信息+n); printf( + 0.退出系统+n); printf( +n); do choice=getchar();getchar(); switch(choice)/*switch 语句用于循环选择所要的选项*/ case 1:creat();goto jm;break; case 2:print();goto jm;break; case 3:search();goto jm;break; case 4:wfile();goto jm;break; c
47、ase 5:frile();goto jm;break; case 6:insert();goto jm;break; case 7:xg();goto jm;break; case 8:del();goto jm;break; case 0:exit(0); default: /*用户使用错误 */ puts(nEnter only selections listed);break; /* 结束 switch 语句*/ while(1);/* 结束 while 语句*/ /* 结束 main 函数*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
48、- - - - - - 名师精心整理 - - - - - - - 第 26 页,共 28 页 - - - - - - - - - 数据结构课程设计报告第26 页,共26 页四心得体会以前做实验题目的时候总是感觉很难,因为根本就不知道从哪里开始。这次课程设计让我对编程有了新的认识。拿到题目的时候也是很困惑,后来看了很多有关的例子,仔细看了书上的线性表部分的知识,觉得就是上课讲到的一些内容,不题目难,是自己先把自己吓住了。后来,参照书上的和网上的诸多例子,一个模块一个模块的编写,调试,一个功能一个功能去完善。发现越做越顺利,由于以前的实验中对于改错的经验积累和几个学得不错的同学的帮助,我的程序中的
49、错误也一个一个的顺利解决。再后来,等我的程序完全做好以后,我竟然可以独立的帮同学修改一些以前根本不知所以然的错误,同学也竟然佩服的称我为“高手”,都找我帮忙,其实,从这次实验中我认识到,我距离高手还很远,编程有很多的乐趣也有很多的技巧性和知识性。我将在以后的日子里继续认真的学习知识,积累经验,让自己的编程能力提高。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 28 页 - - - - - - - - - 数据结构课程设计成绩评定表姓名学号专业名称班级课程设计题目小组成员指导教师评语成 绩 评 定(五级制)平时成绩报告成绩实验成绩总评成绩指导教师签名职称填表日期:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 28 页 - - - - - - - - -