c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx

上传人:b****6 文档编号:5995692 上传时间:2023-01-02 格式:DOCX 页数:34 大小:482.96KB
下载 相关 举报
c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx_第1页
第1页 / 共34页
c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx_第2页
第2页 / 共34页
c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx_第3页
第3页 / 共34页
c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx_第4页
第4页 / 共34页
c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx

《c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx》由会员分享,可在线阅读,更多相关《c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx(34页珍藏版)》请在冰豆网上搜索。

c程序课程设计说明书教师信息管理系统大学毕业设计论文.docx

c程序课程设计说明书教师信息管理系统大学毕业设计论文

 

C程序设计课程设计

任务书及说明书

 

设计题目教师信息管理系统

 

学院计算机与通信

专业、年级物联网工程

学生王明明

学号_____14530008_

指导教师

时间2015年春季学期

目录

1摘要……………………………………………………………3

2前言……………………………………………………………4

3正文……………………………………………………………5

3.1系统分析(需求分析)

3.2系统总体设计

3.3详细设计

3.4系统测试及使用(操作)说明

4总结…………………………………………………………18

5参考文献……………………………………………………18

致谢

附录:

程序源代码

 

1摘要

本次课程设计采用C语言,开发了一个基本的教师信息管理系统,该系统具备了按教师姓名查找并输出教师信息,按教师号查找并输出教师信息,按教师姓名查找并删除数据,输出全部教师信息数据,对教师的管理也可以更加方便快捷。

 

关键词:

C语言;课程设计;教师信息管理系统

 

2前言

随着教育的广泛性的提高,教师的数量逐渐增多,但是在教师管理是出现教师姓名、年龄等出现错误的诸多问题。

本文针对上述问题,采用软件工程的开发原理,根据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个教师信息管理系统。

采用c语言作为开发工具,设计了这个教师信息管理系统,解决了教师信息管理中存在的数据安全性、数据一致性等问题。

 

3、正文

3.1系统分析

3.3.1.设计要求

该设计要求教师以学校教师信息管理业务为背景,设计、开发一套“教师信息管理系统”软件。

通过该题目的设计过程,可以培养教师结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。

得到软件工程的综合训练,提高解决实际问题的能力。

3.3.2设计任务

1、以教师信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;

2、完成软件结构设计和算法设计;

3、完成系统的软件开发和测试工作;

教师信息包括:

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

设计“教师信息管理系统”,使之能提供以下功能:

1.系统以菜单方式工作;

2.教师信息录入功能;

3.教师信息浏览功能;

4.查询、排序功能:

按编号查询、按姓名查询;

5.教师信息的删除与修改;

6.存储教师信息。

 

3.2系统总体设计

一.功能模块图

 

 

退出并存盘

 

二.总体数据结构

本系统采用结构体为主要数据结构,将教师信息,包括:

教师号,姓名,年龄,性别,出生年月,地址,电话,E-mail以结构体的形式存储在计算机中。

structTEACHER{

intID;

charName[10];

intAge;

charSex[2];

intBirthday;

charAdress[15];

charTelNum[12];

charEmail[10];

};

3.3详细设计

(1)功能模块及函数说明

函数原型:

voidDispMainMenu();

函数功能:

显示菜单(欢迎界面)

函数原型:

charchoice();

函数功能:

选择操作

函数原型:

voidinput(teacherstu[],intMax,intcn);

函数功能:

录入教师信息

函数原型:

intfindteacherID(teacherstu[],intfindID,intMax);

函数功能:

按编号查找教师信息

函数原型:

intfindteacherNAME(teacherstu[],charfindNAME[10],intMax)

函数功能:

按姓名查找教师信息

函数原型:

voidDisplayInfor(teacherstu[],intMax);

函数功能:

显示教师信息

函数原型:

voidDispQueryMenu();

函数功能:

显示查询菜单

函数原型:

intInforInput(teacherstu[],intcn);

函数功能:

输入要录入的教师信息条数

函数原型:

voidQueryInfor(teacherstu[],intMax);

函数功能:

信息查询

函数原型:

voidEditInfor(teacherstu[],intMax);

函数功能:

修改教师信息(信息编辑)

函数原型:

DEL(teacherstu[],intMax,inti)

函数功能:

删除数据项

函数原型:

DelInfor(teacherstu[],intMax)

函数功能:

删除信息

函数原型:

SortInforMenu(teacherstu[],intMax)

函数功能:

显示排序菜单

函数原型:

SortInfor(teacherstu[],intMax,chari)

函数功能:

信息排序

函数原型:

Save(teacherstu[],intMax)

函数功能:

存储信息

 

(2)模块说明

模块一:

显示菜单(欢迎界面),选择所要进行的操作

voidDispMainMenu()

{

printf("**************教师信息管理系统1.0**************\n");

printf("\n\t程序开发人:

王明明学号:

1402030123\n\n");

printf("\t1--教师信息录入\t2--教师信息修改\n");

printf("\t3--教师信息查询\t4--教师信息删除\n");

printf("\t5--教师信息排序\t0--退出\n");

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

printf("请选择(0--5):

");

}

模块二:

显示教师信息

voidDisplayInfor(teacherstu[],intMax)

{

inti;

printf("\n教师号姓名年龄性别出生年月\t地址\t电话\tE-mail\n");

for(i=0;i

printf("%8d%10s%2d%2s%8d%15s%12s%10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);

printf("\n");

}

模块三:

录入教师信息

voidinput(teacherstu[],intMax,intcn)

{

inti;

for(i=cn;i

{

printf("\n请输入第%d个教师的教师号(8个字符以内):

",i+1);

scanf("%d",&stu[i].ID);

printf("\n\t\t姓名(10个字符以内):

");

scanf("%s",stu[i].Name);

printf("\n\t\t\t年龄:

");

scanf("%d",&stu[i].Age);

printf("\n\t\t\t性别(m或w):

");

scanf("%s",&stu[i].Sex);

printf("\n\t\t出生年月(8位):

");

scanf("%d",&stu[i].Birthday);

printf("\n\t\t\t地址:

");

scanf("%s",&stu[i].Adress);

printf("\n\t\t\t电话:

");

scanf("%s",&stu[i].TelNum);

printf("\n\t\t\tE-mail:

");

scanf("%s",&stu[i].Email);

}

printf("\n您的输入信息是:

\n");

DisplayInfor(stu,Max+cn);

}

模块四:

查找教师信息

(一)按编号查找

intfindteacherID(teacherstu[],intfindID,intMax)

{

inti;

for(i=0;i

{

if(stu[i].ID==findID)

break;

}

if(i

returni;

else

return-1;

}

(二)按姓名查找

intfindteacherNAME(teacherstu[],charfindNAME[10],intMax)

{

inti;

for(i=0;i

{

if(!

strcmp(stu[i].Name,findNAME))

break;

}

if(i

returni;

else

return-1;

}

(三)查找

voidQueryInfor(teacherstu[],intMax)

{

charselect;

inti;

intfindID;

charfindNAME[10];

DispQueryMenu();

select=choice();

switch(select)

{

case'1':

printf("\n按教师号查询\n请输入教师的学号:

");

scanf("%d",&findID);

if((i=findteacherID(stu,findID,Max))!

=-1)

{

printf("查找结果如下:

\n");

printf("教师号姓名年龄性别出生年月\t地址\t电话\tE-mail");

printf("%8d%10s%2d%2s%8d%15s%12s%10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);

}

else

printf("您输入的教师号不存在!

\n");

break;

case'2':

printf("\n按姓名查询\n请输入教师的姓名:

");

scanf("%s",&findNAME);

if((i=findteacherNAME(stu,findNAME,Max))!

=-1)

{

printf("查找结果如下:

\n");

printf("教师号姓名年龄性别出生年月\t地址\t电话\tE-mail");

printf("%8d%10s%2d%2s%8d%15s%12s%10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);

}

else

printf("您输入的姓名不存在!

\n");

break;

default:

printf("选择错误!

\n");

}

}

模块五:

修改教师信息

voidEditInfor(teacherstu[],intMax)

{

inti;

intfindID;

printf("\n请输入教师的学号:

");

scanf("%d",&findID);

if((i=findteacherID(stu,findID,Max))!

=-1)

{

printf("姓名:

%s\n",stu[i].Name);

printf("原信息:

%8d%2d%2s%8d%15s%12s%10s",stu[i].ID,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);

printf("\n请输入新的教师号(8个字符以内):

",i+1);

scanf("%d",&stu[i].ID);

printf("\n\t\t姓名(10个字符以内):

");

scanf("%s",stu[i].Name);

printf("\n\t\t\t年龄:

");

scanf("%d",&stu[i].Age);

printf("\n\t\t\t性别(m或w):

");

scanf("%s",&stu[i].Sex);

printf("\n\t\t出生年月(8位):

");

scanf("%d",&stu[i].Birthday);

printf("\n\t\t\t地址:

");

scanf("%s",&stu[i].Adress);

printf("\n\t\t\t电话:

");

scanf("%s",&stu[i].TelNum);

printf("\n\t\t\tE-mail:

");

scanf("%s",&stu[i].Email);

}

else

printf("您输入的教师号不存在!

\n");

}

模块五:

删除教师信息

DelInfor(teacherstu[],intMax)

{

intfindID,i;

charfindNAME[10],select;

printf("*****************请选择删除方式*****************\n");

printf("\t1--按学号删除;\t2--按姓名删除\n");

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

printf("请选择(1--2):

");

select=choice();

switch(select)

{

case'1':

printf("\n按教师号删除\n请输入教师的教师号:

");

scanf("%d",&findID);

if((i=findteacherID(stu,findID,Max))!

=-1)

DEL(stu,Max,i);

else

printf("您输入的教师号不存在!

\n");

break;

case'2':

printf("\n按姓名删除\n请输入教师的姓名:

");

scanf("%s",&findNAME);

if((i=findteacherNAME(stu,findNAME,Max))!

=-1)

DEL(stu,Max,i);

else

printf("您输入的姓名不存在!

\n");

break;

default:

printf("选择错误!

\n");

}

}

模块五:

教师信息排序

(一)选择排序方式

SortInforMenu(teacherstu[],intMax)

{

charselect;

printf("*****************请选择排序方式*****************\n");

printf("\t1--按教师号排序;\t2--按姓名排序\n");

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

printf("请选择(1--2):

");

select=choice();

if(select=='1'||select=='2')

SortInfor(stu,Max,select);

else

printf("选择错误!

\n");

}

(二)排序操作

SortInfor(teacherstu[],intMax,chari)

{

teacherteacher;

intj=0,k,l=0;

if(i=='1')

{

for(k=0;j

for(;k

{

if(stu[k].ID>stu[k+1].ID)

{

teacher.ID=stu[k+1].ID;

strcpy(teacher.Name,stu[k+1].Name);

teacher.Age=stu[k+1].Age;

strcpy(teacher.Sex,stu[k+1].Sex);

teacher.Birthday=stu[k+1].Birthday;

strcpy(teacher.Adress,stu[k+1].Adress);

strcpy(teacher.TelNum,stu[k+1].TelNum);

strcpy(teacher.Email,stu[k+1].Email);

stu[k+1].ID=stu[k].ID;

strcpy(stu[k+1].Name,stu[k].Name);

stu[k+1].Age=stu[k].Age;

strcpy(stu[k+1].Sex,stu[k].Sex);

stu[k+1].Birthday=stu[k].Birthday;

strcpy(stu[k+1].Adress,stu[k].Adress);

strcpy(stu[k+1].TelNum,stu[k].TelNum);

strcpy(stu[k+1].Email,stu[k].Email);

stu[k].ID=teacher.ID;

strcpy(stu[k].Name,teacher.Name);

stu[k].Age=teacher.Age;

strcpy(stu[k].Sex,teacher.Sex);

stu[k].Birthday=teacher.Birthday;

strcpy(stu[k].Adress,teacher.Adress);

strcpy(stu[k].TelNum,teacher.TelNum);

strcpy(stu[k].Email,teacher.Email);

}

printf("\n教师号姓名年龄性别出生年月\t地址\t电话\tE-mail\n");

for(i=0;i

printf("%8d%10s%2d%2s%8d%15s%12s%10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);

printf("\n");

}

}

elseif(i=='2')

{

for(k=0;j

for(;k

{

if(strcmp(stu[k].Name,stu[k+1].Name)>0)

{

teacher.ID=stu[k+1].ID;

strcpy(teacher.Name,stu[k+1].Name);

teacher.Age=stu[k+1].Age;

strcpy(teacher.Sex,stu[k+1].Sex);

teacher.Birthday=stu[k+1].Birthday;

strcpy(teacher.Adress,stu[k+1].Adress);

strcpy(teacher.TelNum,stu[k+1].TelNum);

strcpy(teacher.Email,stu[k+1].Email);

stu[k+1].ID=stu[k].ID;

strcpy(stu[k+1].Name,stu[k].Name);

stu[k+1].Age=stu[k].Age;

strcpy(stu[k+1].Sex,stu[k].Sex);

stu[k+1].Birthday=stu[k].Birthday;

strcpy(stu[k+1].Adress,stu[k].Adress);

strcpy(stu[k+1].TelNum,stu[k].TelNum);

strcpy(stu[k+1].Email,stu[k].Email);

stu[k].ID=teacher.ID;

strcpy(stu[k].Name,teacher.Name);

stu[k].Age=teacher.Age;

strcpy(stu[k].Sex,teacher.Sex);

stu[k].Birthday=teacher.Birthday;

strcpy(stu[k].Adress,teacher.Adress);

strcpy(stu[k].TelNum,teacher.TelNum);

strcpy(stu[k].Email,teacher.Email);

}

}

printf("\n姓名教师号年龄性别出生年月\t地址\t电话\tE-mail\n");

for(;l

printf("%10s%8d%2d%2s%8d%15s%12s%10s",stu[l].Name,stu[l].ID,stu[l].Age,stu[l].Sex,stu[l].Birthday,stu[l].Adress,stu[l].TelNum,stu[l].Email);

printf("\n");

}

}

模块六:

存盘

Save(teacherstu[],intMax)

{

inti=0;

FILE*fp;

if((fp=fopen("stu.txt","w+"))==NULL)

{

printf("ERROR!

");

exit(0);

}

for(;i

{

fprintf(fp,"%d",stu[i].ID);

fprintf(fp,"%s",stu[i].Name);

fprintf(fp,"%d",stu[i].Age);

fprintf(fp,"%s",stu[i].Sex);

fprintf(fp,"%d",stu[i].Birthday);

fprintf(fp,"%s",stu[i].Adress);

fprintf(fp,"%s",stu[i].TelNum);

fprintf(fp,"%s",stu[i].Email);

}

fclose(fp);

printf("OK!

");

}

3.4系统测试

1.

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

当前位置:首页 > 自然科学

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

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