学生基本信息管理系统.doc

上传人:wj 文档编号:5385144 上传时间:2023-05-08 格式:DOC 页数:29 大小:301KB
下载 相关 举报
学生基本信息管理系统.doc_第1页
第1页 / 共29页
学生基本信息管理系统.doc_第2页
第2页 / 共29页
学生基本信息管理系统.doc_第3页
第3页 / 共29页
学生基本信息管理系统.doc_第4页
第4页 / 共29页
学生基本信息管理系统.doc_第5页
第5页 / 共29页
学生基本信息管理系统.doc_第6页
第6页 / 共29页
学生基本信息管理系统.doc_第7页
第7页 / 共29页
学生基本信息管理系统.doc_第8页
第8页 / 共29页
学生基本信息管理系统.doc_第9页
第9页 / 共29页
学生基本信息管理系统.doc_第10页
第10页 / 共29页
学生基本信息管理系统.doc_第11页
第11页 / 共29页
学生基本信息管理系统.doc_第12页
第12页 / 共29页
学生基本信息管理系统.doc_第13页
第13页 / 共29页
学生基本信息管理系统.doc_第14页
第14页 / 共29页
学生基本信息管理系统.doc_第15页
第15页 / 共29页
学生基本信息管理系统.doc_第16页
第16页 / 共29页
学生基本信息管理系统.doc_第17页
第17页 / 共29页
学生基本信息管理系统.doc_第18页
第18页 / 共29页
学生基本信息管理系统.doc_第19页
第19页 / 共29页
学生基本信息管理系统.doc_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生基本信息管理系统.doc

《学生基本信息管理系统.doc》由会员分享,可在线阅读,更多相关《学生基本信息管理系统.doc(29页珍藏版)》请在冰点文库上搜索。

学生基本信息管理系统.doc

课程设计报告

课程名称c语言课程设计

设计题目学生基本信息管理系统

一、引言(简要说明设计题目的目的、意义、内容、主要任务等)

1实验目的

在全面掌握《C语言程序设计》课程的知识点的前提下,培养了我们分析实际问题的能力,并能够自己编写程序实现对实际问题的处理,掌握程序项目开发的一般步骤在写实验的过程中,我们能发现我们自身薄弱的地方,给我们的复习指出明确的方向。

2实验意义

此实验的意义主要在于加强我们对软件开发的初步了解:

1、能将实际中的问题进行分解,并设计出可以解决实际问题的方案。

课程设计的相关内容

2、可以熟练掌握并应用《C语言程序设计》课程的所有知识点,开发一个学生信息管理系统,采用计算机对学生信息进行管理,进一步提高了办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生信息管理工作流程的系统化,规范化和自动化.现在我国的大中专院校的学生信息管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素.在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替.一个高效的学生信息管理系统可以存储历届的学生信息档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的信息。

3主要内容和任务

学生信息包括:

学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。

试设计一学生信息管理系统,使之能提供以下功能:

1)安全模块

2)信息录入

3)    信息浏览

4)学号查询

5)姓名查询

6)信息排序

7)信息删除

8)信息修改

9)保存文件

10)退出系统

11)系统菜单形式显示

二、正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。

正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。

学生管理系统的总设计是:

总体设计:

1.1.该系统可以按功能进行模块划分,其模块图如下:

 

学生基本信息管理系统

信息录入

信息浏览

信息查询

信息

排序

信息删除

信息修改

信息添加

退出系统

输入学生的相关信息

显示学生的相关信息

按姓名查询

按学号查询

更新保存的学生信息

对新加的学生进行信息录入

菜单选择

安全模块

系统模块图

 

其中:

信息输入模块完成学生信息的输入功能,输入信息包括学生号、姓名、性别、出生年月、成绩、专业.住址、电话等;

信息浏览模块完成已录入学生信息的显示;

信息查询模块完成学生信息的查询,查询时对应有按姓名查询和按学号查询两种方式;

信息修改模块完成学生信息的修改功能;

信息删除模块完成学生信息的删除功能;

安全模块是进入系统需要用户名字和密码;

菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;

2数据结构

本系统中主要的数据结构就是学生的信息,包含学生号、姓名、性别、出生年月、成绩、专业、住址、电话等,在处理过程中各项可以作为一个学生的不同属性来进行处理

3程序流程

系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。

系统的流程图如下:

开始

用户登录

菜单选择

信息输入

浏览

信息输入

信息浏览

查询

按学号

按姓名

删除

修改

信息删除

信息修改

添加

信息添加

排序

保存文件

结束

程序流程图

详细设计

编写目的:

根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。

 

详细设计:

对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:

1安全模块

printf("请输入用户名,\n");

scanf("%s",x);

if(strcmp(x,y)==0)

{

printf("请输入密码,\n");

scanf("%d",&ma);

while(ma==123456)

通过比较语句来判定输入人名和密码的正确如果正确进入菜单模块;

2菜单模块

通过while语句

给出信息提示;

清屏;

绘制菜单(包含输入,浏览,查询,修改,删除,排序,保存,退出);

提示菜单选择并读入到变量;

根据读入变量的值调用不同的模块函数;

3信息录入模块

打开文件

While()

{清屏;

按照提示输入各种信息;

While

显示各种信息;

通过选择1.确认并继续2.重新填写3.放弃并返回4.确认并返回

选择四种功能;

}

}

4信息浏览模块

打开文件

While()

{清屏;

用for语句依次按照顺序输出学生信息

通过选择可以翻页1.上一页2.下一页0.退出

}

5信息查询

While()

{通过菜单式的选择是学号查询还是姓名

printf("******学生信息管理系统******");

printf("\n----------检索----------");

printf("\n您想要:

");

printf("\n1.按学号检索");

printf("\n2.按姓名检索");

printf("\n3.返回主菜单");

printf("\n****************************\n");

}

如果选择学号进入学号模块

通过输入学号

If(学号存在继续)

{输出学生信息

}

Else输出无此学生

如果选择姓名进入姓名模块

If(根据比较姓名判断学生是否存在)

{输出学生信息

}

Else输出无此学生

6删除模块

while(继续删除)

{

提示并读入待删除的学生的学生号;

显示要删除的信息

}

删除成功

7信息修改模块

输入要修改学生信息的学号:

If(判断是否有此学生)

{菜单形式显示要修改的项目

printf("\n1.姓名2.年龄3.性别4.出生年月5.地址6.电话7.E-mail\n");

printf("\n8.数学9.英语\n");

}

Swich()

{选择要修改的项目进行修改

}

8打开文件模块

voidfileopen()

{

FILE*fp;

intn;

if((fp=fopen("data","r+"))==NULL)

fp=fopen("data","w+");

for(n=0;n<100;n++)

fread(&stu[n],sizeof(structstudent),1,fp);

fread(&stunum,4,1,fp);

fclose(fp);

}

9保存文件模块

voidfilesave()

{

intn;

FILE*fp;

fp=fopen("data","r+");

for(n=0;n<100;n++)

fwrite(&stu[n],sizeof(structstudent),1,fp);

fwrite(&stunum,4,1,fp);

fclose(fp);

printf("保存成功!

pressEntertocontinue..");

getch();

}

10退出模块

case'8':

ma=0;break;

用的是跳出while语句

回到安全模块

11排序模块

通过冒泡排序法

for(m=0;m

for(x=m+1;x

if(stu[m].sum

{

stu[99]=stu[m];

stu[m]=stu[x];

stu[x]=stu[99];

stu[99].id=stu[x].id;

stu[x].id=stu[m].id;

stu[m].id=stu[99].id;

}

printf("排序后的顺序为:

\n");

然后显示排序好后的学生信息;

学生基本信息结构体是

structstudent

{

intid;

charname[30];

intage;

charsex[6];

charbirthday[12];

charadd[80];

chartel[15];

charemail[25];

intmath;

intenglish;

intsum;

}stu[100]

系统的性能测试

1安全模块

通过输入正确的用户名才能进入此系统。

2菜单显示

进入系统后便来到菜单界面通过选择进入不同的模块

3录入函数;

通过选择菜单1进入录入模块下面是录入信息的界面

上面截图是通过选择可以继续可以重写放弃和保存

4浏览模块

如果选择2可以进入浏览模块包括学生的课中基本信息

5学号查找模块

6姓名查找

7修改模块

修改模块可以通过选择分别修改姓名年龄性别等信息依次修改

修改后的信息

8保存模块

9排序模块

通过总分的大小从大到小排序

排序前的截图

排序后的截图

10删除模块

11退出模块

回到安全模块

程序清单

#include

#include

#include

#include

intstunum=0;

structstudent//结构体

{

intid;

charname[30];

intage;

charsex[6];

charbirthday[12];

charadd[80];

chartel[15];

charemail[25];

intmath;

intenglish;

intsum;

}stu[100];

voidcheck()//查询函数

{

voidjsid();

voidjsname();

inta;

charch;

while(a)

{

system("cls");

printf("******学生信息管理系统******");

printf("\n----------检索----------");

printf("\n您想要:

");

printf("\n1.按学号检索");

printf("\n2.按姓名检索");

printf("\n3.返回主菜单");

printf("\n****************************\n");

ch=getchar();

switch(ch)

{

case'1':

jsid();break;

case'2':

jsname();break;

case'3':

a=0;break;

}

}

}

voidfileopen()//打开文件

{

FILE*fp;

intn;

if((fp=fopen("data","r+"))==NULL)

fp=fopen("data","w+");

for(n=0;n<100;n++)

fread(&stu[n],sizeof(structstudent),1,fp);

fread(&stunum,4,1,fp);

fclose(fp);

}

voidfilesave()//保存文件

{

intn;

FILE*fp;

fp=fopen("data","r+");

for(n=0;n<100;n++)

fwrite(&stu[n],sizeof(structstudent),1,fp);

fwrite(&stunum,4,1,fp);

fclose(fp);

printf("保存成功!

pressEntertocontinue..");

getch();

}

voideditname(intn)//按照名字修改

{

printf("\n新姓名:

");

scanf("%s",stu[n].name);

}

voideditage(intn)//修改年龄函数

{

printf("\n新年龄:

");

scanf("%d",&stu[n].age);

}

voideditsex(intn)//修改性别函数

{

printf("\n新性别:

");

scanf("%s",stu[n].sex);

}

voideditbir(intn)//修改生日

{

printf("\n新出生年月");

scanf("%s",stu[n].birthday);

}

voideditadd(intn)

{

printf("\n新地址:

");//修改地址

scanf("%s",stu[n].add);

}

voidedittel(intn)//修改电话

{

printf("\n新电话:

");

scanf("%s",stu[n].tel);

}

voideditemail(intn)

{

printf("\n新E-mail:

");//修改邮箱

scanf("%s",stu[n].email);

}

voideditmath(intn)//修改数学成绩

{

printf("\n新数学:

");

scanf("%d",&stu[n].math);

stu[n].sum=stu[n].math+stu[n].english;

}

voideditenglish(intn)//修改经与成绩

{

printf("\n新英语:

");

scanf("%d",&stu[n].english);

stu[n].sum=stu[n].math+stu[n].english;

}

voidlast(intn)

{

if(n==stunum)

system("cls");

printf("******学生信息管理系统******");

printf("\n----------检索----------");

printf("\n已检索到末尾。

");

printf("\nPressanykeytocontinue..");

printf("\n****************************\n");

}

voidedit()//修改函数

{

charch;

inta=1,b;

intn;

while(a)

{ system("cls");

printf("\n请输入你想修改的人的学号:

\n");

scanf("%d",&n);

if(n<=stunum)

{

n=n--;

printf("学号姓名年龄性别出生年月\n");

printf("%4d",stu[n].id);

printf("%12s",stu[n].name);

printf("%4d",stu[n].age);

printf("%4s",stu[n].sex);

printf("%8s\n",stu[n].birthday);

printf("\n\n\n学号电话E-mail地址\n");

printf("%4d",stu[n].id);

printf("%15s",stu[n].tel);

printf("%15s",stu[n].email);

printf("%s\n",stu[n].add);

printf("\n\n\n数学英语总分\n");

printf("%4d",stu[n].math);

printf("%15d",stu[n].english);

printf("%15d\n",stu[n].sum);

printf("\n请输入你想修改的内容:

");

printf("\n1.姓名2.年龄3.性别4.出生年月5.地址6.电话7.E-mail\n");

printf("\n8.数学9.英语\n");

printf("\n****************************\n");

getchar();

ch=getchar();

switch(ch)

{

case'1':

editname(n);break;

case'2':

editage(n);break;

case'3':

editsex(n);break;

case'4':

editbir(n);break;

case'5':

editadd(n);break;

case'6':

edittel(n);break;

case'7':

editemail(n);break;

case'8':

editmath(n);break;

case'9':

editenglish(n);break;

}

b=1;

}

while(b)

{

printf("\n确认吗?

(y/n)");

ch=getchar();

switch(ch)

{

case'Y':

b=0;a=0;break;

case'y':

b=0;a=0;break;

case'N':

b=0;break;

case'n':

b=0;break;

}

}

}

}

voiddelect()//删除函数

{intn,a;

system("cls");

printf("\n请输入想要删除人的学号:

\n");

scanf("%d",&n);

n=n--;

for(a=n;a<=stunum;a++)

{

strcpy(stu[a].name,stu[a+1].name);

stu[a].age=stu[a+1].age;

strcpy(stu[a].sex,stu[a+1].sex);

strcpy(stu[a].birthday,stu[a+1].birthday);

strcpy(stu[a].add,stu[a+1].add);

strcpy(stu[a].tel,stu[a+1].tel);

strcpy(stu[a].email,stu[a+1].email);

stu[a].math=stu[a+1].math;

stu[a].english=stu[a+1].english;

stu[a].sum=stu[a+1].sum;

stunum--;

printf("删除成功!

pressEntertocontinue..");

}

}

voidjsid()//按照学号查询

{

intn,i=0;

system("cls");

printf("******学生信息管理系统******");

printf("\n----------检索----------");

printf("\n请输入想要检索的学号:

");

scanf("%d",&n);

if(n<=stunum)

{

n=n--;

printf("学号姓名年龄性别出生年月\n");

printf("%4d",stu[n].id);

printf("%12s",stu[n].name);

printf("%4d",stu[n].age);

printf("%4s",stu[n].sex);

printf("%8s\n",stu[n].birthday);

printf("\n\n\n学号电话E-mail地址\n");

printf("%4d",stu[n].id);

printf(

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

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2