数据结构实验学生信息管理程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一,实验题目

实验十二其他综合实验

学生信息管理程序:用计算机来管理一个学校的各个班级成员的各种信息,实现学生信息管理。

基本要求:1,用文件存储学生的各种信息;

2,设计数据结构;

3,实现文件的读写操作、个人信息的录入、显示、查询、修改等功能。

二,问题分析

本程序要求设计一个学生信息管理程序,即用计算机来管理一个学校的各个班级成员的各种信息,实现学生信息管理。

(1)数据的输入形式和输入值得范围:首先输入的是菜单的序号,选择你想要进行的操作,其次根据提示输入相关的班级或学生信息。

(2)结果的输出形式:输出的是班级信息或学生信息。

三,概要设计

本程序包含11个函数:

1)主函数main();

2)查询函数:chaxun();

3)根据班级编号返回班级信息函数cx();

4)删除信息函数:del();

5)删除班级信息函数:del1();

6)按学号删除学生信息函数:del2();

7)输出学校班级信息函数:display();

8)修改某班级信息函数:edit();

9)插入学生信息函数:inclass();

10)读信息函数:read();

11)存储学生信息函数:save();

四,详细设计

1,学生信息结构类型定义:

typedef struct {

char name[20]; char id[11]; i nt age; char address[20]; char tel[15];

}students;

2,班级信息结构类型定义:

typedef struct cla {

char classid[11]; int count; students st[MAX]; struct cla *next;

}CLASS;

3,存储学生信息函数伪代码:

void save(CLASS *a){

if((fp=fopen("","w"))==NULL){printf("cannot open file\n");}

while(a!=NULL){

if(fwrite(a,sizeof(CLASS),1,fp)!=1) printf("file write error\n");a=a->next;}

fclose(fp);}

4,输出学校班级信息函数伪代码:

void display(CLASS *a) {

CLASS *b; b=a; int i=1;

if(b==NULL) cout<<"无信息"<

while(b!=NULL{

cout<classid<<" 班级人数"<count<

b=b->next; i++;} }

五,源代码

#include ""

#include ""

#include ""

#include ""

#define MAX 50

typedef struct { d>>b->st[i].name>>b->st[i].age>>b->st[i].address>>b->st[i].tel;} b->next=a;

save(b);

return b;}

CLASS* del1(CLASS *a) { 班级号"<classid<<" 班级人数"<count<

b=b->next;

i++;}

}

void del2(CLASS *a) { d)==0){

for(i;icount;i++)

a->st[i]=a->st[i+1];

a->count--;

cout<<"删除学生成功"<

}

}

}

CLASS* cx(CLASS *a) { ";

cout<st[i].id<<" ";

cout<st[i].name<<" ";

cout<st[i].age<<" ";

cout<st[i].address<<" ";

cout<st[i].tel<

flag=0;}

a=a->next;}

if(flag)

cout<<"未找到"<

break;}

}

CLASS* del(CLASS *a) { d>>b->st[i].name>>b->st[i].age>>b->st[i].address>>b->st[i].tel;} break;

case 2:

cout<<"学号姓名年龄宿舍电话"<

cin>>b->st[b->count].id>>b->st[b->count].name>>b->st[b->count].age>>b->st[b->count].ad dress>>b->st[b->count].tel;

b->count++;

break;}

}

void main(){ //主函数

int ch;

CLASS *m=NULL,*b;

m=read();

do{

cout<<"1,插入班级信息和改班级学生信息"<

cout<<"2,查询学校班级或某班学生信息"<

cout<<"3,删除班级信息或某班学生信息"<

cout<<"4,修改班级信息"<

cout<<"5,退出"<

cin>>ch;

switch(ch){

case 1:

m=inclass(m);

break;

case 2:

chaxun(m);

break;

case 3:

m=del(m);

break;

case 4:

edit(m);

break;}

save(m);

}while(ch!=5);

}

六,调试分析

改程序所用到的函数较多,在调试的过程中每个函数都会出现相应的错误,但经过细心的调试分析,最后终于实现了该程序的功能。

七,使用手册

该程序是一个简单的学生信息管理系统,操作时根据界面菜单提示,进行插入班级信息和学生信息操作,查询学校的班级或某班学生信息,删除班级信息或某班学生信息,修改班级信息和退出着五个操作。

八,测试结果

相关文档
最新文档