学生信息管理系统C课程设计

发布 2022-10-04 13:24:28 阅读 8654

一、设计分析。

该设计是设计一个实用的小型学生成绩管理系统。它有录入,查询,修改,删除,保存的基本功能,并且能够对指定文件操作,也可将多个文件组成一个文件。

二、系统设计说明。

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 课程设计学生信息管理系统

c 程序设计课程设计任务书。学院 理学院专业信息与计算科学班级 091班。姓名学号 20091203 题目 学生成绩管理信息系统设计与开发。课程设计从 2010 年 5 月 10日起到 2010 年 6 月 15 日。1 课程设计的内容和要求 包括原始数据 技术要求 工作要求等 1 设计内容 制作学...

C课程设计 学生信息管理系统

课程设计说明书。题目 学生信息管理系统。学院 信息工程学院。班级 软件09 1 2011 年 1 月 21 日。x x 大学课程设计 任务书。课程名称 面向对象程序设计课程设计学院 信息工程学院 课程设计 课程设计说明书。题目 学生信息管理系统。学院 信息工程学院。班级 软件09 1 2011 年 ...

C语言课程设计学生信息管理系统

c语言及数据结构与算法课程设计。题目 学生信息管理系统。专业。姓名。学号。同组其他学生 学号。2013年月日。目录。一 需求分析 3 二 总体设计 3 三 详细设计 5 四 调试与测试 6 五 测试结果 7 六 用户手册 9 七 附录 9 每年九月份都有大量新生来到学校报道,使学校管理学生工作量增大...