课程设计报告格式Word文档下载推荐.docx

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

课程设计报告格式Word文档下载推荐.docx

《课程设计报告格式Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《课程设计报告格式Word文档下载推荐.docx(47页珍藏版)》请在冰点文库上搜索。

课程设计报告格式Word文档下载推荐.docx

4、插入模块。

插入一个学生的信息。

5、排序模块。

将表中学生按照考试成绩排列学生。

二、总体设计

1、功能模块设计

(1)主函数执行流程……

(2)输入记录模块……

(3)查询模块……

(4)插入模块……

(5)排序模块……

(6)输出记录模块……

三、数据结构设计

1、学生成绩信息结构体

structstud

{

longnum;

charname[20];

doublescore;

};

2、单链表node结构体

structstucode

structstudstudent;

structstucode*next;

}L;

四、函数功能描述

1.menu()

voidmenu()

printf("

\n学生信息管理系统\n"

);

\n菜单\n\n"

\n1建立链表并显示\n"

\n2查找某学号的学生信息\n"

\n3查找某姓名的学生信息\n"

\n4删除某学号的学生信息\n"

\n5插入新的学生信息\n"

\n6按分数降序排列输出\n"

\n7输出\n"

\n0退出\n"

\n请选择您要执行的选项:

\n"

}

参数含义:

2.Createlist

voidcreatelist(structstucode**r)

structstucode*p,*t;

longn;

chara[20];

doubles;

if(*r)*r=NULL;

\n请输入:

\n学号(请按学号升序排列)姓名分数(若要结束请输入三个为零)

scanf("

%ld%s%lf"

&

n,a,&

s);

if(n==0)return;

p=(L*)malloc(sizeof(L));

p->

student.num=n;

strcpy(p->

student.name,a);

student.score=s;

next=NULL;

*r=p;

while(n)

t=p;

t->

next=p;

}

n,学号;

a[20],姓名;

s,分数;

p、t,定义指针变量,使其指向结构体变量stucode

3.Out

voidout(structstucode*r)

\n\n"

if(!

r)

没有学生信息可输出!

return;

while(r)

%ld%s%.2lf\n"

r->

student.num,r->

student.name,r->

student.score);

r=r->

next;

r,结构体变量stucode,所用线性链表

4.search1

voidsearch1(structstucode*r)

longx;

没有学生信息可查询!

请输入要查询的学生信息的学生学号:

%ld"

x);

while(r&

&

r->

student.num!

=x)

if(r==NULL)

Error!

Nosuchstudent!

else

x,定义一个长整形变量,用于储存查找的学生信息;

r,结构体变量stucode,所用线性链表

5.search2

voidsearch2(structstucode*r)

charm[20];

请输入要查询的学生信息的学生姓名:

%s"

m);

strcmp(r->

student.name,m))

m[20],定义一个字符数组型变量,用于储存查找的学生信息;

6.Del

voiddel(structstucode**r)

longk;

structstucode*p=*r,*t;

(*r))

没有学生信息可删除!

请输入要删除的学生信息的学生学号:

k);

if(p->

student.num==k)

*r=(*r)->

next,free(p);

while(p->

next&

next->

=k)

p=p->

next==NULL)

t=p->

next=p->

free(t);

k定义一个长整形变量,用于储存删除的学生信息pt指向结构体变量stucode指针变量,用于储存数据,方便删除r结构体变量stucode,所用线性链表

7.Insert

voidinsert(structstucode**r)

L*p,*t,*k;

请输入要插入的学生信息的学生学号姓名分数:

(*r)->

student.num<

student.num)

next=(*r),(*r)=p;

t=*r;

k=t;

while(t->

=p->

t=t->

next=t->

*r=k;

p、k、t,定义指针变量,使其指向结构体变量stucode

8.Sort

voidsort(structstucode**r)

structstucode*t,*p,*q,*z;

没有学生信息可排序!

(*r)||!

next)

return;

p=t->

while(p)

q=p->

student.score>

student.score)

next=t;

z=t;

while(z->

z->

z=z->

next=z->

p=q;

*r=t;

p、q、t、z,定义指针变量,使其指向结构体变量stucode

9.info_daoru

voidinfo_daoru(structstucode**r)//学生信息导出文件函数

{

FILE*f_info;

//定义一个指向文件的指针变量

f_info=fopen("

info.cpp"

"

r"

//用fopen打开文件info.cpp

structstucode*p,*t;

p=(L*)malloc(sizeof(L));

if(*r)*r=NULL;

printf("

\n\n\t正在导入...\n\n"

if(!

f_info){

printf("

\n\t打开文件失败!

return;

}

fscanf(f_info,"

student.num,&

student.name,&

p->

*r=p;

while(!

feof(f_info)){

t=p;

t->

}//导入数据

fclose(f_info);

//关闭文件

f_info,定义一个指向文件的指针变量;

p,t;

指向structstucode的指针变量,用于储存每一个学生信息。

五、程序实现

五、源代码分析

⑴程序预处理

包括加载头文件,定义结构体、常量和变量,并对它们进行初始化工作。

#include<

stdio.h>

#include<

stdlib.h>

string.h>

structstud//定义一个结构体变量,结构体中含有学号、姓名、分数

//学号,为长整形

//姓名、为字符型数组

//分数、为双精度型

typedefstructstucode//定义一个结构体变量,结构体中含有学生信息和下一个变量的地址

//结构体变量,包含学生信息

//结构体变量,包含下一个储存单位的地址

voidmenu();

//菜单函数

voidcreatelist(structstucode**r);

voidout(structstucode*r);

//输出函数

voidsearch1(structstucode*r);

//查找函数1

voidsearch2(structstucode*r);

//查找函数2

voiddel(structstucode**r);

//删除函数

voidinsert(structstucode**r);

//插入函数

voidsort(structstucode**r);

//排序函数

voidinfo_daoru(structstucode**r);

//导入函数

voidsearch1(structstucode*r)//定义一个查找函数,根据学生的学号信息来查找

//定义一个长整形变量,用于储存查找的学生信息

//提示输入学生信息,并将元素放到变量x中

//一个一个查找

//若为空了,则显示Error!

//若没为空,则打印出该元素

voidsearch2(structstucode*r)//定义一个查找函数,根据学生的姓名信息来查找

//定义一个字符数组型变量,用于储存查找的学生信息

}//若链表中没有任何学生信息,则显示没有学生信息可查询,并返回出来

//提示输入学生信息,并将元素放到变量m[]中

voiddel(structstucode**r)//定义一个删除函数,根据学生的学号信息来查找

//定义一个长整形变量,用于储存删除的学生信息

}//若链表中没有任何学生信息,则显示没有学生信息可删除,并返回出来

//提示输入学生信息,并将元素放到变量k中

student.num==k)//从第一个开始查找

//若第一个元素就是,则删除此元素

//若不是,则一个一个查找

//若没有,则显示Error!

//若某一个元素就是,则删除此元素

voidinsert(structstucode**r)//定义一个插入函数

//定义各个变量,用于储存信息

//把输入的信息放到p所指的L中

}//如果r所指的L中没有任何元素,则直接放进去

}//比较学号大小,以便放入

}//若链表中没有任何学生信息,则显示没有学生信息可排序,并返回出来

//若链表中只有一个元素,则不用排,直接返回

//比较分数大小,再排序

voidout(structstucode*r)//定义一个输出函数,根据学生的信息来一个一个输出

}//将学生信息一个一个输出

//定义指针变量,使其指向结构体变量stucode

//定义long型变量,用于存放学号

//定义char型变量,用于存放姓名

//定义double型变量,用于存放分数

//将链表中的信息致空

\n学号(请按学号升序排列)姓名分数(若要结束请输入三个为零)\n"

//提示输入学号、姓名、分数

scanf(

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

当前位置:首页 > 工作范文 > 其它

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

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