C语言课程设计报告报告—学生宿舍的管理系统设计报告_第1页
C语言课程设计报告报告—学生宿舍的管理系统设计报告_第2页
C语言课程设计报告报告—学生宿舍的管理系统设计报告_第3页
C语言课程设计报告报告—学生宿舍的管理系统设计报告_第4页
C语言课程设计报告报告—学生宿舍的管理系统设计报告_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.课 程 设 计 报 告课程名称 C语言程序设计 课题名称 学生宿舍管理系统 专 业班 级学 号姓 名指导教师2012年6月19日工程学院课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 学生宿舍管理系统 专业班级 学生 学 号 指导老师 审 批 任务书下达日期 2012 年 6 月 19 日任务完成日期 2012年 7 月 4 日一、设计容与设计要求设计容:学生宿舍管理系统设计涉及的知识点:掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。掌握函数的定义,

2、函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。设计要求:用C语言实现系统;利用结构体数组实现学生宿舍信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。2) 建立一

3、个学生宿舍信息数据库,文件名为ss*k.t*t,并从该文件中读取数据;3) 学生宿舍管理系统应能提供以下功能:系统以菜单方式工作:通过提示用户输入一个数字选项,调用相应的功能函数。显示功能:完成全部宿舍信息的显示,显示时按表格的形式,且应有表头;追加功能:完成一个(或多个)学生入住宿舍的登记(追加记录),要求在追加过程中有相应的提示信息,完成追加后能重新显示;查询功能:要求可选择按指定*和指定两种方式定位查询,查询的结果要求以表格的形式显示,若查询不到应给出相应的提示信息。删除功能:要求可按指定的*和指定的两种定位方式删除学生在宿舍的记录。修改功能:要求能按*或按两种定位方式,且可以按用户要求

4、修改记录中除*和以外的指定容,并重新显示。)统计模块:能按指定的校区、宿舍栋号、统计入住该栋的学生人数,或统计指定的班级入住*栋的人数,并将统计的结果以及被统计的人员的信息用表格的形式显示;排序功能:按宿舍类别排序(升序)要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计中应有一定的提示信息。4) 说明:要求将修改后的数据写入到一个新的数据文件nwes*k.t*t中。对系统有兴趣的同学可以在实现基本要求的基础上,完善系统的其它功能。5) 学生宿舍管理系统采用一个结构体数组,宿舍生信息数据库结构如下:char ssdh4; /*宿舍栋号*/ int fjh; /*房间号*/ lo

5、ng *h /*/ char name10; /*/ char *b4; /*性别*/ char bj12; /*班级*/ char phone12; /*/ int *q; /*校区*/ int sslb; /*宿舍类别*/注意:*不能重复且不少于4位数字,各项字符串的长度要求在410之间,数据库应有10条或多于10条以上的记录。6) 要求:要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有容;要求学生必须按照课程设计报告的完整格式说明设计容,设计任务分析过程和算法,给出程序流程图和全部源程序;设计报告的完整格式应包括以下部分的容:系统设计总体思路;系统的主要功能;系统功能模块的

6、划分(要求画出总体模块框图);主要功能的实现和各个程序模块说明(每个功能模块的框图、系统主模块的流程图,各个功能模块至少要有一个主要的流程图);程序调试过程及各模块调试中相应的部分截图;课程设计总结与体会(不少于500字)。课程设计参考文献;程序清单;课程设计周,凡规定的集中上机时间必须到机房调试程序;设计完成后必须参加答辩,并按要求演示程序,提交课程设计报告和有关电子文档。7)分组及安排所选题目根据学生班号和*确定,(班号+*)% 6+1。如你的班号为01班、*为01,则所选题目号为:(1+1)%6+13,即课题号为3。8)成绩评定程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书

7、的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入课程设计成绩评分表”。二、进度安排第 19 周 星期一 8:0012:00 讲课、布置任务星期二 8:0012:00 机房上机调试程序星期三 14:0018:00 机房上机调试程序星期四 14:0018:00 机房上机调试程序、答辩 附:课程设计报告排版、打印和装订要求1. 课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分表。按A4大小的纸排版和打印。 2. 设计报告的页码从目录之后开始使用;3. 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22磅。正文中程序清单(英文)用英文字体Ti

8、mes New Roman,单倍行间距。 4. 正文的容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试(各模块至少有一个程序调试的截图);五、总结(不少于500字);六、参考文献;t、附件(包含所有程序的原代码,且程序中应有必要的注释)。八.正文总字数要求在5000字以上(不含程序原代码)。5设计报告中任务书和评分表不需重新排版。目 录TOC o 1-2 h z uHYPERLINK l _Toc329188191一、系统总体设计思路: PAGEREF _Toc329188191 h 1HYPERLINK l

9、_Toc329188192.总体功能设计: PAGEREF _Toc329188192 h 1HYPERLINK l _Toc329188193.各模块功能设计: PAGEREF _Toc329188193 h 1HYPERLINK l _Toc329188194二.系统总体模块框图: PAGEREF _Toc329188194 h 3HYPERLINK l _Toc329188195三、系统总流程图及各模块流程图 PAGEREF _Toc329188195 h 4HYPERLINK l _Toc329188196.总流程图: PAGEREF _Toc329188196 h 4HYPERLIN

10、K l _Toc329188197.各模块流程图: PAGEREF _Toc329188197 h 6HYPERLINK l _Toc329188198四、系统各模块主要功能的实现 PAGEREF _Toc329188198 h 12HYPERLINK l _Toc329188199I.显示模块 PAGEREF _Toc329188199 h 12HYPERLINK l _Toc329188200II.追加模块 PAGEREF _Toc329188200 h 12HYPERLINK l _Toc329188201III修改模块 PAGEREF _Toc329188201 h 12HYPERLI

11、NK l _Toc329188202IV删除模块 PAGEREF _Toc329188202 h 13HYPERLINK l _Toc329188203V.查询模块 PAGEREF _Toc329188203 h 13HYPERLINK l _Toc329188204VI统计模块: PAGEREF _Toc329188204 h 13HYPERLINK l _Toc329188205VII排序模块: PAGEREF _Toc329188205 h 14HYPERLINK l _Toc329188206五程序调试 PAGEREF _Toc329188206 h 14HYPERLINK l _To

12、c329188207I.显示模块: PAGEREF _Toc329188207 h 14HYPERLINK l _Toc329188208II追加程序: PAGEREF _Toc329188208 h 16HYPERLINK l _Toc329188209III.修改程序: PAGEREF _Toc329188209 h 20HYPERLINK l _Toc329188210IV删除模块: PAGEREF _Toc329188210 h 23HYPERLINK l _Toc329188211V查询模块: PAGEREF _Toc329188211 h 26HYPERLINK l _Toc329

13、188212VI统计模块: PAGEREF _Toc329188212 h 28HYPERLINK l _Toc329188213VII排序模块: PAGEREF _Toc329188213 h 31HYPERLINK l _Toc329188214VIII退出模块: PAGEREF _Toc329188214 h 32HYPERLINK l _Toc329188215六.总结与体会 PAGEREF _Toc329188215 h 33HYPERLINK l _Toc329188216七参考文献: PAGEREF _Toc329188216 h 34HYPERLINK l _Toc329188

14、217八附件 PAGEREF _Toc329188217 h 34-. z.一、系统总体设计思路:.总体功能设计:学生宿舍管理系统存放了每个学生的*、性别、班级、及所住的宿舍栋号、房间号、校区、宿舍类别的数据库。每个人的信息定义在一个结构体变量中。其结构如下:系统通过显示程序、追加程序、查询程序、删除程序、修改程序、统计程序、排序程序来实现学生信息管理系统的显示功能、追加功能、查询功能、删除功能、修改功能、统计功能、排序功能。各个功能的调用通过主函数中的switch语句来实现。switch(sele) case 1:Disp();break;(显示模块) case 2:Appe();break

15、;(追加模块) case 3:Modi();break;(修改模块) case 4:Dele();break;(删除模块) case 5:Query();break;(查询模块) case 6:Sort(); break;(排序模块) case 7:Total(); break;(统计模块) case 8:Quit(); sele=0;break;(退出模块).各模块功能设计:.显示模块:通过设计一个模块,来实现学生信息的显示。以便于浏览学生的信息。.追加模块:通过设计一个模块,当要加入新的学生的信息的时候,来实现新学生信息的加入。= 3 * romaniii.查询模块:通过设计一个模块,这个

16、模块可以按学生的*、来查询学生所有的信息,并显示学生的所有信息,以便查询者阅读。 = 4 * romaniv.删除模块: 通过设计一个模块,当输入一个学生的*或者的时候,可以通过这个模块,将输入*或者的学生的所有信息从数据库中删除出去。以后,这个学生的信息将不再会出现再数据库中。= 5 * romanv.修改模块:通过设计一个模块,当*个人的信息发生变化的时候,可以通过修改模块来进行修改。修改模块时一具有多级子菜单的摸块。使用十分的方便、灵活。= 5 * romanvi统计模块:通过设计一个模块,能按指定的校区、宿舍栋号统计入住该栋的学生人数,或统计制指定的班级入住*栋的人数,并能将统计的结果

17、以及统计的人员的信息用表格显示出来,是浏览者一目了然。= 6 * romanvii.排序模块:通过设计一个模块,来实现数据库的信息按宿舍类别的升序排列。并显示所有信息,使浏览者一目了然。二.系统总体模块框图:主函数显示模块追加模块查询模块删除模块排序模块退出模块统计模块退出修改模块三、系统总流程图及各模块流程图.总流程图:进入系统输入Sele=追加程序删除程序查询程序统计程序显示程序退出程序输出Sele=8Sele=4Sele=2Sele=5Sele=7Sele=1排序程序Sele=6修改程序Sele=3开始结束.各模块流程图:i.显示模块:进入输入选项*uan*M=输出所有信息退出M=1M=

18、2ii.追加模块:进入输入选项num=输入信息输出所有信息退出num=2num=1是否继续追加否是iii.修改模块:进入输入选项t=修改宿舍栋号修改性别修改修改校区退出程序输入信息t=8t=3t=1t=7修改宿舍类别t=6修改房间号t=2修改班级num=?num=3按*查找并修改按*查找并修改num=1num=2输出所有信息t=4t=5选择是否继续修改?是否iv.删除模块:进入输入选项要查找的信息查找要删除的学生信息删除学生信息输出删除后的学生信息是否继续删除退出查无此人flag=否是flag=0flag=1v.查询模块:进入输入选项按*查找号按*查找号查找学生num=1num=3num=2f

19、lag=是否继续查询查无此人!flag=1输出学生信息flag=0退出是否vi.统计模块:进入输入选项按校区、宿舍栋号统计该栋入住学生人数按班级统计入住*栋的人数输入统计的人数和这些学生的信息是否继续统计退出否是t=1t=2t=3vii.排序模块:进入输入选项按宿舍类别进行升序排列输出排序后的学生信息退出num=2num=1四、系统各模块主要功能的实现= 1 * ROMANI.显示模块程序通过一个printf函数把输出信息的表头打印出来,再通过一个for循环把每一个学生的信息输出,在输出的时候,通过调用Print函数(一个专门用来输出的函数,且是用指向结构体数组的指针输出学生信息)输出所有学生

20、信息。= 2 * ROMANII.追加模块结构体中间的成员之间用空格来隔开输入,通过回车键来实现追加。且追加一个学生信息后可选择继续追加或退出。III修改模块程序定义一个变量num1,来确定到底输入的是*还是。通过一个for循环来确定数据库到底是否含有此人的信息。如果含有此人的信息,则把此人的序号赋值给变量k,把标识变量flag赋值为1;如果不含有此人信息,则标识变量flag值仍为0。再通过if语句,如果标识变量flag为0,则打印查无此人!”。如果flag的值为1怎进入下一级菜单,通过switch语句来选择是修改这个人的宿舍栋号、房间号、性别、班级、校区还是宿舍类别。修改完成后通过调用Pri

21、nt函数输出修改后的新的所有学生信息。每次修改成功之后可通过选择是”或者否”来选择是否继续修改学生信息。= 4 * ROMANIV删除模块程序通过定义一个变量num,来确定输入到底是*还是,或者退出删除模块。通过一个for循环来确定数据库到底是否含有此人的信息。如果含有此人的信息,则通过一个for循环,把这个以后的信息依次前推来覆盖这个人的信息,而实现此人信息的删除。如果不含此人的信息,则打印查无此人!”。每次删除结束之后通过选择是”或者否”来选择是否继续删除学生信息。V.查询模块程序通过输入一个变量num来实现是按*还是按来查找,或者退出查询。当输入完*或者的时候,再通过一个for循环来实现

22、此人信息的查找。当含有这个人的信息的时候,把标识变量flag赋值为1,并立即输出此人信息。如果不含这个人的信息的时候,标识变量flag仍为0。再通过一个if 语句,如果标识变量flag为0,则打印查无此人!”。用while循环保证程序在模块中查询。每次查询结束之后通过选择是”或者否”来选择是否继续查询学生信息。= 6 * ROMANVI统计模块:程序通过输入一个变量t来选择是按校区、宿舍栋号统计该栋入住学生人数还是按班级统计入住*栋的人数,或者退出统计模块。再通过一个for循环来实现目标信息的查找。定义标识变量flag,在for循环查找信息前赋值为零。当每找到一个目标信息的时,把标识变量fla

23、g赋值为1,用变量num累加人数并并把此人信息赋给另一个结构体成员。如果不含这个人的信息的时,标识变量flag仍为0。最后输出统计的人数并通过for语句输出这些学生的信息,再通过一个if 语句,如果标识变量flag为0,则打印出查无此信息!”。每次统计结束之后可通过选择是”或者否”来选择是否继续统计其他学的信息信息。= 6 * ROMANVII排序模块:程序运用起泡排序方法(从第一个数开始依次对相邻两数进行比较,如次序对则不进行任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍后就可以完成排序。)对所

24、有学生按宿舍类别进行升序排列,并通过调用Print函数输出排序后的数据。五程序调试如果运行程序,将出现如下的界面,即程序主菜单:= 1 * ROMANI.显示模块:输入1,并按回车键,程序将进入显示模块的菜单(二级菜单),界面如下:如果输入1并按回车,将显示出所有学生的所有信息,其输出界面如下:如果按任意键将退出,退回主菜单:= 2 * ROMANII追加程序:在主菜单下输入2并回车,将进入追加程序菜单,其界面如下:输入2并回车,将开始进行追加学生信息:输入学生信息:输入学生信息后,按回车将自动显示出追加的及原来的所有学生信息,并显示出是否继续追加学生信息,其界面如下:输入1并按回车,即选择继

25、续追加学生信息,将出现追加程序的菜单:输入另一个学生的信息并回车,将自动显示出所有学生的信息,其界面如下:输入2并按回车,将显示出提示语按任意键返回主菜单”,界面如下:按任意键将退出追加程序返回主菜单。III.修改程序:在主菜单下输入3并回车进入修改程序下菜单:输入1并回车,即按*查找并修改,程序将会提示输入*:输入*,如2112,回车,显示修改程序的下一级菜单,即修改选项:输入选择项,如2,将会提示进入下一步,即修改信息:输入修改信息并回车,将显示出经修改后所有学生的新信息,并出现提示语句选项,是否继续修改,其界面如下:输入1并回车,即选择继续修改,将进入修改程序下的主菜单:输入2并回车,即

26、选择按查找并修改。修改完成后选择继续修改,并按*查找并修改,随便输入一个*(即数据库不存在的学生信息),将会显示提示信息查无此人!其界面如下:输入2并回车,即选择退出修改程序,程序将完成修改并返回主菜单。= 4 * ROMANIV删除模块:在主菜单下输入2并回车,将进入删除程序的菜单下,其界面如下:输入1并回车,即选择按*查找并删除,并输入一个*回车,如输入2112,将自动显示出删除后新的学生信息,即不在存在*为2112的学生信息:按任意键将进入下一步,即选择是否继续修改:输入1并回车,即选择继续修改,将显示出删除程序的选择菜单:输入2,即按查找并修改,随意输入一个,即数据库不存在的学生信息,

27、回车将显示出提示信息:查无结果! 其界面如下:= 4 * ROMANV查询模块:在主菜单下输入5并回车,进入查询程序的选择菜单下,其界面如下:输入1并回车,即选择按*查询,将出现提示语句,提示使用者输入学生*。输入一个学生*,如2011,回车,将显示出此学生的所有信息。并且提示使用者是否选择继续查询,其界面如下:选择继续查询将回到查询程序的选择菜单下。在查询程序的菜单下输入2并回车,即选择按查询,输入一个学生并回车,如司马懿(追加的学生信息),将出现此人的所有信息,即也证明追加学生信息成功:选择继续查询,并且按*查询(或按查询),随便输入一个数据,即数据库不存在的,如*8970,将出现提示语句

28、查无此人!选择否”,即不继续查询,将完成信息的查询并退出查询程序返回主菜单。= 4 * ROMANVI统计模块:在主菜单下输入6并回车,将进入统计模块的菜单下:输入1,即按校区、宿舍栋号统计该栋入住学生人数,并提示使用者输入相关信息:输入相关信息,如0,A(中间用空格),回车将统计出人数和显示出这些学生的所有信息,并提示使用者下一步是否继续统计其他的数据:选择继续统计将返回统计程序下的菜单,输入2并回车,即选择按班级统计入住*栋的人数,并提示输入相关信息:输入相关信息并回车,将显示出统计出的人数和这些学生的所有信息:选择继续统计返回菜单,选择1、2任一项,如选择1,即选择按班级统计入住*栋的人

29、数,随意输入数据,即数据库不存在的,回车,将显示提示语句查无此信息!其界面如下:选择否”完成统计返回主菜单。= 4 * ROMANVII排序模块:在主菜单下输入7并回车进入排序程序下的菜单:输入2并回车,即选择按宿舍类别排列(升序),将显示排序后的所有学生信息:按任意键返回主菜单。= 4 * ROMANVIII退出模块:在主菜单下输入8并回车将显示出退出程序的界面:继续按任意键将退出整个程序,即退出学生宿舍管理系统。六.总结与体会说过实践是检验真理的唯一标准”。通过几天的课程设计,通过实践来理解和巩固理论知识,使我对C语言程序设计有了一个更加深入的认识,从刚开始的初略了解到有了比较深入的认识,

30、能够比较灵活的运用。C语言是一门比较灵活、有趣而且实践性非常强的课程,单从理论课上是难以领略到它的精髓,我们只有从它的实践运用中,才能体会到了学习C语言的乐趣和好处。在课程设计的这段时间里,我学到了许多东西,同时也使我对以前学的东西有了一个更深更透彻的理解。比如:能够灵活的运用循环,switch语句,结构体的定义、引用、使用,指针的定义、使用等。虽然对C语言编程还有许多不明白,但这段时间我真的获易匪浅,原来理论课上一些没弄懂知识点通过上机实践差不多都弄懂了。课程设计也就是学以致用嘛,让自己了解自己所学怎样用于实际应用中。正所谓实践出真知,在实践中我们才能发现自己所存在的问题和不足。在编程过程中

31、总是出现这个或那个问题,比如说总是在scanf语句中少掉地址符&”,最终导致程序无法运行。这也源于自己平时没养成好的习惯,初心大意吧,以后得多多注意啊。在编程过程出现诸多问题是免不了的,不过还好最终通过与同学讨论或请教老师都一一解决了。为了与同学讨论解决问题,我甚至放弃了使用自己的电脑而去电子阅览室上机编程。在这次课程设计中,我再一次深深地体会到了了与别人合作交流的重要性,正所谓众人拾柴火焰高”。虽说每个人独立编程,但总少不了遇到问题,遇到问题就得解决啊。在与同学的交流讨论中,取长补短,不仅别人帮我解决了问题,同样我也帮别人解决了问题。我感觉自己的程序还算编得不错,清楚美观,还许多特色。为了美

32、观我特意把所有的界面上的菜单调到了中间。我自己定义了一个函数用于输出数据,而且是通过指针输出的。所以说整个程序所学的知识差不多我都用到了,用些知识可能不需要,但我还是想办法把它用进去,体现它的作用。可是遗憾的是最后程序通过我的修修改改,最终的答辩却出现了一些问题,有些不能运行。不过没什么,现在问题已经解决了,答辩出问题了,又何必在乎那个结果呢?应该看重的是整个过程。虽然课程设计很复杂,枯燥乏味,但我从没想到过放弃。高考都经历过来了,这又算得了什么呢?遇到困难时,不要轻言放弃,有毅力能做好事情。当然c语言课程设计确实很难,但是世上无难事只怕有心人,紧要关头不放弃,绝望就会变成希望。任何困难都只不

33、过是纸老虎,相信自己就一定能成功。课程设计也就是学以致用嘛,让自己了解自己所学怎样用于实际应用中。正所谓实践出真知,在实践中我们才能发现自己所存在的问题和不足。C语言的学习更是为我们以后学习的微机原理以及单片机原理奠定了基础。我们的专业是电子科学与技术,主要是跟电子产品打交道,后面用到C语言的地方还有许多,所以说,学好C语言,为我们以后专业知识的学习有很大好处。在学习C语言中更使我体会到了学习计算机技术的乐趣,我将更加努力多学,学好计算机技术。七参考文献:C语言程序设计 主编 世清 大学 C语言程序设计实践教程 主编 世清 大学八附件#include stdio.h#include strin

34、g.h#include conio.hint N=0;struct stu char ssdh4; /*宿舍栋号*/ int fjh; /*房间号*/ long *h; /*/ char name10; /*/ char *b4; /*性别*/ char bj12; /*班级*/ char phone12; /*/ int *q; /*校区*/ int sslb; /*宿舍类别*/ s40;void Re_file() FILE *fp; fp=fopen(G:课题2ss*k.t*t,r); while( fscanf(fp,%sn%dn%ldn%sn%sn%sn%sn%dn%dn,sN.ss

35、dh,&sN.fjh,&sN.*h,sN.name,sN.*b,sN.bj,sN.phone,&sN.*q,&sN.sslb)!=EOF) N+; fclose(fp); void Wr_file()int i; FILE *fp; fp=fopen(G:课题2newss*k.t*t,w); for(i=0;iN;i+) fprintf(fp,%sn%dn%ldn%sn%sn%sn%sn%dn%dn,si.ssdh,si.fjh,si.*h,,si.*b,si.bj,si.phone,si.*q,si.sslb); fclose(fp);void Print() /*输出函数*/

36、struct stu *p;printf( *n); printf( 宿舍栋号 房间号 * 性别 班级 校区 宿舍类别n); printf( *n);for(p=s;pssdh,p-fjh,p-*h,p-name,p-*b,p-bj,p-phone,p-*q,p-sslb);void Disp() /*显示模块*/int num;printf( *n); printf( * *n); printf( * 1.显示学生信息 *n); printf( * *n); printf( * 2.退 出 *n); printf( * *n); printf( *n); printf(请选择:); scan

37、f(%d,&num);switch(num)case 1:Print();case 2: printf(nn请按任意键退出!);getch();void Appe() /*追加模块*/ int num; printf( *n); printf( * *n); printf( * 1.追加学生信息 *n); printf( * *n); printf( * 2.退 出 *n); printf( * *n); printf( *n); printf(nn 请输入选项:);scanf(%d,&num);switch(num)case 1: printf(请输入数据:n); printf( *n);

38、printf( 宿舍栋号 房间号 * 性别 班级 校区 宿舍类别n); printf( *n);scanf(%s%d%ld%s%s%s%s%d%d,sN.ssdh,&sN.fjh,&sN.*h,sN.name,sN.*b,sN.bj,&sN.phone,&sN.*q,&sN.sslb);N+;printf(nn新数据如下表:nn);Print();printf(nn * 是否继续追加 *n);printf(nn * 1.是 * 2.否 * nnn); printf(请输入选项:); scanf(%d,&num);switch(num)case 1:Appe();break; case 2:pr

39、intf( 按任意键返回主菜单!n);getch();return;case 2:printf( 按任意键返回主菜单!n);getch();break;void Modi() /*修改模块*/ int j,num1,num,k,t; long *uehao;char *ingming4;int flag;printf( *n);printf( * *n);printf( * 1.按*查找并修改 *n);printf( * *n);printf( * 2.按查找并修改 *n);printf( * *n);printf( * 3. 退 出 *n);printf( * *n);printf( *n)

40、; printf(nn 请输入你的选项:);scanf(%d,&num1);flag=0;if(num1=1)printf(n 请输入*:); scanf(%ld,&*uehao);for(j=0;jN;j+)if(sj.*h=*uehao)flag=1;k=j;break;if(num1=2)printf(n 请输入:); scanf(%s,*ingming);for(j=0;jN;j+)if(strcmp(,*ingming)=0)flag=1; k=j;break;if(num1=3)printf(n 请按任意键退出!n);getch();return;if(flag=0)

41、printf(nn 查无此人!nn);if(flag=1)printf( *n); printf( * *n); printf( * 1.修改宿舍栋号 *n); printf( * *n); printf( * 2.修改房间号 *n); printf( * *n); printf( * 3.修改性别 *n); printf( * *n); printf( * 4.修改班级 *n); printf( * *n); printf( * 5.修改 *n); printf( * *n); printf( * 6.修改校区 *n); printf( * *n); printf( * 7.修改宿类别 *n

42、); printf( * *n); printf( * 8.退出 *n); printf( * *n); printf( *n);printf(请输入选项:);scanf(%d,&t);switch(t)case 1:printf(修改为:);scanf(%s,sk.ssdh);Print();break; case 2:printf(修改为:);scanf(%d,&sk.fjh);Print();break; case 3:printf(修改为:);scanf(%s,sk.*b);Print();break; case 4:printf(修改为:);scanf(%s,sk.bj);Print

43、();break; case 5:printf(修改为:);scanf(%s,sk.phone);Print();break; case 6:printf(修改为:);scanf(%d,&sk.*q);Print();break; case 7:printf(修改为:);scanf(%d,&sk.sslb);Print();break; case 8:printf(n按任意键退出!n);return;printf(nn * 是否继续修改 *n); printf(nn * 1.是 * 2.否 * nnn); printf(请输入选项:); scanf(%d,&num);switch(num)ca

44、se 1: Modi();break;case 2:printf(n 按任意键返回主菜单!n);getch();break;void Dele() /*删除模块*/ int num,j,k,m,flag;long *uehao;char *ingming4;printf( *n);printf( * *n);printf( * 1.按*查找并删除 *n);printf( * *n);printf( * 2.按查找并删除 *n);printf( * *n);printf( * 3.退 出 *n);printf( * *n);printf( *n); printf(nn请输入你的选项:);scan

45、f(%d,&num);if(num=1)printf(nn请输入*:);scanf(%ld,&*uehao);flag=0;for(j=0;jN;j+)if(sj.*h=*uehao)flag=1;k=j,m=1;if(flag=0)printf( 查无结果! 请按任意键退出!n);if(num=2)printf(nn请输入:);scanf(%s,&*ingming);flag=0;for(j=0;jN;j+)if(strcmp(,*ingming)=0)flag=1;k=j,m=1;if(flag=0)printf(n 查无结果! 请按任意键退出!n);if(m=1)for(j

46、=k;jN-1;j+)sj=sj+1;N-;printf(删除后的数据如下:n);Print();printf(n 按任意键下一步!n);getch(); printf(nn * 是否继续删除* *n); printf(nn * 1.是 * 2.否 * nnn); printf(nn请输入选项:); scanf(%d,&num);switch(num)case 1: Dele();break; case 2:printf(nn 按任意键返回主菜单!n);getch();break;if(num=3)printf(n 按任意键返回主菜单!n);getch();void Query() /*查询模

47、块*/ int num,m,flag;struct stu *p; long *uehao;char *ingming4;while(1)printf( *n);printf( * *n);printf( * 1.按*查询 *n);printf( * *n);printf( * 2.按查询 *n);printf( * *n);printf( * 3.退 出 *n);printf( * *n);printf( *n);printf(nn请输入你的选项:);scanf(%d,&num);switch(num)case 1:printf(nn请输入要查询的同学的*:);scanf(%ld,&*ueh

48、ao);for(p=s;p*h)flag=1;printf(n 所查询的同学的信息如下:n);printf( *n); printf( 宿舍栋号 房间号 * 性别 班级 校区 宿舍类别n); printf( *n);printf( %-8s%-7d%-8ld%-9s%-7s%-7s%-13s%-8d%-4dn,p-ssdh,p-fjh,p-*h,p-name,p-*b,p-bj,p-phone,p-*q,p-sslb);break;if(flag=0)printf( n 查无此人!n);break;case 2:printf(请输入要查询的同学的:); scanf(%s,*ingming);

49、for(p=s;pname)=0)flag=1;printf(n 所查询的同学的信息如下:n); printf( *n); printf( 宿舍栋号 房间号 * 性别 班级 校区 宿舍类别n); printf( *n);printf( %-8s%-7d%-8ld%-9s%-7s%-7s%-13s%-8d%-4dn,p-ssdh,p-fjh,p-*h,p-name,p-*b,p-bj,p-phone,p-*q,p-sslb);break;if(flag=0)printf(n 查无此人!n);break;case 3:printf(nn 按任意键返回主菜单!n);getch();break;if(

50、num=3)break;printf(nn *是否继续查询*n);printf(nn * 1.是 * 2.否(退出) * nnn);printf(请输入选项:);scanf(%d,&m);if(m=2)break;void Total() /*统计模块*/ int j,t,*iaoqu,num=0,m,r,k=0,flag;char donghao4,banji12;struct stu p10;while(1)printf( *n);printf( * *n);printf( * 1.按校区、宿舍栋号统计该栋入住学生人数 *n);printf( * *n);printf( * 2.按班级统计

51、入住*栋的人数 *n);printf( * *n);printf( * 3.退出 *n);printf( * *n);printf( *n);printf(nn 请输入选项n);scanf(%d,&t);switch(t) case 1:printf(n请输入校区、宿舍栋号:n);scanf(%d%s,&*iaoqu,donghao);flag=0,num=0,k=0;for(j=0;jN;j+) if(sj.*q=*iaoqu&strcmp(sj.ssdh,donghao)=0)flag=1; num+; pk=sj; k+;printf(n 住在%d校区、%s栋宿舍的有%d个同学n,*ia

52、oqu,donghao,num);printf(n 这些同学的信息如下:n); printf( *n); printf( 宿舍栋号 房间号 * 性别 班级 校区 宿舍类别n); printf( *n); for(r=0;rk;r+)printf( %-8s%-7d%-8ld%-9s%-7s%-7s%-13s%-8d%-4dn,sr.ssdh,sr.fjh,sr.*h,,sr.*b,sr.bj,sr.phone,sr.*q,sr.sslb); if(flag=0)printf(nnn * 查无此信息! *nn);break;case 2:printf(n请输入班级、宿舍栋号:n);scanf(%s%s,ba

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论