《C语言程序设计》课程设计学生成绩管理系统文档格式.docx

上传人:b****1 文档编号:15334917 上传时间:2022-10-29 格式:DOCX 页数:20 大小:695.34KB
下载 相关 举报
《C语言程序设计》课程设计学生成绩管理系统文档格式.docx_第1页
第1页 / 共20页
《C语言程序设计》课程设计学生成绩管理系统文档格式.docx_第2页
第2页 / 共20页
《C语言程序设计》课程设计学生成绩管理系统文档格式.docx_第3页
第3页 / 共20页
《C语言程序设计》课程设计学生成绩管理系统文档格式.docx_第4页
第4页 / 共20页
《C语言程序设计》课程设计学生成绩管理系统文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》课程设计学生成绩管理系统文档格式.docx

《《C语言程序设计》课程设计学生成绩管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计学生成绩管理系统文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》课程设计学生成绩管理系统文档格式.docx

7、将学生记录存在文件score中。

8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

(四)、设计要求

1、用C语言实现系统;

2、利用结构体数组实现学生成绩的数据结构设计;

3、系统具有增加,查询,插入,排序等基本功能;

4、系统的各个功能模块要求用函数的形式实现;

5、完成设计任务并书写课程设计报告。

6、将学生成绩信息存在文件中。

(五)、提交材料

1、课程设计报告

1)课程设计题目、内容、要求。

2)总体设计(包含几大功能模块)。

3)详细设计(各功能模块的具体实现算法——流程图)

4)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。

5)调试分析(包含各模块的测试用例,及测试结果。

6)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)

二:

本程序共有八个功能与数据结构说明:

1.学生记录的输入(一次性输入,输入个数由用户决定,最大可容纳80记录,最大数可以在源程序中改)。

2.追加学生记录。

(追加后不能超过最在值80)。

3.修改记录。

4.删除记录。

5.浏览全部记录。

6.查找记录(按姓名查找)。

7.插入记录。

8.对记录进行排序(按平均成绩排序)。

9.退出。

10.数据结构是这样的:

学号只能由数字字符组成,最大可以11个字符;

姓名由字符组成,最大可以20个字符;

三门科目分数都是整型;

平均成绩是实型。

11.程序中定义了学生的容量为50个。

容量可以在源程序宏定义中改,本程序宏定义#defineN50

三:

下面是各个模块的流程图

(0)、主菜单函数;

这就是程序刚运行出现的。

主介面的流程图如下

清屏

显示一系列功能选项

输入n

判断n,(必须是0-9)

Y

N

W1=0

W1=1

While(w1==1)

对n多分支选择switch(n);

n=1

n=2

n=3

n=4

n=5

n=6

n=7

n=8

n=9

全新输入模块

追加模块

修改模块

删除模块

浏览模块

查找模块

插入模块

排序模块

退出程序

(一)、全新输入模块流程图

输入用户要输入学生记录的个数n

For(i=0;

i<

n;

i++)

调用输入函数input(i);

判断i!

=0

Y

保存

返回主菜单

(二)、追加模块流程图

调用加载函数n=load();

并计算可以记录个数n

输入用户要追加学生记录的个数m

K=m+n;

For(i=n;

k;

i++);

保存追加的记录

提示成功保存

(三)、修改模块流程图

定义structstudents;

inti,n,k,w0=1,w1,w2=0;

调用加载记录n=load();

n为记录个数

清屏clrscr();

显示所有记录,让用户看哪个要修改

输入要修改的学号s.num

是否找到此学生记录stu[i]

k=i;

s=stu[i]

提示没有找到

While(k==-1);

显示找到的记录

调用修改函数w1=modify_data(i,n);

w1为保存控制值

if(w1==1)

询问用户是否继续修改另一个

1)是2)保存返回

w0=0;

if(w2==1)

N

输入w0

stu[k]=s;

w2=1;

if(w0!

=1&

&

w2==1)

保存save(n);

While(w0==1);

说明:

调用w1=modify_data(i,n)修改函数时,若返回值为1则表示用户在修改函数里面确认了这次修改,其中i表示第i个记录(要修改的),n表示总共有n个记录,n以便这修改函数在调用输入函数时用;

若返回值不为1则不保存这次修改,但保存这次之前的修改,这由w2来控制,w2=1则表示有过用户修改确认史。

(四)、删除模块流程图

inti,n,k,w0=1;

调用加载记录函数n=load();

K=-1;

显示找到的记录k

让用户选择进行操作

1).确定删除2).要删除另一个3).直接退出

输入c

判断C的值.三分支选择

c=1

c=2

c=3

stu[k].ave=0;

作删除标记,保存时则此记录不保存

W0=0;

询问用户是否继续

W0=1;

W0!

=1;

c!

=3)

保存;

若在让用户选择操作时选择了"3).直接退出",则不保存所有删除过的记录。

这里不同于修改模块。

(五)、浏览模块流程图

显示10个学生记录

按任意键

显示记录个数n

浏览时按10个记录分屏显示。

(六)、查找模块流程图

inti,n,k,w1=1,w2,w3,w4;

输入学生名字s.name

s.name==stu[i].name

K=I;

并显示此记录

if(k==-1)

询问是否继续

W1=1;

W1!

While(k==-1&

w1==1)

w3=0;

w4=0;

if(k!

=-1)

让用户选择1).查找另一个

2).修改3).删除4).返回主菜单

输入w2

对w2多分支选择

W2=1

W2=2

W2=3

W2=4

调用修改函数

w3=modify_data(k,n);

显示待删除的记录,并询问是否删除

W4=1;

if(w3==1||w4==1)

w2!

While(w2==1)

这模块是按姓名查找的,找到以后,增加了对它删除和修改功能。

而删除和修改模块都有浏览(记录信息不清楚的用户进行),或许删除和修改模块显得有点重复。

(七)、插入模块流程图

inti,j,n,c;

调用输入法单个记录的函数input(n);

显示刚才输入的记录stu[n]

让用户选择 1).确定2).否并重新输入

3).不保存返回

输入c,并对c多分支选择

C=1

C=2

c>

2

用起泡法排序,并保存.

While(c==2)

(八)、排序模块流程图

inti,j,k,n;

用选择法排序

提示保存成功

按任意键盘getch();

四:

除模块函数外还有自定义函数,下面这些自定义的函数作流程图

1.保存函数save(intn)

  

FILE*fp;

inti;

If(fp=fopen(“score.txt”,”wb”)==NULL)

提示不能打开.

ReturnNULL;

n:

if(stu[i].ave!

=0)

写到文件

关闭文件fclose(fp);

形参n是控制保存的个数.stu[k].ave=0;

作删除标记,保存时则不保存此记录

2.加载函数load()

If(fp=fopen(“score.txt”,”rb”)==NULL)

!

feof(fp):

fread(&

stu[i],sizeof(structstudent),1,fp);

return(i-1);

此函数可以用来加载所有记录,并且可以返回所有记录的个数。

3.学号输入函数no_input(inti,intn)

intj,k,w1;

输入学号stu[i].num

For(j=0;

stu[i].num[j]!

=’\0’;

j++)

学号是否为数字

提示学号不对;

break;

if(w1!

=1)

For(k=0;

k<

k++)

学号与其它相同)

提示此学生已存在

此函数对学号输入进行判断确保输入的学号唯一。

形参i表示第i个学生记录,形参n表示总共有n个学生记录。

4.对三科科目分数输入函数score_input(inti)

intj;

for(j=0;

j<

3;

输入分数

stu[i].score[j]

开参i表示第i个学生记录。

5.求平均值函数average(inti)

intj,sum;

For(sum=0,j=0;

sum+=stu[i].score[j]

stu[i].ave=sum/3.0

形参i表示第i个学生记录,

6.输入整一个记录函数input(inti)

调用学号输入函数no_input(i,i);

输入学生姓名stu[i].name

调用分数输入函数score_input(i);

调用求平均值函数average(i);

7.修改整条记录函数modify_data(inti,intn)

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

当前位置:首页 > 医药卫生 > 预防医学

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

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