自动全屏网站模板,自适应和响应式网站,做网站要会编程么,如何做中英文切换的双语网站大一下学期写的C语言程序设计实验报告——学生成绩管理系统课程设计与实现 此篇为“设计篇”o~ 目录
前言
一、设计任务
二、程序设计与实现
1.程序设计
2.数据描述
3.功能模块设计
总结 前言
此篇为大一下学期写的C语言程序设计实验报告——学生成绩管理系统课程设计与… 大一下学期写的C语言程序设计实验报告——学生成绩管理系统课程设计与实现 此篇为“设计篇”o~ 目录
前言
一、设计任务
二、程序设计与实现
1.程序设计
2.数据描述
3.功能模块设计
总结 前言
此篇为大一下学期写的C语言程序设计实验报告——学生成绩管理系统课程设计与实现
这篇为设计篇~ 代码部分可以查看下一篇文章哦.
编译工具我用的是codeblocks其他一般C语言编译器如vc等也是可以运行的哦
具体内容如下啦
一、设计任务
随着信息时代的到来办公趋向无纸化、高效化对于学生成绩的管理更是如此基于此我选择了学生成绩管理系统作为我的课题希望能够模仿教务系统中成绩的录入与查询功能编写自己的成绩管理系统。从教师与学生两个角度分别实现成绩的录入、删除、修改、排序、浏览与查询功能。
二、程序设计与实现
1.程序设计
本程序面向两类用户即教师与学生登录需密码登录成功后有两个入口分别为教师端和学生端。教师端共有添加、删除、修改、查找、浏览、排序六个功能学生权限为查看本人详细成绩、查看班级成绩由高到低排序两个功能。学生成绩管理系统功能结构图如图1.所示。 图1 学生成绩管理系统功能结构图
2.数据描述
1学生信息存储
代码中定义结构体类型struct student来存储学生的信息。结构体类型定义及结构体成员含义说明如下所示。 struct student { char name[20]; char num[20]; int math; int Cgrade; int English; int total; };
2全局变量设计
定义全局变量tea[50]记录密码用户数量用于用户输入。
Struct teacher tea[50];
3账号密码设计
代码中定义结构体变量struct teacher来储存账号和密码。
struct teacher
{ char ac[30];//账号 char pw[30];//密码
};
3.功能模块设计
1函数名void Hello() 函数功能显示登录界面 输入用户输入选项 输出各项功能 算法描述采用switch函数 当 case 1:显示登录功能 login(); case 2:显示注册功能 registeruser(); case 0:退出登录
2函数名void login () 函数功能显示登录功能 输 入账号 密码 输 出无 算法描述 3函数名void registeruser() 函数功能注册账号功能 输 入用户账号 密码六位 输 出无 算法描述输入账号 输入密码采用for循环使得输入密码时用*显示。 再次输入密码1若密码正确则注册成功 2若密码错误则注册失败重新注册 4函数名void Menu() 和 void Key() 函数功能系统菜单选择教师端或学生端 输入用户输入选项 输出教师菜单 或 学生菜单 算法描述采用switch函数 case 1:教师端 菜单及功能 systemMenu() keyDown(); case 2:学生端 菜单及功能 stuMenu(); stuKeyDown(); case 3:退出登录 回到Hello()函数 登录界面 case 0:退出系统。
5函数名void systemMenu() 和 void keyDown() 函数功能分别为显示教师菜单 和 实现教师功能 输入用户输入选项 输出各项功能 算法描述采用switch函数 当case 1:录入学生信息 插入链表 insertNodeByHead(list,tempData); 保存到文件 saveInfoToFile(student.txt,list); case 2:浏览学生信息 打印链表 printList(list); case 3:删除学生信息 删除函数 deleteNodeByAppoinNum(list,tempData.num); 保存到文件saveInfoToFile(student.txt,list); case 4:修改学生信息 输入新的信息保存到文件saveInfoToFile(student.txt,list); case 5:根据学号查找学生信息 searchNodeByAppoinNum(list,tempData.num) case 6:根据总成绩从高到低排序 排序函数 sortStudentListByTotal(list); 打印 printList(list); case 7:返回到主菜单 主功能 Menu(); Key(); case 0:退出系统。
6 函数名void stuMenu() 和 void stuKeyDown() 函数功能分别显示学生菜单 和 学生功能 输 入用户输入选项 输 出各项功能 算法描述采用switch函数 case 1:根据学号查找学生个人信息 searchNodeByAppoinNum(list,tempData.num) case 2:查找班级总成绩及从高到低的排名 排序函数 sortStudentListByTotal(list); 打印 printList(list); case 3:返回到主菜单 主功能 Menu(); Key(); case 0:退出系统。
7函数名void deleteNodeByAppoinNum(struct Node* listHeadNode,char* num) 函数功能通过学号删除学生信息 输入学生学号 输出若学号匹配则删除成功 算法描述 8函数名struct Node *sortStudentListByTotal(struct Node *listHeadNode) 函数功能根据总成绩从高到低排序 输入无 输出无 算法描述采用选择排序法
9函数名struct Node* searchNodeByAppoinNum(struct Node* listHeadNode,char* num) 函数功能根据学号查找学生信息 输入学生学号 输出无 算法描述 三、总结
通过此次实验项目学到了1链表的使用 2以及指针的高级用法 如结构体指针等。
自己在做项目时存在哪些问题后续如何改正
1登录注册等出现问题、以及链表运用不熟练以至于有些程序不能如愿做出
2后续会更加努力学习链表尽量做到熟练运用以及对文件的熟练操作等。