一、设计分析。
该设计是设计一个实用的小型学生成绩管理系统。它有录入,查询,修改,删除,保存的基本功能,并且能够对指定文件操作,也可将多个文件组成一个文件。
二、系统设计说明。
1. 程序运行主界面。
再根据用户的不同需求来选择不同的操作。
2. 模块功能设计。
2.1.建立学生基本信息。
使用动态链表技术,用creat()函数实现学生基本信息的录入;
2.2查询记录。
1)可以按学号方式查询记录。
2)能给出查询记录的信息。
3)如果查询的信息不存在,输出提示信息。
2.3插入学生记录。
1)可以在已有记录后面追加新的记录。
2)可以随时增加新的记录,他们仅保存在向量数组中。
3)如果没有记录存在,给出提示信息。
2.4修改记录。
1)可以按学号方式查找要修改的记录内容。
2)给出将被修改记录的信息,经确认进行修改。
3)如果已经是空表,应给出提示信息并返回主菜单。
4)如果没有找需要找到修改的信息,输出提示信息。
2.5删除记录。
1)可以按学号方式删除记录。
2)标志将被删除的记录,可以再次取消标志,经确认后删除已经标志的记录。
3)如果已经是空表,删除时应给出提示信息并返回主菜单。
4)如果没有要删除的信息,输出信息。
5)删除操作及限于内存,只有执行存储操作时,才能覆盖原记录。
2.6文件存储。
1)可以按默认名字或者指定名字存储记录文件。
2)更新存储标志。
三、系统技术文档。
1、 系统各主要模块流程图。
1.1输入数据模块。
1.2查找信息模块。
1.3修改信息模块。
1.4删除信息模块。
2软件总体测试方案与测试记录。
2.1测试方案。
将程序编写完成后,开始整体测试。分别就不同的模块功能进行测试,看程序是否能够正确的运行出结果,是否有逻辑错误。
2.2测试部分记录。
1)数据的录入过程。
2)数据的查询。
3局部测试方案与测试记录。
3.1测试方案。
局部测试分别进行了数据的修改与数据的插入两个模块的测试;
3.2测试部分记录。
1)修改模块。
2)插入信息模块。
4软件调试与修改记录。
4.1软件调试。
软件调试采用单步调试的方法,查看其运行过程。保证每一步执行和预期是一致的。然后进行大量的的尝试不同的数据进行调试,保证没有其他错误。
4.2修改记录。
在整个程序的编写过程中,总是伴随着程序的修改。一直调试到能够正确运行出结果为止。
5测试结论。
经过以上的测试步骤后,软件的运行结果没有任何问题。可以初步断定,这个软件的功能是比较稳定的。已经达到了设计的基本要求。
6其他运**况记录。
删除后的状况:
四、系统使用说明书:
1. 在里打开“学生管理。cpp”,编译与调试,最后运行程序;
2. 根据运行界面上的文字提示,选择不同的任务编码,已达到不同的操作功能;
五、设计体会及今后的改进意见。
通过这次的设计,我学到了很多。首先,学会了如何建立一个动态链接即就是creat()函数;还有此次设计用到了好多链表的操作,比如说:链表的输出、链表的插入、链表的删除;这些都是有一定的编程难度的。
再者,本次设计是一个模块划分比较清晰地程序,每个模块都有自己的函数与应该实现的功能;最后,用到了文件的操作,这是c++课最后所讲到的知识;
本次设计所包含的知识面比较广,所以必须要把所学的知识融会贯通才行;当然,软件也有些许不足之处,比如:没有实现从母表中提取子表;软件的一些细节性问题还是有待进一步完善的。
参考程序:#include
#include
#include
#include
#include
#define null 0
using namespace std;
int n;//定义全局变量n用来确定学生的人数。
struct student //定义一个学生信息结构体
char class_0[20];
string num; /学生的学号用九位字符表示,为使用方便用string类。
char name[20];
string subject[6];
float **erage[6];
float final_score[6];
student *next;
}stud[100];
/各个模块函数。
char filename[20];
void meun(int m菜单函数。
student *creat创建链表函数。
void print(student *head输出链表函数
void search(student *head查找信息函数。
void insert(struct student *head);/插入信息函数。
student *del(student *head,string num) ;
void update(struct student *head) ;修改信息函数。
void dele(student *head删除信息函数。
//文件操作的两个函数。
void s**e保存函数。
void read读入函数。
//菜单函数。
void meun(int m)
static student *head;
switch(m)
case 1: head=creat();print(head);break;
case 2: insert(head);break;
case 3: search(head);break;
case 4: update(head);break;
case 5: dele(head);break;
case 6: s**e();break;
void meun1()
int m;
char c;
docout<< cin>>m; meun(m); cout<<"你要继续操作吗?(y/n):"cin>>c; system("cls"); while(c=='y'); if(c=='n') cout<<"谢谢使用,再见!"< /主函数入口。 int main() system("cls"); time_t t; time(&t); //密码设置。 cout《欢迎进入学生管理系统n"< 当前系统时间是: "ctime(&t) cout<<"请输入你的登录密码,只有四次机会!" cin>>str; if(str=="123456")else return 0; //建立动态链表。 student *creat() int i; student *head,*p1,*p2; n=0;p1=p2=new student; cout<<"输入学生学号和成绩(要结束学号输入000000000):"cout<<"请输入第"< cout<<"学号:"; cin>>p1->num; cout<<"班级:"; cin>>p1->class_0; cout<<"姓名:" cin>>p1->name; cout< p1->subject[0]="语文"; p1->subject[1]="英语"; p1->subject[2]="数学"; p1->subject[3]="物理"; p1->subject[4]="化学"; p1->subject[5]="生物"; for(i=0;i<6;i++) cout<<"科目:"; c 程序设计课程设计任务书。学院 理学院专业信息与计算科学班级 091班。姓名学号 20091203 题目 学生成绩管理信息系统设计与开发。课程设计从 2010 年 5 月 10日起到 2010 年 6 月 15 日。1 课程设计的内容和要求 包括原始数据 技术要求 工作要求等 1 设计内容 制作学... 课程设计说明书。题目 学生信息管理系统。学院 信息工程学院。班级 软件09 1 2011 年 1 月 21 日。x x 大学课程设计 任务书。课程名称 面向对象程序设计课程设计学院 信息工程学院 课程设计 课程设计说明书。题目 学生信息管理系统。学院 信息工程学院。班级 软件09 1 2011 年 ... c语言及数据结构与算法课程设计。题目 学生信息管理系统。专业。姓名。学号。同组其他学生 学号。2013年月日。目录。一 需求分析 3 二 总体设计 3 三 详细设计 5 四 调试与测试 6 五 测试结果 7 六 用户手册 9 七 附录 9 每年九月份都有大量新生来到学校报道,使学校管理学生工作量增大...C 课程设计学生信息管理系统
C课程设计 学生信息管理系统
C语言课程设计学生信息管理系统