ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:362.53KB ,
资源ID:18364984      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18364984.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言课程设计报告军训管理系统Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言课程设计报告军训管理系统Word下载.docx

1、int cla; /*班级*/int ying; /*所分入营号*/int lian; /*所分入连号*/3、模块功能说明第一录入模块:调用input(),对军训学生信息进行录入以及保存。第二浏览模块:调用scan(),浏览军训学生信息(可按录入、学号、班级、营号方式查看)。第三查询模块:调用find(),按学号、姓名、班级、营号查询军训学生信息。第四修改模块:调用change(),对某一学生信息进行修改操作。第五删除模块:调用del(),对某一学生信息进行删除操作。第六添加模块:调用add(),添加学生信息。五、详细设计及运行结果1.函数之间调用关系图2.部分模块流程图及运行结果图示 登陆界

2、面主函数流程图主页界面(管理员界面)录入模块 录入界面浏览模块(排序) 浏览界面查找模块查找界面修改模块修改界面六、调试情况,设计技巧及体会 1、测试数据 对功能1(密码设置)的测试:选择方式一,不需密码直接进入学生查看界面;选择方式二,输入一组错误账号密码系统显示“密码有误!请重新输入密码!”,三次错误后将退出系统。在输入正确密码后,系统显示“登陆成功”并进入主界面。对功能2(录入学生信息)的测试:按照先后顺序分别输入学生信息:学号 姓名 专业 班级 营号 连号88 huan wl 5 3 223 yeye sm 2 5 1 2 huaw tg 3 2 345 lvwu wl 5 5 2 对

3、功能3(浏览学生信息)的测试:按照录入顺序分别输出学生信息:同时屏幕显示“以上排序由录入数据的先后决定。也可选择以下为关键词升序查看:1.学号 2.班级 3.所编入营号 0.返回主界面选择1按照学号由小到大输出学生信息选择2按照班级由小到大输出学生信息选择3按照营号由小到大输出学生信息选择0返回主界面对功能4(查询学生信息)的测试:查询5营的信息,系统显示为:对功能5(修改学生信息)的测试:输入要修改学生的学号11:,系统显示“对不起!您所查找的人不存在”。输入修改学生学号:88,系统显示出该学生信息。选择修改学号为:13,系统显“已成功保存!”。对功能6(删除学生信息)的测试:输入要删除学生

4、的学号:12,系统显示“删除失败!您所查找的人信息不存在!输入要删除的学生的学号:23,系统显示“删除成功!已成功保存!对功能7(添加学生信息)的测试:16 nana rj 4 1 1230 nini aq 1 4 2 对功能8(退出系统)的测试:选择退出系统,程序关闭。 2、对调试中主要问题进行总结 调试过程中,经常会出现输入或显示为乱码的情况,这往往是上下定义的数据类型不同或定义数组长度不够所造成的。有时候程序中还会出现录入五个数据而只显示四个的情况,这也往往是由于定义的结构体数组长度过低所造成的。像这类问题只要把数据类型都定义成字符型,并且定义一个合理的数组长度往往都能解决。在调试过程中

5、我遇到最大的问题出现在删除模块。在运用“rt+”打开文件并对某一数据进行删除后,往往显示会多显示一行数据。这是由于“rt+”写数据时只会覆盖数据而不会清除原文件数据,因此文件最后一行数据总会保留在原文件中。后来我先用“rt”打开文件并读取文件中的数据,然后再用“wt”打开原文件将删除后的数据重新写入文件,最终检测运行成功。 3、对自己设计进行评价,指出合理和不足之处,提出改进的方案 本程序拥有很多的优点:第一,它具有作为一个宿舍管理系统的各个功能,包括录入信息、添加信息、修改信息、删除信息、查询信息、统计信息六大主要功能。可以方便的进行住宿学生信息的管理。第二,它的各个功能模块在实现时非常方便

6、,例如:录入和添加学生信息可以自己控制录入和添加的人数;统计学生信息可以分学号、班级、专业等进行统计等等。第三,它也具有安全性,在进入学生信息管理系统之前要求输入账号和密码,所以非常安全,不会造成信息的外泄。当然程序也有他的不足之处,比如密码不能回显“*”,这样很容易造成密码的丢失。可以在密码模块中改为回显“*”形式,并且可以对密码进行算法加密,这样更能确保信息的安全。 4、在设计过程中的感受 “万事开头难”这句话在我编写程序的过程中得到了真正的体现。在最初编写的几天里出现了这样那样的错误一大堆,这主要是由于我对基础知识掌握不扎实所造成的。但是随后几天里,我对课本知识进行了回顾并不时的向老师和

7、同学进行请教,慢慢的对编写程序也开始得心应手起来。程序的编写总归是一件费时费力的事情,但只要我们认真编写和调试最后总能成功。 短短的两周实习时间我收获颇多,我相信经过这次实习必将为我以后的深入学习打下扎实的基础。七、源程序清单#includeconio.hstdlib.hstring.hctype.hio.h#define N sizeof(struct st_type)void input();void save(struct st_type *head);struct st_type *openf();void find();void change();void del();void ad

8、d();void scan(); int num; /*学生学号*/ char name20; char major15; int cla; /*班级*/ int ying; /*所分入营号*/ int lian; /*所分入连号*/;struct st_type struct student_type massage; struct st_type *next;void main(void) int choice,i,n; char s10; printf(nnnnnnttt *学生军训信息管理系统*n);nnnnn欢迎进入学生军训信息管理系统!nnt 请选择进入方式:ttt 1.普通用户登

9、入nttt 2.管理员登入nnttttttt nttttttt / ntttttttn scanf(%d,&choice); switch(choice) case 1: printf(登入成功! printf(按任意键进入系统。 getch(); do system(cls printf(nn *军训信息管理系统*nn 1.浏览学生信息n 2.查询学生信息n 0.退出系统nn请选择.n scanf( switch(choice) case 1: scan(); break; case 2: find(); case 0: exit(0); if(choice5) printf(没有此项选项!

10、 while(1); break; case 2:请输入密码(三次错误后将关闭程序): for(i=1;i4;i+) for(n=0;n printf( while(1); exit(0); else printf(n密码错误!n请重新输入密码! void input() /*录入信息模块*/ char a; struct st_type *head,*p1,*p2; system( head=p2=(struct st_type *)malloc(N); p1=(struct st_type *)malloc(N);请输入学生学号:p1-massage.num);请输入学生姓名:%s,p1-

11、massage.name);请输入学生专业:massage.major);请输入学生班级:massage.cla);请输入学生所分入营号:massage.ying);请输入学生所分入连号:massage.lian); while(p1-massage.num!=0) p2-next=p1; p2=p1; p1=(struct st_type *)malloc(N);n是否继续输入?(是选y,否选n)n fflush(stdin); scanf(%ca); if(a=n) break; system( p2-next=NULL; free(p1); save(head);void save(st

12、ruct st_type *head) /*保存信息*/ struct st_type *p; FILE *fp; fp=fopen(1.txt,wt if(fp=NULL)不能打开文件,存储失败!输入任意键返回主界面。 getch(); p=head-next; while(p!=NULL) fwrite(p,sizeof(struct student_type),1,fp); p=p- fclose(fp); getch();struct st_type *openf() /*打开文件*/ struct st_type *p,*p1,*head; head=p1=(struct st_ty

13、pe *)malloc(N); p=(struct st_type *)malloc(N);rt while(fread(p,sizeof(struct student_type),1,fp) p1-next=p; p1=p; p=(struct st_type *)malloc(N); p1- free(p); return head;void scan() /*浏览信息模块*/ int choice; struct st_type *p, *q, t, *r,*head; head=openf(); 学生学号 姓名 专业 班级 分入营号 连号nn %d %s %s %d %d %dn,p-

14、massage.num,p-massage.name,p-massage.major,p-massage.cla,p-massage.ying,p-以上排序由录入数据的先后决定。n也可以选择以下为关键词升序查看: 1.学号n 2.班级n 3.所编入营号n 0.返回主界面nn if(choice3)请重新选择.n if(choice=0) return; case 1: for(p = head- p; p = p-next) for(q = p- q; q = q- if(p-massage.num q-massage.num) t = *p; *p = *q; *q = t; r = p-

15、p-next = q- q-next = r; p = head- for(q = p- if(p-massage.cla massage.cla) t = *p; *p = *q; *q = t; r = p- p- q- p = head- break; case 3:massage.yingmassage.ying)nn输入任意键返回主界面。void find() /*查询信息模块*/ int n,choice,i=0; struct st_type *p,*head; 您可以选择以下为关键词进行查找: 2.姓名n 3.班级n 4.所编入营号n4)printf(请输入要查找的学生学号: scanf(n); printf( while(p!massage.num=n)

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

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