资源描述
. .
课 程 设 计 报 告
课程名称 C语言程序设计
课题名称 学生宿舍管理系统
专 业
班 级
学 号
姓 名
指导教师
2012年6月19日
工程学院
课 程 设 计 任 务 书
课程名称 C语言程序设计
课 题 学生宿舍管理系统
专业班级
学生XX
学 号
指导教师
审 批
任务书下达日期 2021 年 6 月 19 日
任务完成日期 2021年 7 月 4 日
一、设计容与设计要求
1. 设计容:学生宿舍管理系统设计
涉及的知识点:
①掌握并熟练运用C语言的根本数据类型与各种表达式,程序的流程控制语句;
②掌握数组的根本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组
与字符串的关系以及字符串的简单处理。
③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
④掌握构造体的概念,构造体类型的定义,构造体变量的定义和初始化,构造体成员的表示,构造体变量的赋值含义,构造体与指针、函数的关系。
⑤掌握文件、文件类型指针的根本概念,熟练掌握文件的翻开与关闭以及文件的建立、读写等有关操作。
2. 设计要求:
1) 用C语言实现系统;利用构造体数组实现学生宿舍信息的数据构造设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。
2) 建立一个学生宿舍信息数据库,文件名为ssxxk.txt,并从该文件中读取数据;
3) 学生宿舍管理系统应能提供以下功能:
①系统以菜单方式工作:通过提示用户输入一个数字选项,调用相应的功能函数。
②显示功能:完成全部宿舍信息的显示,显示时按表格的形式,且应有表头;
③追加功能:完成一个〔或多个〕学生入住宿舍的登记〔追加记录〕,要求在追加过程中有相应的提示信息,完成追加后能重新显示;
④查询功能:要求可选择按指定学号和指定XX两种方式定位查询,查询的结果要求以表格的形式显示,假设查询不到应给出相应的提示信息。
⑤删除功能:要求可按指定的学号和指定的XX两种定位方式删除学生在宿舍的记录。
⑥修改功能:要求能按学号或按XX两种定位方式,且可以按用户要求修改记录中除学号和XX以外的指定容,并重新显示。
⑦)统计模块:能按指定的校区、宿舍栋号、统计入住该栋的学生人数,或统计指定的班级入住某栋的人数,并将统计的结果以及被统计的人员的信息用表格的形式显示;
⑧排序功能:按宿舍类别排序〔升序〕
⑨要求在删除模块、修改模块和查询模块中假设找不到所需的记录时,系统设计中应有一定的提示信息。
4) 说明:
(1) 要求将修改后的数据写入到一个新的数据文件nwesxxk.txt中。
(2) 对系统有兴趣的同学可以在实现根本要求的根底上,完善系统的其它功能。
5) 学生宿舍管理系统采用一个构造体数组,宿舍生信息数据库构造如下:
char ssdh[4]; /*宿舍栋号*/
int fjh; /*房间号*/
long xh /*学号*/
char name[10]; /*XX*/
char xb[4]; /*性别*/
char bj[12]; /*班级*/
char phone[12]; /**/
int xq; /*校区*/
int sslb; /*宿舍类别*/
注意:学号不能重复且不少于4位数字,各项字符串的长度要求在4~10之间,数据库应有10条或多于10条以上的记录。
6) 要求:
⑴ 要求每个学生必须独立思考,认真并按时完本钱课程设计所包含的所有容;
⑵ 要求学生必须按照课程设计报告的完整格式说明设计容,设计任务分析过程和算法,给出程序流程图和全部源程序;
⑶ 设计报告的完整格式应包括以下局部的容:
① 系统设计总体思路;
② 系统的主要功能;
③ 系统功能模块的划分〔要求画出总体模块框图〕;
④ 主要功能的实现和各个程序模块说明〔每个功能模块的框图、系统主模块的流程图,各个功能模块至少要有一个主要的流程图〕;
⑤ 程序调试过程及各模块调试中相应的局部截图;
⑥ 课程设计总结与体会〔不少于500字〕。
⑦ 课程设计参考文献;
⑧ 程序清单;
⑷ 课程设计周,凡规定的集中上机时间必须到机房调试程序;
⑸ 设计完成后必须参加辩论,并按要求演示程序,提交课程设计报告和有关电子文档。
7〕分组及安排
所选题目根据学生班号和学号确定,〔班号+学号〕% 6+1。如你的班号为01班、学号为01,那么所选题目号为:〔1+1〕%6+1=3,即课题号为3。
8〕成绩评定
①程序设计方案是否合理;②程序设计是否正确;③调试结果;④设计说明书的质量上下;⑤辩论时答复以下问题情况;⑥课程设计周表现情况;总评成绩记入“课程设计成绩评分表〞。
二、进度安排
第 19 周 星期一 8:00——12:00 讲课、布置任务
星期二 8:00——12:00 机房上机调试程序
星期三 14:00——18:00 机房上机调试程序
星期四 14:00——18:00 机房上机调试程序、辩论
附:课程设计报告排版、打印和装订要求
1. 课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分表。按A4大小的纸排版和打印。
2. 设计报告的页码从目录之后开场使用;
3. 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22磅。正文中程序清单〔英文〕用英文字体Times New Roman,单倍行间距。
4. 正文的容:一、课题的主要功能;二、课题的功能模块的划分〔要求画出模块图〕;三、主要功能的实现〔至少要有一个主要模块的流程图〕;四、程序调试〔各模块至少有一个程序调试的截图〕;五、总结〔不少于500字〕;六、参考文献;t、附件〔包含所有程序的原代码,且程序中应有必要的注释〕。八.正文总字数要求在5000字以上〔不含程序原代码〕。
5.设计报告中任务书和评分表不需重新排版。
目 录
一、系统总体设计思路:1
Ⅰ.总体功能设计:1
Ⅱ.各模块功能设计:1
二.系统总体模块框图:3
三、系统总流程图及各模块流程图4
Ⅰ.总流程图:4
Ⅱ.各模块流程图:6
四、系统各模块主要功能的实现12
I.显示模块12
II.追加模块12
III.修改模块12
IV.删除模块13
V.查询模块13
VI.统计模块:13
VII.排序模块:14
五.程序调试14
I.显示模块:14
II.追加程序:16
III.修改程序:20
IV.删除模块:23
V.查询模块:26
VI.统计模块:28
VII.排序模块:31
VIII.退出模块:32
六.总结与体会33
七.参考文献:34
八.附件34
. .word.zl.
. .
一、系统总体设计思路:
Ⅰ.总体功能设计:
学生宿舍管理系统存放了每个学生的学号、XX、性别、班级、及所住的宿舍栋号、房间号、校区、宿舍类别的数据库。每个人的信息定义在一个构造体变量中。其构造如下:
系统通过显示程序、追加程序、查询程序、删除程序、修改程序、统计程序、排序程序来实现学生信息管理系统的显示功能、追加功能、查询功能、删除功能、修改功能、统计功能、排序功能。各个功能的调用通过主函数中的switch语句来实现。
switch(sele)
{
case 1:Disp();break;〔显示模块〕
case 2:Appe();break;〔追加模块〕
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;〔退出模块〕
}
Ⅱ.各模块功能设计:
ⅰ.显示模块:
通过设计一个模块,来实现学生信息的显示。以便于浏览学生的信息。
ⅱ.追加模块:
通过设计一个模块,当要参加新的学生的信息的时候,来实现新学生信息的参加。
iii.查询模块:
通过设计一个模块,这个模块可以按学生的学号、XX来查询学生所有的信息,并显示学生的所有信息,以便查询者阅读。
iv.删除模块:
通过设计一个模块,当输入一个学生的学号或者XX的时候,可以通过这个模块,将输入学号或者XX的学生的所有信息从数据库中删除出去。以后,这个学生的信息将不再会出现再数据库中。
v.修改模块:
通过设计一个模块,当某个人的信息发生变化的时候,可以通过修改模块来进展修改。修改模块时一具有多级子菜单的摸块。使用十分的方便、灵活。
vi.统计模块:
通过设计一个模块,能按指定的校区、宿舍栋号统计入住该栋的学生人数,或统计制指定的班级入住某栋的人数,并能将统计的结果以及统计的人员的信息用表格显示出来,是浏览者一目了然。
vii.排序模块:
通过设计一个模块,来实现数据库的信息按宿舍类别的升序排列。并显示所有信息,使浏览者一目了然。
二.系统总体模块框图:
主函数
显示模块
追加模块
查询模块
删除模块
排序模块
退出模块
统计模块
退出
修改模块
三、系统总流程图及各模块流程图
Ⅰ.总流程图:
进入系统
输入
Sele=?
追加程序
删除程序
查询程序
统计程序
显示程序
退出程序
输出
Sele=8
Sele=4
Sele=2
Sele=5
Sele=7
Sele=1
排序程序
Sele=6
修改程序
Sele=3
开场
完毕
Ⅱ.各模块流程图:
i.显示模块:
进入
输入选项xuanx
M=?
输出所有信息
退出
M=1
M=2
ii.追加模块:
进入
输入选项
num=?
输入信息
输出所有信息
退出
num=2
num=1
是否继续追加
否
是
iii.修改模块:
进入
输入选项
t=?
修改宿舍栋号
修改性别
修改
修改校区
退出程序
输入信息
t=8
t=3
t=1
t=7
修改宿舍类别
t=6
修改房间号
t=2
修改班级
num=??
num=3
按学号查找并修改
按XX查找并修改
num=1
num=2
输出所有信息
t=4
t=5
选择
是否继续修改?
是
否
iv.删除模块:
进入
输入选项要查找的信息
查找要删除的学生信息
删除学生信息
输出删除后的学生信息
是否继续删除
退出
查无此人
flag=?
否
是
flag=0
flag=1
v.查询模块:
进入
输入选项
按学号查找号
按XX查找号
查找学生
num=1
num=3
num=2
flag=?
是否继续查询
查无此人!!!
flag=1
输出学生信息
flag=0
退出
是
否
vi.统计模块:
进入
输入选项
按校区、宿舍栋号统计该栋入住学生人数
按班级统计入住某栋的人数
输入统计的人数和这些学生的信息
是否继续统计
退出
否
是
t=1
t=2
t=3
vii.排序模块:
进入
输入选项
按宿舍类别进展升序排列
输出排序后的学生信息
退出
num=2
num=1
四、系统各模块主要功能的实现
I.显示模块
程序通过一个printf函数把输出信息的表头打印出来,再通过一个for循环把每一个学生的信息输出,在输出的时候,通过调用Print函数〔一个专门用来输出的函数,且是用指向构造体数组的指针输出学生信息〕输出所有学生信息。
II.追加模块
构造体中间的成员之间用空格来隔开输入,通过回车键来实现追加。且追加一个学生信息后可选择继续追加或退出。
III.修改模块
程序定义一个变量num1,来确定到底输入的是学号还是XX。通过一个for循环来确定数据库到底是否含有此人的信息。如果含有此人的信息,那么把此人的序号赋值给变量k,把标识变量flag赋值为1;如果不含有此人信息,那么标识变量flag值仍为0。再通过if语句,如果标识变量flag为0,那么打印“查无此人!!!〞。如果flag的值为1怎进入下一级菜单,通过switch语句来选择是修改这个人的宿舍栋号、房间号、性别、班级、、校区还是宿舍类别。修改完成后通过调用Print函数输出修改后的新的所有学生信息。每次修改成功之后可通过选择“是〞或者“否〞来选择是否继续修改学生信息。
IV.删除模块
程序通过定义一个变量num,来确定输入到底是学号还是XX,或者退出删除模块。通过一个for循环来确定数据库到底是否含有此人的信息。如果含有此人的信息,那么通过一个for循环,把这个以后的信息依次前推来覆盖这个人的信息,而实现此人信息的删除。如果不含此人的信息,那么打印“查无此人!!!〞。每次删除完毕之后通过选择“是〞或者“否〞来选择是否继续删除学生信息。
V.查询模块
程序通过输入一个变量num来实现是按学号还是按XX来查找,或者退出查询。当输入完学号或者XX的时候,再通过一个for循环来实现此人信息的查找。当含有这个人的信息的时候,把标识变量flag赋值为1,并立即输出此人信息。如果不含这个人的信息的时候,标识变量flag仍为0。再通过一个if 语句,如果标识变量flag为0,那么打印“查无此人!!!〞。用while循环保证程序在模块中查询。每次查询完毕之后通过选择“是〞或者“否〞来选择是否继续查询学生信息。
VI.统计模块:
程序通过输入一个变量t来选择是按校区、宿舍栋号统计该栋入住学生人数还是按班级统计入住某栋的人数,或者退出统计模块。再通过一个for循环来实现目标信息的查找。定义标识变量flag,在for循环查找信息前赋值为零。当每找到一个目标信息的时,把标识变量flag赋值为1,用变量num累加人数并并把此人信息赋给另一个构造体成员。如果不含这个人的信息的时,标识变量flag仍为0。最后输出统计的人数并通过for语句输出这些学生的信息,再通过一个if 语句,如果标识变量flag为0,那么打印出“查无此信息!!!〞。每次统计完毕之后可通过选择“是〞或者“否〞来选择是否继续统计其他学的信息信息。
VII.排序模块:
程序运用起泡排序方法〔从第一个数开场依次对相邻两数进展比较,如次序对那么不进展任何操作;如次序不对那么使这两个数交换位置。第一遍的〔N-1〕次比较后,最大数已放在最后,第二遍只需考虑〔N-1〕个数,以此类推直到第〔N-1〕遍后就可以完成排序。〕对所有学生按宿舍类别进展升序排列,并通过调用Print函数输出排序后的数据。
五.程序调试
如果运行程序,将出现如下的界面,即程序主菜单:
I.显示模块:
输入1,并按回车键,程序将进入显示模块的菜单〔二级菜单〕,界面如下:
如果输入1并按回车,将显示出所有学生的所有信息,其输出界面如下:
如果按任意键将退出,退回主菜单:
II.追加程序:
在主菜单下输入2并回车,将进入追加程序菜单,其界面如下:
输入2并回车,将开场进展追加学生信息:
输入学生信息:
输入学生信息后,按回车将自动显示出追加的及原来的所有学生信息,并显示出是否继续追加学生信息,其界面如下:
输入1并按回车,即选择继续追加学生信息,将出现追加程序的菜单:
输入另一个学生的信息并回车,将自动显示出所有学生的信息,其界面如下:
输入2并按回车,将显示出提示语“按任意键返回主菜单〞,界面如下:
按任意键将退出追加程序返回主菜单。
III.修改程序:
在主菜单下输入3并回车进入修改程序下菜单:
输入1并回车,即按学号查找并修改,程序将会提示输入学号:
输入学号,如2112,回车,显示修改程序的下一级菜单,即修改选项:
输入选择项,如2,将会提示进入下一步,即修改信息:
输入修改信息并回车,将显示出经修改后所有学生的新信息,并出现提示语句选项,是否继续修改,其界面如下:
输入1并回车,即选择继续修改,将进入修改程序下的主菜单:
输入2并回车,即选择按XX查找并修改。修改完成后选择继续修改,并按学号查找并修改,随便输入一个学号〔即数据库不存在的学生信息〕,将会显示提示信息——查无此人!!!其界面如下:
输入2并回车,即选择退出修改程序,程序将完成修改并返回主菜单。
IV.删除模块:
在主菜单下输入2并回车,将进入删除程序的菜单下,其界面如下:
输入1并回车,即选择按学号查找并删除,并输入一个学号回车,如输入2112,将自动显示出删除后新的学生信息,即不在存在学号为2112的学生信息:
按任意键将进入下一步,即选择是否继续修改:
输入1并回车,即选择继续修改,将显示出删除程序的选择菜单:
输入2,即按XX查找并修改,随意输入一个XX,即数据库不存在的学生信息,回车将显示出提示信息:查无结果! 其界面如下:
V.查询模块:
在主菜单下输入5并回车,进入查询程序的选择菜单下,其界面如下:
输入1并回车,即选择按学号查询,将出现提示语句,提示使用者输入学生学号。输入一个学生学号,如2021,回车,将显示出此学生的所有信息。并且提示使用者是否选择继续查询,其界面如下:
选择继续查询将回到查询程序的选择菜单下。在查询程序的菜单下输入2并回车,即选择按XX查询,输入一个学生XX并回车,如司马懿〔追加的学生信息〕,将出现此人的所有信息,即也证明追加学生信息成功:
选择继续查询,并且按学号查询〔或按XX查询〕,随便输入一个数据,即数据库不存在的,如学号8970,将出现提示语句----查无此人!!!
选择“否〞,即不继续查询,将完成信息的查询并退出查询程序返回主菜单。
VI.统计模块:
在主菜单下输入6并回车,将进入统计模块的菜单下:
输入1,即按校区、宿舍栋号统计该栋入住学生人数,并提示使用者输入相关信息:
输入相关信息,如0,A〔中间用空格〕,回车将统计出人数和显示出这些学生的所有信息,并提示使用者下一步是否继续统计其他的数据:
选择继续统计将返回统计程序下的菜单,输入2并回车,即选择按班级统计入住某栋的人数,并提示输入相关信息:
输入相关信息并回车,将显示出统计出的人数和这些学生的所有信息:
选择继续统计返回菜单,选择1、2任一项,如选择1,即选择按班级统计入住某栋的人数,随意输入数据,即数据库不存在的,回车,将显示提示语句---查无此信息!其界面如下:
选择“否〞完成统计返回主菜单。
VII.排序模块:
在主菜单下输入7并回车进入排序程序下的菜单:
输入2并回车,即选择按宿舍类别排列〔升序〕,将显示排序后的所有学生信息:
按任意键返回主菜单。
VIII.退出模块:
在主菜单下输入8并回车将显示出退出程序的界面:
继续按任意键将退出整个程序,即退出学生宿舍管理系统。
六.总结与体会
说过“实践是检验真理的唯一标准〞。通过几天的课程设计,通过实践来理解和稳固理论知识,使我对C语言程序设计有了一个更加深入的认识,从刚开场的初略了解到有了比较深入的认识,能够比较灵活的运用。C语言是一门比较灵活、有趣而且实践性非常强的课程,单从理论课上是难以领略到它的精华,我们只有从它的实践运用中,才能体会到了学习C语言的乐趣和好处。在课程设计的这段时间里,我学到了许多东西,同时也使我对以前学的东西有了一个更深更透彻的理解。比方:能够灵活的运用循环,switch语句,构造体的定义、引用、使用,指针的定义、使用等。虽然对C语言编程还有许多不明白,但这段时间我真的获易匪浅,原来理论课上一些没弄懂知识点通过上机实践差不多都弄懂了。课程设计也就是学以致用嘛,让自己了解自己所学怎样用于实际应用中。正所谓实践出真知,在实践中我们才能发现自己所存在的问题和缺乏。
在编程过程中总是出现这个或那个问题,比方说总是在scanf语句中少掉地址符“&〞,最终导致程序无法运行。这也源于自己平时没养成好的习惯,初心大意吧,以后得多多注意啊。在编程过程出现诸多问题是免不了的,不过还好最终通过与同学讨论或请教教师都一一解决了。为了与同学讨论解决问题,我甚至放弃了使用自己的电脑而去电子阅览室上机编程。在这次课程设计中,我再一次深深地体会到了了与别人合作交流的重要性,正所谓“众人拾柴火焰高〞。虽说每个人独立编程,但总少不了遇到问题,遇到问题就得解决啊。在与同学的交流讨论中,取长补短,不仅别人帮我解决了问题,同样我也帮别人解决了问题。
我感觉自己的程序还算编得不错,清楚美观,还许多特色。为了美观我特意把所有的界面上的菜单调到了中间。我自己定义了一个函数用于输出数据,而且是通过指针输出的。所以说整个程序所学的知识差不多我都用到了,用些知识可能不需要,但我还是想方法把它用进去,表达它的作用。可是遗憾的是最后程序通过我的修修改改,最终的辩论却出现了一些问题,有些不能运行。不过没什么,现在问题已经解决了,辩论出问题了,又何必在乎那个结果呢?应该看重的是整个过程。
虽然课程设计很复杂,枯燥乏味,但我从没想到过放弃。高考都经历过来了,这又算得了什么呢?遇到困难时,不要轻言放弃,有毅力能做好事情。当然c语言课程设计确实很难,但是世上无难事只怕有心人,紧要关头不放弃,绝望就会变成希望。任何困难都只不过是纸老虎,相信自己就一定能成功。
课程设计也就是学以致用嘛,让自己了解自己所学怎样用于实际应用中。正所谓实践出真知,在实践中我们才能发现自己所存在的问题和缺乏。C语言的学习更是为我们以后学习的微机原理以及单片机原理奠定了根底。我们的专业是电子科学与技术,主要是跟电子产品打交道,后面用到C语言的地方还有许多,所以说,学好C语言,为我们以后专业知识的学习有很大好处。在学习C语言中更使我体会到了学习计算机技术的乐趣,我将更加努力多学,学好计算机技术。
七.参考文献:
1. ?C语言程序设计? 主编 世清 大学
2. ?C语言程序设计实践教程? 主编 世清 大学
八.附件
#include "stdio.h"
#include "string.h"
#include "conio.h"
int N=0;
struct stu
{ char ssdh[4]; /*宿舍栋号*/
int fjh; /*房间号*/
long xh; /*学号*/
char name[10]; /*XX*/
char xb[4]; /*性别*/
char bj[12]; /*班级*/
char phone[12]; /**/
int xq; /*校区*/
int sslb; /*宿舍类别*/
}s[40];
void Re_file()
{
FILE *fp;
fp=fopen("G:\\课题2\\ssxxk.txt","r");
while( fscanf(fp,"%s\n%d\n%ld\n%s\n%s\n%s\n%s\n%d\n%d\n",s[N].ssdh,&s[N].fjh,&s[N].xh,s[N].name,s[N].xb,s[N].bj,s[N].phone,&s[N].xq,&s[N].sslb)!=EOF) N++;
fclose(fp);
}
void Wr_file()
{int i;
FILE *fp;
fp=fopen("G:\\课题2\\newssxxk.txt","w");
for(i=0;i<N;i++)
fprintf(fp,"%s\n%d\n%ld\n%s\n%s\n%s\n%s\n%d\n%d\n",s[i].ssdh,s[i].fjh,s[i].xh,s[i].name,s[i].xb,s[i].bj,s[i].phone,s[i].xq,s[i].sslb);
fclose(fp);
}
void Print() /*输出函数*/
{
struct stu *p;
printf(" ***************************************************************************\n");
printf(" 宿舍栋号 房间号 学号 XX 性别 班级 校区 宿舍类别\n");
printf(" ***************************************************************************\n");
for(p=s;p<s+N;p++)
printf(" %-8s%-7d%-8ld%-9s%-7s%-7s%-13s%-8d%-4d\n",p->ssdh,p->fjh,p->xh,p->name,p->xb,p->bj,p->phone,p->xq,p->sslb);
}
void Disp() /*显示模块*/
{
int num;
printf(" *****************************************\n");
printf(" ** **\n");
printf(" ** 1.显示学生信息 **\n");
printf(" ** **\n");
printf(" ** 2.退 出 **\n");
printf(" ** **\n");
printf(" *****************************************\n");
printf("请选择:");
scanf("%d",&num);
switch(num)
{
case 1:
Print();
case 2:
printf("\n\n请按任意键退出!");getch();}
}
void Appe() /*追加模块*/
{
int num;
printf(" *****************************************\n");
printf(" ** **\n");
printf(" ** 1.追加学生信息 **\n");
printf(" ** **\n");
printf(" ** 2.退 出 **\n");
printf(" ** **\n");
printf(" *****************************************\n");
printf("\n\n 请输入选项:");
scanf("%d",&num);
switch(num)
{
case 1:
printf("请输入数据:\n");
printf(" ***************************************************************************\n");
printf(" 宿舍栋号 房间号 学号 XX 性别 班级 校区 宿舍类别\n");
printf(" ***************************************************************************\n");
{
scanf("%s%d%ld%s%s%s%s%d%d",s[N].ssdh,&s[N].fjh,&s[N].xh,s[N].name,s[N].xb,s[N].bj,&s[N].phone,&s[N].xq,&s[N].sslb);
N++;
}
printf("\n\n新数据如下表:\n\n");
Print();
printf("\n\n *** 是否继续追加??? ***\n");
printf("\n\n *** 1.是 *** 2.否 *** \n\n\n");
printf("请输入选项:");
scanf("%d",&num);
switch(num)
{
case 1:Appe();break;
case 2:printf(" 按任意键返回主菜单!\n");
getch();
return;
}
case 2:printf(" 按任意键返回主菜单!\n");
getch();
break;
}
}
void Modi() /*修改模块*/
{
int j,num1,num,k,t;
long xuehao;
char xingming[4];
int flag;
printf(" ********************************************\n");
printf(" ** **\n");
printf(" ** 1.按学号查找并修改 **\n");
printf(" ** **\n");
printf(" ** 2.按XX查找并修改 **\n");
printf(" ** **\n");
printf(" ** 3. 退 出 **\n");
printf(" ** **\n");
printf(" ********************************************\n");
printf("\n\n 请输入你的选项:");
scanf("%d",&num1);
flag=0;
if(num1==1)
{
printf("\n 请输入学号:");
scanf("%ld",&xuehao);
for(j=0;j<N;j++)
{
if(s[j].xh==xuehao)
{
flag=1;
k=j;
break;
}
}
}
if(num1==2)
{
printf("\n 请输入XX:");
scanf("%s",xingmin
展开阅读全文