数据结构课程设计Word文件下载.docx

上传人:b****3 文档编号:7965254 上传时间:2023-05-09 格式:DOCX 页数:34 大小:23.25KB
下载 相关 举报
数据结构课程设计Word文件下载.docx_第1页
第1页 / 共34页
数据结构课程设计Word文件下载.docx_第2页
第2页 / 共34页
数据结构课程设计Word文件下载.docx_第3页
第3页 / 共34页
数据结构课程设计Word文件下载.docx_第4页
第4页 / 共34页
数据结构课程设计Word文件下载.docx_第5页
第5页 / 共34页
数据结构课程设计Word文件下载.docx_第6页
第6页 / 共34页
数据结构课程设计Word文件下载.docx_第7页
第7页 / 共34页
数据结构课程设计Word文件下载.docx_第8页
第8页 / 共34页
数据结构课程设计Word文件下载.docx_第9页
第9页 / 共34页
数据结构课程设计Word文件下载.docx_第10页
第10页 / 共34页
数据结构课程设计Word文件下载.docx_第11页
第11页 / 共34页
数据结构课程设计Word文件下载.docx_第12页
第12页 / 共34页
数据结构课程设计Word文件下载.docx_第13页
第13页 / 共34页
数据结构课程设计Word文件下载.docx_第14页
第14页 / 共34页
数据结构课程设计Word文件下载.docx_第15页
第15页 / 共34页
数据结构课程设计Word文件下载.docx_第16页
第16页 / 共34页
数据结构课程设计Word文件下载.docx_第17页
第17页 / 共34页
数据结构课程设计Word文件下载.docx_第18页
第18页 / 共34页
数据结构课程设计Word文件下载.docx_第19页
第19页 / 共34页
数据结构课程设计Word文件下载.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据结构课程设计Word文件下载.docx

《数据结构课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计Word文件下载.docx(34页珍藏版)》请在冰点文库上搜索。

数据结构课程设计Word文件下载.docx

1英语4

2数学2

3信息系统4

4操作系统3

5数据结构4

6数据处理2

7C/C++4

SC.txt中的内容:

SnoCnoGrade

20120001190(这里是说20120001的学生选了1,2,4这三门课)

20120001280

20120001485

20120002186

20120003382(这里是说2012003的学生选了3.5这两门课门课)

20120003588

20120005790

2、为存储学生、课程和选课信息设计数据结构,将以上文件内容导入其中;

3、对学生表进行插入、删除、修改和查询操作;

考查点:

●插入时注意学号的处理,可以不填吗?

是否重复?

其他数据是否可以乱填?

如何控制?

●删除时一要防止误操作,二要考虑该生的选课信息,如何处理?

●修改时同样要考虑各数据项的性质;

●查询要求可以实现多条件查询,越灵活越好,发挥你们的想象,自行设计。

4、对选修表进行插入、删除、修改操作;

5、综合查询

例如查询“选修了数据结构课程的学生的姓名”,希望大家设计出有实际意义、灵活、丰富的综合查询。

另外,为了加快查询速度,可以考虑采用索引表,参考教材第一章绪论中的第一个例子:

书目检索问题,也可以考虑将课堂所学的第9章查找、第10章排序加入到系统中。

6、最后把系统中的数据保存回文件中。

【课程设计报告的编写格式规范】

报告首页为成绩单,填写姓名、性别、学号、班级和指导教师。

正文要求把课程设计的过程、算法设计的内容描述清楚,一般有如下几个方面的内容(也可自行增减):

1)问题描述

无歧义的陈述设计的内容,明确设计所能够达到的要求或功能。

2)解题思路

用文字表达设计思想即可。

3)算法描述

用流程图、伪码等描述算法。

4)程序设计

说明本程序中所有用到的数据及其数据结构的定义,对包含的基本操作及其实现给出详细注解。

5)测试结果

截图给出你的测试结果,并对输出结果进行适当的分析、比对和客观的评价。

6)设计总结

可以包括设计过程中遇到的问题是如何解决的以及对设计与实现的回顾和分析,或者改进思想,经验和体会等。

【成绩评定】

1、由指导教师根据检查学生程序的情况、课程设计报告的质量和课程设计过程中的工作态度等综合打分。

成绩评定实行优秀、良好、中等、及格和不及格五个等级。

2、设计程序的检查由指导教师当面在计算机上检查测试,并同时对程序运行中的问题至少提出三个问题,学生当面回答,教师根据以上检查做好记载;

3、按时独立完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。

发现课程设计报告基本雷同,一律不及格。

#include<

stdio.h>

stdlib.h>

string.h>

//调用strcmp()函数和strcpy()函数

//定义学生对象类型

typedefstructnode1

{

charSno[10];

//学号

charSname[10];

//姓名

charSsex[3];

//性别

charSage[3];

//年龄

charSdept[4];

//所在系

structnode1*next;

//指针域/

}Student;

//结点的类型

//定义课程对象类型

typedefstructnode2

charCno[10];

//课程号

charCname[10];

//课程名

charCcredit[3];

//学分

structnode2*next;

}Course;

//定义选课对象类型

typedefstructnode3

intGrade;

//分数

structnode3*next;

}SC;

Student*h_student;

Student*r_student;

//指向表h_student的尾结点指针

Course*h_course;

Course*r_course;

//指向表h_course的尾结点指针

SC*h_sc,*r_sc;

FILE*fp_student,*fp_course,*fp_sc;

//创建文件型指针

//只需创建头指针

voidInit()//三个表的初始化

//Create_Student(h_student);

h_student=(Student*)malloc(sizeof(Student));

//创建表头结点

h_student->

next=NULL;

r_student=h_student;

//尾指针指向表头结点

//Create_Course(h_course);

h_course=(Course*)malloc(sizeof(Course));

h_course->

r_course=h_course;

//Create_SC(h_sc);

h_sc=(SC*)malloc(sizeof(SC));

h_sc->

r_sc=h_sc;

}

//用户输入数据建立学生信息表(尾插法)

voidCreate_Student(Student*stu)

Student*s;

intm,i;

printf("

现在输入学生信息\n"

);

请输入学生个数:

"

scanf("

%d"

&

m);

|学号|姓名|性别|年龄|所在系|\n"

for(i=1;

i<

=m;

i++)

{

s=(Student*)malloc(sizeof(Student));

if(i>

1)

{

printf("

第%d位学生的相关信息输入完毕!

\n\n"

i-1);

}

printf("

现在输入第%d位学生的相关信息\n"

i);

请输入学号:

%s"

s->

Sno);

请输入姓名:

Sname);

请输入性别:

Ssex);

请输入年龄:

Sage);

请输入所在系:

Sdept);

r_student->

next=s;

r_student=s;

}

r_student->

//由用户输入数据建立课程信息列表

voidCreate_Course(Course*C)

Course*s;

\n现在输入课程信息\n"

请输入课程数量:

|课程号|课程名|学分|\n"

s=(Course*)malloc(sizeof(Course));

第%d个课程的相关信息输入完毕!

现在输入第%d个课程的相关信息\n"

请输入课程号:

Cno);

请输入课程名:

Cname);

请输入学分:

scanf("

Ccredit);

r_course->

r_course=s;

//由用户输入数据建立选课信息列表

voidCreate_SC(SC*S)

SC*q;

\n现在输入选课信息\n"

请输入选课信息条数:

|学号|课程号|成绩|\n"

q=(SC*)malloc(sizeof(SC));

第%d条选课的相关信息输入完毕!

现在输入第%d条选课的相关信息\n"

q->

请输入课程分数:

Grade);

r_sc->

next=q;

r_sc=q;

//输出学生信息表

voidShow_All_Student()

Student*p;

p=h_student->

next;

学生信息表\n"

---------------------------------------------------\n"

|Sno|Sname|Ssex|Sage|Sdept|\n"

while(p!

=NULL)

|%9s%8s%9s%9s%9s|\n"

p->

Sno,p->

Sname,p->

Ssex,p->

Sage,p->

---------------------------------------------------\n\n"

p=p->

//输出课程信息表

voidShow_All_Course()

Course*p;

p=h_course->

课程信息表\n"

-----------------------------------------------\n"

|Cno|Cname|Ccredit|\n"

|%6s%21s%13s|\n"

Cno,p->

Cname,p->

-----------------------------------------------\n\n"

//输出选课信息表

voidShow_All_SC()

SC*p;

p=h_sc->

选课信息表\n"

|Sno|Cno|Grade|\n"

|%11s%13s%16d|\n"

//在学生信息表中添加学生(尾插法)

voidInsert_Student(Student*stu)

Student*s,*s1;

s=(Student*)malloc(sizeof(Student));

s1=stu->

//检查是否存在这名学生,输入的学号不能重复

while(s1!

if(strcmp(s1->

Sno,s->

Sno)==0)

该学生已存在,请检查是否输入错误\n"

请重新输入学号:

s1=s1->

if(s1==NULL)

请输入性别(男/女):

if((strcmp(s->

Ssex,"

男"

)==0)||(strcmp(s->

女"

)==0))

r_student->

r_student=s;

插入成功!

else

插入失败!

性别输入有误!

\n"

//删除学生

//一要防止误操作

//二要考虑该生的选课信息,删除学生的同时把该学生对应的课程也删除了

voidDelete_Student(Student*stu,SC*S)

charsn[20];

SC*s;

inti=0;

请输入要删除的信息中学生学号或姓名:

sn);

p=stu->

s=S->

Student*q=stu;

SC*s1=S;

if(strcmp(p->

Sno,sn)==0||strcmp(p->

Sname,sn)==0)//找到对应的学生

strcpy(sn,p->

while(s!

{

if(strcmp(sn,s->

{

s1->

next=s->

free(s);

s=s1->

continue;

}

if(s!

s=s->

s1=s1->

}

q->

next=p->

free(p);

删除成功!

break;

q=q->

//修改学生信息

//考虑各数据项的性质,现在只能修改学生年龄和学生所在系

voidUpdate_Student(Student*stu)

inti;

请输入要修改的信息中学生学号或姓名:

Student*q;

Sname,sn)==0)

q=p;

if(p==NULL)

对不起,无该学生信息!

return;

else

请输入要修改的信息\n"

你可以修改的内容为:

1、年龄2、院系\n"

请输入修改序号(1或者2):

i);

switch(i)

case1:

printf("

请输入你所需要修改该学生现在的年龄:

scanf("

修改成功!

break;

case2:

请输入你所需要修改该学生现在所在的系:

default:

输入错误,请重新输入!

//查询学生个人基本信息,以姓名或学号为参数

voidSelect_Student(Student*stu)

请输入所要查询的学生的学号或姓名:

Sname,sn)==0||strcmp(p->

Sno,sn)==0)

|%9s%9s%9s%8s%9s|\n"

//查询学生单科目的成绩

voidSelect_SC(Student*stu,Course*C,SC*S)

charcn[20];

Course*q;

SC*r;

请输入所要查询的学生的学号和课程号\n"

请输入学号或姓名:

对不起,无该学生的信息!

请输入课程号或课程名:

cn);

q=C->

while(q!

if(strcmp(q->

Cno,cn)==

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2