1、C程序设计课程设计任务书及说明书设计题目 教师信息管理系统 学 院 计算机与通信 专业、年级 物联网工程 学 生 王明明 学 号 _ 453000_ 指导教师 时 间 201 年 春季 学期目 录1 摘要32 前言4 正文3、1系统分析(需求分析)3、2系统总体设计3、3详细设计3、系统测试及使用(操作)说明4 总结 185 参考文献 致谢附录: 程序源代码1 摘要本次课程设计采用C语言,开发了一个基本得教师信息管理系统,该系统具备了按教师姓名查找并输出教师信息,按教师号查找并输出教师信息,按教师姓名查找并删除数据,输出全部教师信息数据,对教师得管理也可以更加方便快捷.关键词:C语言;课程设计
2、;教师信息管理系统2 前言随着教育得广泛性得提高,教师得数量逐渐增多,但就是在教师管理就是出现教师姓名、年龄等出现错误得诸多问题。本文针对上述问题,采用软件工程得开发原理,根据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个教师信息管理系统。采用c语言作为开发工具,设计了这个教师信息管理系统,解决了教师信息管理中存在得数据安全性、数据一致性等问题.3、正文3、1 系统分析3.。、设计要求该设计要求教师以学校教师信息管理业务为背景,设计、开发一套“教师信息管理系统”软件.通过该题目得设计过程,可以培养教师结构化程序设计得思想,加深对高级语言基
3、本语言要素与控制结构得理解,针对语言中得重点与难点内容进行训练,独立完成有一定工作量得程序设计任务,同时强调好得程序设计风格.得到软件工程得综合训练,提高解决实际问题得能力。33。2设计任务、以教师信息管理业务为背景,通过调研、分析现有得管理模式与已有得管理软件,建立系统模型;2、完成软件结构设计与算法设计;3、完成系统得软件开发与测试工作;教师信息包括:教师号,姓名,年龄,性别,出生年月,地址,电话,mai等。设计“教师信息管理系统”,使之能提供以下功能:1. 系统以菜单方式工作;2. 教师信息录入功能;3. 教师信息浏览功能;4. 查询、排序功能:按编号查询、按姓名查询;5. 教师信息得删
4、除与修改;6. 存储教师信息。3、2 系统总体设计一功能模块图main欢迎界面选项退 出 并 存 盘教师信息查询教师信息删除教师信息排序教师信息录入教师信息修改二。总体数据结构本系统采用结构体为主要数据结构,将教师信息,包括:教师号,姓名,年龄,性别,出生年月,地址,电话,Email以结构体得形式存储在计算机中。struct TACHE nt I; ha N10; int ge; char x2; it Brthy; har Adres1; carTelum12; char Eai0;3、详细设计 (1) 功能模块及函数说明函数原型:oi DspMinMe();函数功能:显示菜单(欢迎界面)函
5、数原型:char hoice();函数功能:选择操作函数原型:vid inut(tr su,i ax,nt n);函数功能:录入教师信息函数原型:nt intcherID(te,intndID,nt Mx);函数功能:按编号查找教师信息函数原型:int findteacerNAE(tehr st,car findNME0,in Max) 函数功能:按姓名查找教师信息函数原型:voDislaynor(tacerstu,int Ma);函数功能:显示教师信息函数原型:oiDspQeryMenu();函数功能:显示查询菜单函数原型:in Infornt(teacherstu,ntcn);函数功能:输
6、入要录入得教师信息条数函数原型:void uerInor(eacherstu,it Ma);函数功能:信息查询函数原型:void EdiInfo(teahe stu,int Mx); 函数功能:修改教师信息(信息编辑)函数原型:DE(teache st,in Max,int i)函数功能:删除数据项函数原型:DInfor(teacher su,inMax)函数功能:删除信息函数原型:SoInrMn(teaer stu,inMax)函数功能:显示排序菜单函数原型:SotInfor(tachr st,intMax,chri)函数功能:信息排序函数原型:Save(tachr stu,in Max)函
7、数功能:存储信息( )模块说明 模块一:显示菜单(欢迎界面),选择所要进行得操作voi spMaiMenu() printf(”*教师信息管理系统、0*n); printf(nt 程序开发人:王明明 学号:14023013nn); nf(”t教师信息录入 t2教师信息修改n); rintf(t教师信息查询 教师信息删除n); nf(”5-教师信息排序 t0-退出n); printf(”*n”); intf(请选择(05):);模块二:显示教师信息vodispyInfo(tecer stu,int Mx) in ;tf(”n 教师号 姓名 年龄 性别 出生年月t 地址t 电话t miln); o
8、r(=0;iMax;i+) rintf(”8d10s %2d %2s d 15%12s %10s,stu、D,si、Na,su、Ag,stui、ex,ti、thda,sti、Adess,tui、TelNum,ui、mail); intf(n”);模块三:录入教师信息vid npu(acher s,in Ma,t cn) nt i; or(i=cn;ia+c;+) print(n请输入第d个教师得教师号 (个字符以内):,i1); scan(d,&st、ID); prinf(ntt姓名(10个字符以内):); scnf(”,stui、am); pitf(”n 年龄:); scan(”%d,sti
9、、Age); rntf(”nt性别(m或w):”); scan(%”,sui、Sex); rintf(nt 出生年月(8位):); scaf(”,i、Bithda); rin(ntt 地址:”); scanf(”,sui、Adres); pitf(tt 电话:); sanf(%s”,stu、TelNu); pri(”ttt E-al:”); scanf(s,&stui、Email); prntf(n您得输入信息就是:n); DispyInfor(stu,Maxn);模块四:查找教师信息(一)按编号查找infindteachrI(tacerstu,i inD,int Mx) int i;for(
10、=0;Ma;i+) f(stui、D=fn) break; if(Max) trn i;ese rurn1;(二)按姓名查找inindteaherNAME(teaher stu,char fndNAM10,in x) int i; for(i0;iMax;i+) if(!strcm(stui、Nam,fdNME) break; if(iax) eturn; els return -1;(三)查找vodQuerInfr(teacerst,it Max) carselec; i i; infnI; ca fndNME1; ispQueryenu(); seet=hoic(); swic (elec
11、t) ae 1: pitf(n按教师号查询请输入教师得学号: );sc(d,&findD); f (i=fndteacherD(su,findD,M))!=1) print(查找结果如下:n); rintf(” 教师号 姓名 年龄 性别 出生年月t 地址t 电话t E-mal); rntf(”8 10 2d %2 8d%15 10s,stui、I,sui、a,stui、ge,sui、ex,sti、irthday,sti、Adress,tui、elNum,stui、mil); ee prntf(”您输入得教师号不存在!n); reak; case2: pn(”按姓名查询n请输入教师得姓名:);
12、san(”,dAME); f ((iinteachrNAME(stu,fidNAME,Max))!=1) pitf(查找结果如下:n); prinf( 教师号 姓名 年龄 性别 出生年月t 地址t 电话t E-mail”); printf(”d %10s %2d 2 %8d 1s %2s 1,sti、ID,st、Name,stui、ge,tu、S,s、Bithy,stui、ress,st、lN,stui、mil); lserintf(您输入得姓名不存在!n”); eak; default: print(”选择错误!n”); 模块五:修改教师信息void Edtnfo(eachr tu,nt M
13、x)iti; nt fdID; prif(n请输入教师得学号:);canf(%d,findD); if (i=fndteachr(st,indD,ax))!=-) pritf(姓 名: %sn,stui、me); print(原信息:8 %2d 2s %d 5s %2s %0”,s、ID,i、Ae,s、Sex,stui、irthdy,stu、Adress,stui、TelNum,stui、Em); pintf(n 请输入新得教师号 (8个字符以内):,i1); scanf(%d”,&stui、I); prif(ntt姓名(10个字符以内):); canf(”%s,ui、Nme); intf(”
14、nt 年龄:); sanf(,&su、Ae); prinf(ntt性别(m或):”); scn(”s,&stu、Se); prntf(”ntt 出生年月(位):); scf(%d,si、Btdy); printf(t 地址:); sanf(%s,&stui、Aress); ritf(”ttt 电话:”); sa(”%s”,ui、TelNum); printf(nttt -ml:”); scan(s”,&stui、Eal); else pri(您输入得教师号不存在!n);模块五:删除教师信息DelIr(eacesu,in Mx) nt finID,i; harfndNAM0,ele;ritf(*
15、请选择删除方式*n); rinf(”t1-按学号删除;-按姓名删除”); rintf(”*n); prinf(请选择(12):”); sect=chie(); swich (slct) case 1: print(”按教师号删除请输入教师得教师号: ); scf(d,fndD); i ((=findteaherID(st,findID,Max))!1) EL(su,Mx,i); ese rintf(您输入得教师号不存在!n); break; ase2: print(n按姓名删除请输入教师得姓名: ); scanf(”s,&fndAME); if (i=fndtacherNME(stu,find
16、NA,M))!=1) DE(s,Max,); le rtf(您输入得姓名不存在!n”); rak; dfalt: prnt(”选择错误!n); 模块五:教师信息排序(一)选择排序方式SortInforMen(echerstu,nt Mx) chaelec; rintf(*请选择排序方式*n); rntf(”t1按教师号排序; t2-按姓名排序n); rint(*”); prinf(请选择(1):); elc=hoie(); if(select=1|elec=) SortInfo(u,Max,selc); else pintf(”选择错误!);(二)排序操作SotInfor(techer st,
17、in Max,cr i) tehertehr; int ,,l=0; i(=1) fo(=;jM;j+) for(;kMaxj-1;k+) if(stuk、IDtuk+1、ID) acher、IDstuk+1、ID; strcpy(ther、am,stk+1、Ne); teache、Age=stuk+1、g; strcp(ecer、Sex,suk、Sx); ache、Bithda=tuk+1、Birthda; trcpy(tahr、Ares,s+1、Adess); strcp(eacer、lNm,stuk+1、elum); trcpy(teah、Email,tk、Emil); t+1、I=uk
18、、I; trcp(stu+、ame,stuk、Name); stuk+1、Agestuk、Age; stcpy(stuk+1、Se,tk、Se); stuk+1、Bity=stuk、ihday; srcpy(sk+1、ess,stuk、Adrss); srcpy(stuk+1、elNm,tk、TeNum); strcpy(stuk+1、Email,stu、Email); stuk、ID=teache、ID; strc(tuk、am,teh、Nme); tuk、Ae=tach、ge; trcp(u、Sx,teacer、Sx); sk、ihay=taher、Bthdy; srpy(suk、Adss
19、,tache、Adrs); str(su、TeNm,teahe、TeNm); strcp(stuk、Email,eace、Emal); pritf(”n 教师号 姓名 年龄性别 出生年月t 地址 电话t E-mailn”); o(i;iMax;i+) prit(”8d 0s d 2s%8d %5%12s 10s”,sui、ID,stui、Nam,stu、Ae,st、Sex,stui、Birthda,ti、Adess,sti、Telum,su、Emil); prinf(”); else (i=) for(k=;jMx;j+) for(;Maxj1;+) i(src(stk、Name,stuk1、
20、Nae)0) tece、ID=s1、ID; trp(teaher、Name,tk、Ne); techr、Agtu1、Age; tp(eaher、Se,stk1、Sex); eachr、tdystuk1、Birthday; strpy(teache、ds,stuk+1、Ades); tpy(teaher、TNum,stuk+1、TelNm); strcpy(eacher、Emai,stk+1、Eail); u+1、D=sk、; stcp(stk+1、Nae,suk、Nme); stuk+1、Ae=stk、ge; strcpy(stuk+、Sex,tk、Sex); tuk1、Bithday=t、B
21、itay; trcpy(stuk+、Adress,stk、Ares); stcpy(stuk1、TeNm,stuk、TeNum); trcpy(tk1、Eil,stuk、ail); tk、D=ecer、I; srp(stuk、Name,teaher、Nae); su、Aeeacher、g; strcpy(s、Sx,tc、Sex); stu、Birdayteaher、Birday; srpy(stuk、Aress,echer、Ares); tcy(stuk、TelN,acher、TelNum); strcpy(tuk、mai,tech、Eail); printf(n 姓名 教师号 年龄 性别 出
22、生年月t 地址t 电话t Emailn); for(;Max;l+) rintf(0s %8d 2d %sds 2s %1”,stul、Nam,tul、I,stl、ge,sul、ex,tu、Birhday,stl、Adress,stul、elNu,tul、Em); prif(n); 模块六:存盘Se(teacher stu,nt Max) t i=0 ; FI *p; if(fpen(”stu、txt”,w+))=ULL) rin(ERRO!”); eit(0); for(;iMax;) print(fp,d ,stu、); frintf(f,%s ,tu、Na); rntf(f,”d ,st
23、u、Age); if(fp,%s ,su、S); fint(fp, ,s、Birhd); fprintf(f,”% ”,sui、Adess); fprintf(p,”s,ti、TelNm); rntf(f,s,sti、Email); fclse(fp);rf(OK!);3、4系统测试1 欢迎界面2录入教师信息运行结果3教师信息修改运行结果4。教师信息查询运行结果:5删除运行结果:6。教师信息排序运行结果:4 程序设计总结通过这几天来对这个C课程得设计,使我们充分体会到了编程给我们带来得乐趣,其中我们也会遇到编译错误,有时也会令程序无法运行,但我们没有放弃,而就是几个人一起讨论,仔细查找造成问题
24、得原因。既锻炼了我们得思维能力,有培养了我们得意志与毅力,使我们对C语言编程方面得能力得到了提高,而这些就是我们在课本上所学不到得!当然,在这次课程设计中也暴露出我们得一些不足,比如编程时想当然,一些我们表面上瞧似成立得程序,实际上却可能根本无法运行,只有实际用语言编译环境中运行一下才知道程序中存在得问题。这都就是我们没有养成良好得编程习惯所造成得,毕竟我们才刚刚开始学习编程,以后得路还很长5参考文献(1)CC+程序设计,王连相等,中国科学技术出版社,2004 (2)C语言程序设计,谭浩强,清华大学出版社,99 (3)C程序设计题解与上机指导,谭浩强,清华大学出版社,19 (4)语言使用程序荟
25、萃,西安电子科技大学出版社,93 ()C语言函数手册,机械工业出版社,1999 ()C语言得实际应用,安徽科学技术出版社,000致谢 感谢XXX老师得悉心指导。附录:程序源代码#incle stdio、h#include incude #defin MA_UM 5#defi teacr SUENTstruct TACHRint D; har Nam10; in Age; char Sex2; irha; cha Ads15; chr TelN2;char Eal10;typedefstrcTECHER teacher;vd inpu(teacersu,int Max,int);intfindt
26、ecerD(tache s,itinID,nt Max);vid DslaIno(teacher stu,Max);vod DispMainMnu();vodDispueyMeu();harchoice();n InforInpu(teacer t,int cn);oi ueryIn(tecr t,int Max);vod EdiInfor(eaherst,ntMax);vi ispMaieu()pn(”*教师信息管理系统1、0*n”); rintf(”n 程序开发人:王明明 学号:0030123n); prnt(”t-教师信息录入 t2教师信息修改n”); printf(”t教师信息查询 4
27、-教师信息删除); prinf(t教师信息排序 t0退出n);printf(”*n”); printf(请选择(0-5):);vid DispQuerM() rintf(*请选择查询方式*n”); prtf(t1按教师号查询; t2-按姓名查询n); prinf(*n); rit(请选择(12):);chcoice() char select; slct=etce(); geth();reurn (elct);vod isplaInfo(tach tu,intMa) int i; prntf(n 教师号 姓名 年龄 性别 出生年月t 地址t 电话t Emailn”); or(=0;iMax;)
28、 rinf(d %1s 2d % d %1512s %s”,sui、ID,stu、Name,sti、Age,tui、Sex,stui、irhday,stui、drs,st、TeNu,stu、Emi); prin(”n);vid iu(chrstu,intMax,intc) nt i;fr(i=c;ia+;+) pintf(请输入第%个教师得教师号 (8个字符以内):,i+1); san(”,stui、ID); prntf(t姓名(0个字符以内):); sn(”%,stu、Na); prit(ntt 年龄:); scn(”d,sui、ge);prntf(nttt性别(m或):); scnf(s,
29、st、Sex); print(ntt 出生年月(8位):); scnf(%”,&sti、irtday); pritf(” 地址:”); saf(%s,&stu、Adres); prif(”nttt 电话:); scnf(s,&stui、TeNm); pintf(nttt ail:”); scaf(”,tui、Eml); pif(”n您得输入信息就是:n); Dsplynf(stu,Max+cn);in ideacherID(techer s,nt indID,t Ma) nt ; fr(i=0;iax;+) if(stui、I=fndID) b; if(iMax) rturni;lse ret
30、urn 1;intidteacherAME(teache u,hafidAME10,intMax) nt ;fr(i=;Ma;i) (!strcm(stui、Name,finNAE) e; f(ax) rturn ; le retn;Inru(techerstu,intn) t umber; printf(”n请输入本次录入得教师人数: ); san(%”,&umber);i(nuberAX_NUM) rt(您输入得人数太多,大于d人!n”,MAX_N); return (); n(tu,umer,c); retur (nuber+cn);voi ueynfor(tac tu,intMax)
31、car elect; int; itindI; charfindNAE10; DsQuryMeu(); selt=choice(); switch (lect) cae1: rint(”n按教师号查询n请输入教师得学号: ); scaf(%d”,findD); f ((i=fidteacheID(stu,fnI,Max))!=-) printf(查找结果如下:n”); pritf(” 教师号 姓名 年龄 性别 出生年月t 地址 电话t E-mil”); printf(”%8d%10s %2d % 8 15s%12s%1s,sui、ID,stui、Name,st、Age,stui、ex,stui、Birthday,sui、Arss,sui、TelNu,su、Eml); lse pritf(您输入得教师号不存在!n); brea; case 2: ritf(按姓名查询请输入教师得姓名: ); sanf(%s”,&findAM); if ((i=findteaherAE(
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100