- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 系统需求说明书
1.1系统软件界面介绍
1.1系统界面介绍
本系统的软件界卖弄是使用C语言编译生成的一个系统操作菜单。操作菜单界面总共有七个选项可以供用户操作选择,分别为策划给你记录入、成绩查询、成绩删除、成绩修改、成绩统计、成绩查询、显示所有信息、退出系统。菜单页面下方有可供用户选择操作项目的指令,当用户选择并输入0-6中的任意数字,系统便会进入相应的功能操作。如果出现错误操作,系统会给出输入错误请从新输入等提示或者自动跳出回到主菜单界面。
1.2系统设计要求
本系统设计要求使用C语言以及数据与结构的知识点对系统进行编译。要求学生熟练掌握数据结构的线性表和链表,以及C怨言的文件读一些操作,结构体、指针等知识点,并且学以致用,熟练应用。在处理数据时要求采用线性表结点的数据域包括、、和,。
图2.1 系统操作流程图
2.2系统功能分析
系统主要石油几大函数块来实现整个系统的功能。
1)学生个人成绩信息录入
当用户选择第一项操作时,便进入学生成绩录入的函数。其流程图如下:
图2.2 成绩录入操作流程图
2)学生成绩修改
其流程图如下:
图2.3 成绩录入操作流程图
3)学生成绩删除
其流程图如下:
图2.4 成绩删除操作流程图
4)学生成绩统计
其流程图如下:
图2.5 成绩统计操作流程图
5)学生成绩查询
其流程图如下:
图2.6 成绩统计操作流程图
6)所有学生成绩信息显示
其流程图如下:
图2.7 所有学生成绩和个人信息显示操作流程图
3 代码实现
3.1 创建结构体和链表解释
typedef struct
{
char Number[20]; //学号
char Class[20]; //班级
char Name[20]; //姓名
char Subject[20]; //科目
int term; //学期
int Score; //分数
}Node;//链表的定义
typedef struct
{
int count;
Node Student[MAX];
}List;//线性表的定义
typedef struct
{
char Class[20]; //班级名字
int Acount; //班级优秀的人数
int Dcount; //班级不及格的人数
int count; //班级总人数
}ClassInfor;
创建一个链表,并定义数据对象;在创建线性表用来计数和存储信息。
3.2 学生成绩的录入代码解释
void Insert(List *L, ClassInfor *S)//成绩录入
{
char Number[20];
char Class[20];
char Name[20];
char Subject[20];
int Term;
int Score;
int i, flag = 0;
printf(\n\t\t\t\t请输入学号: );
scanf(%s, Number);
getchar();
if(strcmp(L-Student[L-count - 1].Number, Number) 0)//录入学号与最后学号进行比较
{
printf(\n\n\t\t\t不合法学号,学号应大于%s, L-Student[L-count - 1].Number);
return;
}
printf(\n\t\t\t\t请输入班级: );
scanf(%s, Class);
getchar();
for(i = 0; i Class_NUM; i++)
{
if(strcmp(S[i].Class, Class) == 0)
{
S[i].count++;//该班级人数+1
flag = 1;
break;
}
}
if(flag == 0)
{
printf(\n\n\t\t\t\t请输入正确的班级\n);
return;
}
printf(\n\t\t\t\t请输入姓名: );
scanf(%s, Name);
printf(\t\t\t);
getchar();
printf(\n\t\t\t\t请输入科目: );
scanf(%s, Subject);
printf(\n\t\t\t\t请输入学期:2\n );
Term = 2;
printf(\n\t\t\t\t请输入分数: );
scanf(%d, Score);
getchar();
if(Score = 90)//优秀人数+1
S[i].Acount++;
if(Score 60) //不及格人数+1
S[i].Dcount++;
//寻找插入
文档评论(0)