学生信息管理系统设计文档Word下载.docx

上传人:b****5 文档编号:21717152 上传时间:2023-01-31 格式:DOCX 页数:55 大小:315.83KB
下载 相关 举报
学生信息管理系统设计文档Word下载.docx_第1页
第1页 / 共55页
学生信息管理系统设计文档Word下载.docx_第2页
第2页 / 共55页
学生信息管理系统设计文档Word下载.docx_第3页
第3页 / 共55页
学生信息管理系统设计文档Word下载.docx_第4页
第4页 / 共55页
学生信息管理系统设计文档Word下载.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

学生信息管理系统设计文档Word下载.docx

《学生信息管理系统设计文档Word下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统设计文档Word下载.docx(55页珍藏版)》请在冰豆网上搜索。

学生信息管理系统设计文档Word下载.docx

(7).清理屏幕

把当前屏幕上显示对内容清空。

可以采用调用system(“cls”)实现。

(8).退出

退出系统,只有当前用户选择此项功能时才能退出系统,其它情况循环。

具体要求

●熟悉VC++6.0编译环境,熟练使用变异调试工具。

●学习C++输入输出流对象的使用。

●通过系统分析和实现,掌握简单软件开发对一般过程。

●以学生独立思考、解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,撰写课程设计报告。

(三).总体设计

<

1>

.系统设计总模块(所包含的程序)

#include<

iostream>

stdlib.h>

iomanip>

usingnamespacestd;

1.包含一个学生类类

classStudent

{

};

2.以下是数据成员:

intnum;

charname[20];

intage;

charsex[10];

intbedchamber_num;

//宿舍号

charhome_addr[20];

//家庭住址

inttelephone;

//联系电话

intscore;

//高考成绩

3.以下是公有函数:

voidwelcome()//选择界面;

voidsetin();

//学生信息的录入

voidrank();

//学生信息排序

voidshow();

//学生信息的显示

voidseek();

//查找

voidstatistics();

//统计学生信息

voiddeletes();

//删除

voidrecompose();

//修改

voidquit();

//退出

4.以下是主函数

intmain()

Studentstu[100];

welcome();

intselect;

switch(select)

{

case1:

case2:

case3:

case4:

case5:

case6:

case7:

case0:

}

return0;

}

2>

.系统设计总模块(程序之间的关系)图解

1.

2.

3.

4.

(四)详细设计

1.、接口函数

【1】主函数

If

(1)else(退出)If

(1)

If

(1)else(退出)If

(2)

If

(1)else(退出)If(3)

If

(1)else(退出)If(4)

If

(1)else(退出)If(5)

If

(1)else(退出)If(6)

If

(1)else(退出)If(7)

If

(1)else(退出)If(0)

【2】信息显示

If

(1)If

(1)

If

(2)

If

(1)If

(2)

If

(1)if(3)

【3】信息的查找

If

(1)If

(1)

If

(1)If

(2)

If

(1)if(3)

If

(1)If(4)

If

(2)

(五)调试

1.主函数的实现

intmain(){return0;

首先引用welcome()函数进入信息选择主页面:

然后有八项选择,通过switch(){case:

}语句来供用户选择,

如果用户选择1;

会进入如下界面:

用户根据提示进行输入,在程序中

A.对性别输入的合法性进行判断;

if((strcmp(stu[i].sex,"

f"

)!

=0)&

&

strcmp(stu[i].sex,"

m"

=0)

cout<

"

你输入的性别不合法!

endl;

break;

B.对录入的姓名的重复性进行判断

while((i>

0)&

(j!

=-1))

if(stu[i].name==stu[k].name)

{

您输入的姓名和第"

k<

次已经录入的姓名重复!

}

else

k--;

C.对录入的学号的重复性进行判断

if(stu[i].num==stu[j].num)

cout<

您输入的学号和已经录入的学号重复,请您再次录入:

break;

j--;

如果以上几项都合法,会把输入的信息保存在student1.txt文件里,然后会出现以下选项

如果用户选择1

会有以下界面重复录入;

如果用户用户选择0会退到以下界面

用户继续选择1进入

选择2会退出!

操作结束!

如果用户选择2

会进入如下界面

该函数中首先把student1.txt中的的信息调出放在数组中,对数组中的信息进行排序.然后把排好序的信息分别存在student2.txt,student3.txt

在排序函数中用到了

For(;

;

{if()

else

if(判断是否退出)

排序结束后会出现如下选择

如果用户选择1会继续排序,如果选择2会退到主程序!

如果用户选择3

如果用户选择2,

在显示排序体中

Switch()

{case1,

case2,

case3

if()判断是否退出排序

if()判断是否退出函数

如果用户选择4

用户可以选择查找类型

1学号排序,如果用户输入一个不存在的信息会出现

如果用户输入存在的学号

其他选择程序与其类似;

在程序中for(;

If()

Ifelse()

if()判断是否退出查找循环体

如果用户选择5

该函数仅是统计男女以及总人数!

while(!

feof(p))

{

fscanf(p,"

%d%s%d%s"

&

std1[i].num,std1[i].name,&

std1[i].age,std1[i].sex);

%d%s%d%d"

std1[i].bedchamber_num,std1[i].home_addr,&

std1[i].telephone,&

std1[i].score);

if(strcmp("

std1[i].sex)==0)

boy+=1;

bg+=1;

girl+=1;

i++;

}

fclose(p);

从student1.txt文件中调出信息,进行比对统计

如果用户选择6

会出现

如果输入不存在学号

如果存在

接着选择1

程序中

if((p=fopen("

students1.txt"

"

r"

))==NULL)//以读方式打开文本文件

{

cout<

Cannotopentxtfile."

exit(0);

i=0;

while(!

%d%s%d%d"

d1[i].score);

count3=i+1;

先把student1.txt中的信息存在数组中,然后查找需要删除的信息进行删除,最后清空student1.txt再把删除后的信息存进student1.txt

删除后的信息查看

while(!

feof(p2))

fscanf(p,"

stu3[i].num,stu3[i].name,&

stu3[i].age,stu3[i].sex);

stu3[i].bedchamber_num,stu3[i].home_addr,&

stu3[i].telephone,&

stu3[i].score);

stu3[i].num<

setw(12)<

stu3[i].name<

setw(6)<

stu3[i].age<

setw(8)<

stu3[i].sex<

setw(12);

stu3[i].bedchamber_num<

stu3[i].home_addr<

setw(7)<

stu3[i].telephone<

setw(6);

stu3[i].score<

i++;

fclose(p2);

如果用户选择7

接下来

然后

修改结束

和删除程序一样先把student.txt中的信息调出然后查找修改

修改后把把student.txt清空,再把修改后的信息保存到student.txt中最后最后显示在屏幕上!

如果用户选择0

用户选择0会退出

1会继续进入主页面!

程序中在

if(select==0)

system("

cls"

);

stu[100].quit();

cin>

>

s;

if(s==1)

continue;

进行退出判断

(六)总结

课程设计小结。

三周的课程设计已经结束,其实这三周的学习实践给我最多的印象不是苦与累,而是程序设计时所遇到的困难以及解决的过程。

平时总以为书本上的知识学好就万事ok了,其实经过三周的实践我深深体会到自己知识的不足,好多的知识其实不是知道就行了,关键是要会用,懂得怎样用。

其次,我感觉平时仅限于书本上的东西使自己的知识面太窄,而且没有基本量的练习,平时应该多找点东西练练,这样才会发现自己在编程的那一方面具有缺陷,及时的总结改进!

另外,我深刻体会到程序设计(特别是比较大的工程)不是一个人能够完成的,最需要的是团队合作,团队中的每一个人都如一条钢索上的一个铁环,每个人都是团队的核心,任何一个环节出现了问题都会导致整个工程的失败,所以说每个人都必须要有团队合作的意识,因为只有团队的成功才是成功!

(七)源码

private:

public:

voidsetin();

voidrank();

//学生信息排序

voidshow();

voidseek();

voidstatistics();

voiddeletes();

voidrecompose();

voidquit();

};

voidwelcome()

cout<

中原工学院信息商务学院软件101王柏涛(201001014122)>

*******************************************************"

******************学生信息管理系统*********************"

*<

请选择服务*>

1-信息录入*>

2-信息排序*>

3-信息显示*>

4-信息查找*>

5-信息统计*>

6-信息删除*>

7-信息修改*>

0-退出*>

voidStudent:

:

setin()//1-信息录入

for(inti=0;

i<

100;

i++)

请输入学生的信息:

学号,姓名,年龄,性别,宿舍号,家庭住址,联系电话,高考成绩"

cin>

stu[i].num>

stu[i].name>

stu[i].age>

stu[i].sex>

stu[i].bedchamber_num;

stu[i].home_addr>

stu[i].telephone>

stu[i].score;

intj=i-1;

while((i>

=-1))//对录入的学号的重复性进行判断

if(stu[i].num==stu[j].num)

i=i-1;

continue;

if((strcmp(stu[i].sex,"

intk=i-1;

=-1))//对录入的姓名的重复性进行判断

FILE*fp1;

if((fp1=fopen("

a+"

))==NULL)//以写方式打开文本文件

{

Cannotopentextfile."

exit(0);

fprintf(fp1,"

%d%s%d%s"

stu[i].num,stu[i].name,stu[i].age,stu[i].sex);

%d%s%d%d"

stu[i].bedchamber_num,stu[i].home_addr,stu[i].telephone,stu[i].score);

fclose(fp1);

请选择你是否要继续录入:

*******************************************"

请选择是否继续"

1-继续"

0-退出"

select;

if(select==1)

else

}

voidrank1()//信息排序中的一个选择函数

请选择排序方式"

1-学号"

2-高考成绩"

请选择你要的排序方式:

rank()//2-信息排序

Studentstu1[100];

Studentstu2[100];

Studentstu3[100];

FILE*fp1;

FILE*fp2;

FILE*fp3;

FILE*fp4;

FILE*fp5;

FILE*fp6;

intselect;

for(;

;

rank1();

if(select==1)//学号排序

intcount1=0;

//记数

inti=0;

if((fp1=fopen("

{

exit(0);

while(!

feof(fp1))

fscanf(fp1,"

stu1[i].num,stu1[i].name,&

stu1[i].age,stu1[i].sex);

stu1[i].bedchamber_num,stu1[i].home_addr,&

stu1[i].telephone,&

stu1[i].score);

count1=i+1;

i++;

};

fclose(fp1);

inta;

charb[10];

intc;

chard[10];

inte;

charf[10];

intl;

intm;

for(i=0;

count1;

i++)//排序循环体

a=stu1[i].num;

strcpy(b,stu1[i].name);

c=stu1[i].age;

strcpy(d,stu1[i].sex);

e=stu1[i].bedc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1