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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计学生宿舍管理系统.docx

1、C语言课程设计学生宿舍管理系统C语言课程设计报告题 目 学牛宿舍管理系统系部名称: 专业名称: 班 级:学 号:学生姓名指导教师:时 间:课程设计目的1.设计一个ubuntu下的学生宿舍管理系统2.掌握用C语言定义单链表结构,并实现其创建、插入、删除等基本操作。、课程设计内容用C语言编写“学生宿舍管理系统”,要求如下:1.创建链表,录入数据。2.数据的读写操作。3.数据的更新操作。4.数据的删除和插入。5.请你要求对数据进行查找。6.按要求排序。7.设计总体菜单界面。三、实验要求1、 录入数据学生的基本信息,包括学号、姓名、性别、年龄、专业、班级等。宿舍楼的基本信息,包括宿舍楼号、学生所住的房

2、间号和宿舍床位号等。2、 数据存储信息的录入要求用链表,把输入的信息要求存储到指定文件夹中,以便随时查看,也可供程序调用,方便操作人员不用重复输入数据。3、数据的更新更新包括插入、删除、修改。删除分根据学号删除和根据学生的楼层信息删除。5、 数据的查询查询可以根据学号和宿舍信息不同方面进行查询,方便操作者使用6、 数据的排序操作者可以使所输入的信息按学号排序。7、 数据的统计按整体统计,统计所有学生人数,男生人数和女生人数。四、概要设计1 系统结构图(功能模块图)2.功能模块说明:(1).数据录入:创建单链表,调用Initnode()函数申请头结点,在调用append(),在调用Write_t

3、o_File()函数将信息写入文件中,(2)插入模块:先将文件信息读出,再调用息。(3)插入模块:先将文件信息读出,再调用需要的信息删除。(4)修改模块:先将文件信息读出,再调用修改。(5)查询模块:先将文件信息读出,再调用insert()函数,可以向文件中插入信 del()函数,可以将输入错误或者 modify()函数,将输入错误的信息 search(),在search()中有调用两个数,一个按照宿舍信息查询sushe_search(),需要楼号和宿舍号, 一个按照生信息查询xuehao_search()需要学生学号或者姓名。排序模块:先将文件信息读出,再调用 sort (),按照学生学号排

4、序,拍完续 没有直接写入文件,如果要直接写入调用文件读入函数Write_to_File().统计模块:先将文件信息读出,再调用 tongji()函数,统计了女生人数和男生人数,还统计了总人数.五详细过程和运行结果:删除模块插入模块开始头插入学生信息输入插入的学生信息将其入栈,即将插入的学 生信息插到了最前面查找模块开始修改模块组织循环,扫描存储学 生信息的链表表修改学生信息排序模块匚 开始组织循环,扫描存储学生信息的链表选出学号最小的学生,与第学生交换存储位置在余下的学生中选出学号最小的学生与第二个学生交换存储位置以此类推,直至排序完成统计模块开始组织循环,扫描存储学 生信息的链表表结束六.参

5、考文献:C语言程序设计: 王曙燕七.源代码#i nclude #i nclude #in elude #in elude typedef struct Stude ntintnum;/*学号*/charn ame15;/*姓名*/charse x;/*性别*/charzhua nye20;/*专业*/intlounum;/*楼号*/intsushenum;/*宿舍号*/intchuangnum;/*床号*/struct Stude nt *n ext;Stu;void Write_to_File(Stu *L)FILE *fp;Stu *p;/*将信息写入文件*/fp=fope n(sushe

6、.txt,w);if(fp=NULL)printf(打开失败!);getchar();getchar();exit(0);p=L-n ext;while(p)fprin tf(fp,%d %s %c %s %d %d %dn,p- num,p- name,p-sex, p-zhua nye,p-l ounu m,p-sushe nu m,p-chua ngnu m);p=p-n ext;fclose(fp);void InitStu(Stu *h) /* 创建头结点 */(*h)=(Stu *)malloc(sizeof(Stu);if(h=NULL)printf(创建失败!);getchar

7、();getchar();exit(0);(*h)- next=NULL;/*录入学生信息*/void appe nd()Stu *head;Stu *p,*q;char ch;In itStu(&head);q=head;while(1)system(clear);printf(请录入学生信息n);p=(Stu *)malloc(sizeof(Stu);printf(n 学号:);scan f(%d, &p- num);printf(n 姓名:”);sea nf(%s,p-n ame);printf(n 性别:);scanf(” %e,&p-sex);printf(n 专业:);sca nf

8、(%s,p-zhua nye);printf(n 楼号:);scan f(%d, &p-lou num);printf(n 宿舍号:);sca nf(%d, &p-sushe nu m);printf(n 床号:);sca nf(%d, &p-chua ngnu m);p_n ext=q _n ext;q_n ext=p;q=p;printf(”按任意键继续录入,按 0结束录入”);getchar(); ch=getchar();if(ch=0)break;Write_to_File(head);/*读出文件信息*/void Read_from_File(Stu *h)FILE *fp;Stu

9、 *p,*q;int i;fp=fope n(sushe.txt,r);if(fp=NULL)printf(打开失败);exit(0);q=h;while(!feof(fp)p=(Stu *)malloc(sizeof(Stu);i=fsca nf(fp,%d %s %c %s %d %d %dn, &p- nu m,p- name,&p-sex,p-zhua nye,& p-l ounum,& p-sushe num,&p-chua ngnu m);if(i = EOF)break;q_n ext=p;q=p;q-next = NULL;fclose(fp);Stu *head = NULL

10、;Stu *p;In itStu(&head);Read_from_File(head);/prin tf(ok!n);p=head-n ext;system(clear);if(!p)printf(无内容!);printf(n 按任意键键返回n);getchar();getchar();return 0;printf(学号 姓名 性别 专业 楼号 宿舍号 床号nn);while(p)prin tf(%-8d%-10s%-6c%-14s%-8d%-8d%-5dn,p- nu m,p- name,p-sex,p-zhuanye,p-l ounu m,p-sushe nu m,p-chua ngn

11、u m);p=p-n ext;printf(n 按任意键返回n);getchar();getchar();return 1;void del() /*删除学生信息*/Stu *head;Stu *p,*q;char ch,h;int N;int lounu m,sushe nu m,chua ngnum;In itStu(&head);Read_from_File(head);q=head;p=head-n ext;dosystem(clear);prin tf(n1.根据学生学号删除n);prin tf(n2.根据宿舍信息删除n);prin tf(n请选择删除方式::);scanf(” %c

12、, & ch);while(1) if(ch=1)printf(n 请输入学生学号:”);scan f(%d,&N);while(p)if(p-num=N)q_n ext=p-n ext;printf(”删除成功!); break;q=p;p=p-n ext;if(p=NULL)printf(n 未找到此学生);break;elsefree(p);else if(ch=2)printf(n 请输入宿舍信息(楼号宿舍床号):”);sca nf(%d %d %d,&lounum,& sushe num,& chua ngnu m);while(p!=NULL)&if(p-l ounum=lounu

13、m & p-sushe num=sushe nump-chua ngnum)q_n ext=p-n ext;printf(”删除成功!);break;q=p;p=p-n ext;if(p=NULL)printf(未找到此学生”);break;elsefree(p);break;printf(nn 是否继续:Y/N ?);scanf(” c, & h);while(h=Y |h=y);Write_to_File(head);void insert() /*用头插法插入学生信息*/Stu *p , *head;char ch;In itStu(&head);Read_from_File(head)

14、;system(clear);dop=(Stu*)malloc(sizeof(Stu);p- next=NULL;:n );prin tf(tt 请输入插入的学生信息printf(t 学号:”);scan f(%d,&p-n um);printf(nt 姓名:);sca nf(%s,p-n ame);printf(nt 性别:);scanf(” %c,&p-sex);printf(nt 专业:”);sea nf(%s,p-zhua ny e);printf(nt 楼号:);scan f(%d,&p-lou nu m);printf(nt 宿舍号:);sca nf(%d,&p-sushe nu

15、m);printf(nt 床号:);sca nf(%d,&p-chua ngnu m);p-next = head-n ext;head-n ext = p;printf(nn 是否继续插入?Y/N);scanf(” %c,&ch);while(ch=y|ch=Y);Write_to_File(head);void modify( ) /*修改学生信息(按学号修改) */Stu *head;Stu *p;char ch;int N;In itStu(&head);Read_from_File(head);system(clear);prin tf(nn 请输入修改的学生学号 :”);scan

16、f(%d,&N);p=head-n ext;dowhile(p!=NULL)if(p-num=N) system(clear);:n );prin tf(n 请输入新的学生信息prin tf(n 学号:”);sca nf(%d,&p- nu m);printf(n 姓名:);sca nf(%s,p-n ame);printf(n 性别:);scanf( %c,&p-sex);printf(n 专业:);sca nf(%s,p-zhua ny e);prin tf(n 楼号:);sca nf(%d,&p-lou nu m);printf(n 宿舍号:);sca nf(%d,&p-sushe nu

17、 m);prin tf(n 床号:”);sea nf(%d,&p-chua ngnu m); break;p=p-n ext;if(p=NULL)printf(n 未找到此学生”);elseprintf(修改成功 n);prin tf(nn 继续修改?Y/N);scanf(” %c,&ch);while(ch=y|ch=Y);Write_to_File(head);/*按照学生学号查找*/void xuehao_search(Stu * head) int num;Stu *p;char ch;p=head-n ext ;dosystem(clear);prin tf(n 请输入要查找的学生学

18、号 :”);scan f(%d, &n um);while(p!=NULL)if(p-num = num )床号printf(”学号 姓名 性别 专业 楼号 宿舍号nn);prin tf(%-8d%-8s%-4c%-8s%-8d%-8d%-5dn,p- num,p- name,p-sex,p-zhuanye,p-l ounu m,p-sushe nu m,p-chua ngnu m);break;p=p-n ext;if(p=NULL)printf(n 未找到此学生); prin tf(nn 继续查找?Y/N);scan f(%s,&ch);while(ch=Y | ch=y);void su

19、she_search(Stu *head)int lounu m,sushe nu m,chua ngnum;Stu *p;char ch;p=head-n ext;dosystem(clear);prin tf(n 请输入要查找的学生宿舍信息printf(n 楼号:”);scan f(%d, &lou num);/*按照宿舍信息查找*/(楼号宿舍床号):”);printf(n 宿舍号:);scan f(%d, &sushe nu m);printf(n 床号:”);sca nf(%d, &chua ngnu m);while(p!=NULL)if(p-l ounum=lounum & p-s

20、ushe num=sushe num&p-chua ngnum=chua ngnum)printf(”学号 姓名 性别 专业 楼号 宿舍号床号nn);prin tf(%-8d%-8s%-4c%-8s%-8d%-8d%-5dn,p- num,p- name,p-sex, p-zhuanye,p-l ounu m,p-sushe nu m,p-chua ngnu m); break;p=p-n ext;if(p=NULL)printf(n 未找到此学生”);prin tf(nn 是否继续?Y/N);scan f(%s,&ch);while(ch=y | ch=Y);/*查找学生信息*/void S

21、earch()int choose;Stu *head;In itStu(&head);Read_from_File(head);system(clear);prin tf(n1.根据宿舍信息查找prin tf(n2.根据学生学号查找prin tf(n3.退出.nn);prin tf(n请选择查找方式:)scan f(%d,&choose);switch(choose).);.);case 1:sushe_search(head); break;case 2:xuehao_search(head);break;case 3:break;void sort( ) /*将学生信息按学号排序Stu

22、*head;Stu *i,*j,*k;Stu *m,* n;Stu *temp;int 1=0;In itStu(&head);/冒泡排序法Read_from_File(head);for(m=head,i=head-n ext;i;m=i,i=i-n ext)k=i;for(n=i,j=i-n ext;j; n=j,j=j- next) if(j-numnum)k=j;break;if(i!=k)m- next=j;n-n ext=i;temp=i-n ext;i-n ext=j-n ext;j-n ext=temp;i=head;system(clear);prin tf(nn 输入学生信

23、息:nn);i=head-n ext;printf(学号 姓名 性别 专业 楼号 宿舍号床号nn);while(i)prin tf(%-8d%-8s%-4c%-8s%-8d%-8d%-5dn,i- nu m,i- name,i-sex.i-zhua nye,i-l ounu m,i-sushe nu m,i-chua ngnu m); i=i-n ext;printf(n 按任意键返回r);getchar();getchar();/*统计学生信息*/void ton gji()Stu *head,*p;int Cou nt1,Cou nt2;In itStu(&head);Read_from_

24、File(head);system(clear);p=head-n ext;Cou nt1=O;Cou nt2=0;while(p!=NULL)if(p-sex=w | p_sex=W)Cou nt1+;elseCou nt2+;p=p-n ext;prin tf(t女生总数:%dn,Cou nt1);prin tf(t男生总数:%dn,Cou nt2);prin tf(t学生总数:%dn,Cou nt1+Cou nt2);printf(t 按任意键返回rj;getchar();getchar(); void mai n()int choice;char ch;while(1)system(c

25、lear);printf(n 学生宿舍管理系统n);prin tf(=n);printf( 1.录入学生信息nn”);printf( 2.删除学生信息nn);printf( 3.插入学生信息nn);printf( 4.修改学生信息nn”);printf( 5.显示学生信息nn”);printf( 6.查找学生信息nn”);printf(” 7.排序学生信息nn);printf( 8.统计学生信息nn”);printf( 0.退出系 统 n);prin tf(=n);printf( 请选择 0-8:n);prin tf(n 请选择要进行的操作 :”);scan f(%d, &choice);switch(choice)case 1:appe nd();break;case 2:del();break;case 3:in sert(); break;case 4:modify。;break;case 5: display。; break;case 6:Search。; break;case 7: sort(); break;case 8:ton gji();break;case 0:(Y/N);prin tf(ntt 确定退出?scanf(” %c, & ch);if(ch=Y |ch=y)exit(0);if(ch=N | ch= n)system(clear);

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

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