学生数据结构成绩管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
很好的辨认和解决,小组成员在一起更加的团结,更注重合作。在一
起解救问题的时候,经过很多的争辩也让我们更加的默契。
程序源代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h>//动态内存分配的 #include <winsock2.h> /*socket 通信,系统头文件*/
学生档案管理系统
录入学生信息













退















安阳师范学院
·数据结构课外实践·










2、重要数据的数据结构设计 学生学籍的记录项用结构体 StuMessage 表示,包括 6 个属性,stuNo、name、 spec、grade、sex、birthday 分别代表学生的学号、姓名、专业、年级、性别 和出生日期,其中 birthday 类型为自定义的结构体类型 Date。
scanf("%d",&flag);
while(getchar()!='\n');
for(;flag;)
{
n++;
p1=(Student *)malloc(sizeof(Student));
p1->num=flag;
printf("ห้องสมุดไป่ตู้输入第%d 名学生的姓名:",n);
scanf("%s",p1->name);
Student *enter()
//录入学生数据
{
int flag;
Student *head,*p1,*p2;
n=0;
head=(Student *)malloc(sizeof(Student));
p2=head;
printf("\n 请输入第%d 名学生的学号,学号为 0 表示结束输入:",n+1);
统计出各分数段学生人数(60 分以下,60~70,
71~80,...),以及学生平均成绩的输出
(4)学生成绩的显示以及排名(排名有单科
成绩和总成绩排名)
小组成员
安阳师范学院
任务分工
·数据结构课外实践·
课外实践评定成绩记录
系统完成情况:优 良 中 差 指导教师意见
报告完成情况:优 良 中 差
答辩评定成绩 团队整体成绩:
民族、数据结构、线性代数、概率统计成绩(至少
录入 10 名以上学生)
所录入的学生按学号散列存储(散列函数为:
学号%5 取整,如 1002%5 =2),采用拉链法解决冲
突。
项目简介
(2)学生成绩的查询和修改 要求根据提供的学号、姓名完成学生成绩的查
询,或者插入,删除学生的信息
(3)学生成绩的分段统计和排序输出
printf("请输入第%d 名学生的性别:",n);
scanf("%s",p1->sex);
printf("请输入第%d 名学生的民族:",n);
scanf("%s",p1->nation);
printf("请输入第%d 名学生的数据结构成绩:",n);
scanf("%d",&p1->score[0]);
//学生成绩统计排序
{
int choose;
上述问题有的通过插入断点调试,有的是从头到尾仔细检查一遍,都很好的解决
参考文献
[1] 严蔚敏,吴伟民.数据结构. 北京:清华大学出版社,2012.
[2] 谭浩强. C 程序设计(第四版)作者:清华大学出版社,2012 心得体会
通过《学生数据结构成绩管理系统》这个题目,我们对于编写程
序有一个显著的提高,熟练应用结构体,对于程序出现的错误也有了
printf("请输入第%d 名学生的概率统计成绩:",n);
scanf("%d",&p1->score[1]);
printf("请输入第%d 名学生的线性代数成绩:",n);
scanf("%d",&p1->score[2]);
p1->sum=p1->score[0]+p1->score[1]+p1->score[2];
清屏 查询















输出查找找结 果
按指定键返回菜 单或继续操作
6、按学号查询功能模块函数 SearNum() 设计
安阳师范学院
·数据结构课外实践·
7、按姓名查询功能模块函数 SearGrade() 设计
安阳师范学院
·数据结构课外实践·
清屏 输出表头 I=0,count=0 I<length
(14) int DelList(struct StuMessage stu[], int i);
函数功能: 如果数组中存在下标为 i 的记录,删除该记录并返回 1,否则返回
0。
4、小组成员分工
组员 1
main(); SystemInfo(); MenuOfMain(); Quit();
组员 2
PrintHead(); ListOne(); ListAll(); Apend();
安阳师范学院
·数据结构课外实践·
源文件中。以下是这些函数的函数原型及功能设计。
(1) void SysInfo(void);
函数功能:在屏幕上输出系统及版权信息并等待用户响应。
(2) void MenuOfMain(struct StuMessage stu[]);
函数功能: 在屏幕上显示主菜单,接收用户选择并响应用户相应操作。
综合成绩
一、系统简介 设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录 入、修改、查询和输出等基本操作。 二、需求分析 学籍管理系统应实现以下功能: 1、能录入学生的基本信息,包括学号、姓名、、性别和,保存到结构体数组中。 2、能根据输入的学号查找学生,进行信息的修改。 3、能根据输入的学号从结构体数组中学生的记录。 4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。 5、能在屏幕上以列表的方式输出所有学生的信息。 三、概要设计 1、系统功能结构图 根据项目的开发要求,本系统划分成六个主功能模块:录入学生信息模块、修改 学生信息模块、、查询信息模块、输出模块和系统退出模块。系统功能结构图如 下:
函数功能: 在屏幕上显示查询子主菜单,接收用户选择并响应用户操作。
(7) void ListAll(struct StuMessage stu[]);
函数功能: 在屏幕上以列表方式输出所有学生的信息。调用 PrintHead() 输出
表头,再调用 ListOne() 函数逐一输出各条记录。
(8) void Quit(void);
typedef struct student//ypedef 声明新的类型来代替已有的类型的名字,定义一个结构
体 student
{
long num;
//学号
char name[20];
//姓名
char sex[20];
//性别
char nation[20]; //民族
int score[3];
//成绩
(3) void Append(struct StuMessage stu[]);
函数功能: 录入一条学生记录到记录数组的末尾。
(4) void Modify(struct StuMessage stu[]);
函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应
学生记录并通过重新输入的方法修改该学生的记录,否则输出没有找到相关记
录。
(5) void Delet(struct StuMessage stu[]);
函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应
学生记录,用户确认删除后调用 DelList() 函数将其删除,否则输出没有找到
相关记录。
(6) void MenuOfSear(struct StuMessage stu[]);
否则输出没有找到相关记录。
(10) void SearGrade(struct StuMessage stu[]);
函数功能: 通过输入年级查询学生的相应记录信息,如果存在在屏幕以列表方式
输出相应学生记录,并输出统计满足条件的学生个数,否则输出没有找到相关记
录。
(11) int NumOfSear(struct StuMessage stu[], char stuNum[]);
函数功能: 退出菜单系统,并调用 exit(0) 系统函数结束程序运行。
(9) void SearNum(struct StuMessage stu[]);
函数功能: 通过输入学号调用 NumOfSear() 函数查询学生的相应记录信息,如
果存在调用 PrintHead() 函数和 ListOne() 函数在屏幕上输出相应学生记录,
int sum;
//总分
安阳师范学院
·数据结构课外实践·
struct student *next;//student 中的一个指针变量 }Student; int n;
Student *enter(void); Student *sort_1(Student *head,int); void print(Student *head); Student *sort_all(Student *head); void find(Student *head); Student *add_new(Student *head); void stats(Student *head);
输出第 i 条记录 Count++ I++
Count>0
共找到 n 条记录
没有找到相关记录
按任意键继续 Getch()
安阳师范学院 8、输出学生信息功能模块函数 ListAll() 设计
·数据结构课外实践·
5 测试分析 5.1 测试结果 1.输入
安阳师范学院
·数据结构课外实践·
2.查询学生数据
安阳师范学院
typedef struct student
{
long num;
//学号
char name[20];
//姓名
char sex[20];
//性别
char nation[20]; //民族
int score[3];
//成绩
int sum;
//总分
}; 3、函数设计 学籍管理系统程序采用了结构化程序设计的思想,由 1 个.h 头文件和 3 个.c 源 文件组成。程序中除了主函数外,共设计了以下 14 个函数,分别包含在 3 个.c
安阳师范学院
·数据结构课外实践·
组员 3
Modify(); Delte(); DelList();MenuOfSear();
组员 4
SeraNum(); SearGrade(); NumOfSear();
四、详细设计 1、系统主函数 main()设计
开始
直接显示主界面
是否建立新系统 退出
2、主菜单模块函数 MenuOfMain() 设计
开始 显示主菜单
安阳师范学院
选择
·数据结构课外实践·



































退出菜单
3、录入学生信息功能模块函数 Append() 设计
安阳师范学院
·数据结构课外实践·
4、查询菜单模块函数 MenuOfSear() 设计
安阳师范学院
·数据结构课外实践·
p2->next=p1;
p2=p1;
printf("\n 请输入第%d 名学生的学号,没有此学生则输入 0 表示结
束:",n+1);
安阳师范学院
·数据结构课外实践·
scanf("%d",&flag); } p2->next=NULL; printf("\n\n"); return head; }
Student *sort_all(Student *head)
数据结构课外实践报告
项 目 名 称: 学生数据结构成绩管理系统 所 在 班 级: 2012 级软件工程 小 组 成 员: 指 导 教 师: 起 止 时 间:
安阳师范学院
项目基本信息
·数据结构课外实践·
项目名称 学生数据结构成绩管理系统
(1)学生信息及成绩的录入
要求包括的学生信息有:学号、姓名、性别、
函数功能: 根据接收到的学生学号,在相应记录数组中进行查询,如果存在相应
记录,返加相应的数组下标,否则返回-1。
(12) void PrintHead(void);
函数功能: 在屏幕上显示输出列表的表头。
(13) void ListOne(struct StuMessage list);
函数功能: 在屏幕上以行的方式显示输出一个学生的相关信息。
3 插入学生数据
·数据结构课外实践·
4.统计各个分数段学生
安阳师范学院
·数据结构课外实践·
问题总结:1.由于编写代码的时候,中英文格式不同,造成编译错误。 2.括号不匹配,这个是出现次数多的,造成连带错误。 3.变量没有经过定义就在程序中使用(这个错误比较好查找)。 4.引用符号“&”没有写,造成程序编译错误。
相关文档
最新文档