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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

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

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

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

4、信息读出,再调用sort (),按照学生学号排序,拍完续没有直接写入文件,如果要直接写入调用文件读入函数Write_to_File().(7) 统计模块:先将文件信息读出,再调用tongji()函数,统计了女生人数和男生人数,还统计了总人数.五详细过程和运行结果:删除模块 != =插入模块 查找模块 != != 修改模块 != =排序模块 统计模块 六参考文献: C语言程序设计: 王曙燕七源代码include stdio.hinclude stdlib。hinclude string。h/#include next; while(p) fprintf(fp,”d s %c %s d d %dn

5、,pnum,p-name,psex, p-zhuanye,plounum,psushenum,pchuangnum); p=p-next; fclose(fp);void InitStu(Stu *h) /*创建头结点*/ (h)=(Stu *)malloc(sizeof(Stu)); if(h=NULL) printf(”创建失败!!); getchar(); getchar(); exit(0); (*h)-next=NULL;void append( ) /*录入学生信息/ Stu *head; Stu p,*q; char ch; InitStu(&head); q=head; whi

6、le(1) system(clear”); printf(请录入学生信息n”); p=(Stu )malloc(sizeof(Stu); printf(”n学号:); scanf(”%d”,p-num); printf(”n姓名:); scanf(%s”,p-name); printf(n性别:”); scanf( %c,p-sex); printf(”n专业:”); scanf(%s,pzhuanye); printf(n楼号:”); scanf(”d,plounum); printf(”n宿舍号:”); scanf(”%d”,&psushenum); printf(”n床号:); scan

7、f(”%d,&pchuangnum); p-next=q-next; qnext=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 p,*q; int i; fp=fopen(”sushe。txt,”r”); if(fp=NULL) printf(打开失败”); exit(0); q=h; while(!feof(fp) p=(Stu )malloc(s

8、izeof(Stu)); i=fscanf(fp,”d %s c s d %d dn,pnum,pname,&p-sex, p-zhuanye,plounum,p-sushenum,&p-chuangnum); if(i = EOF) break; q-next=p; q=p; q-next = NULL; fclose(fp);int display() /显示文件信息/ Stu head = NULL; Stu *p; InitStu(&head); Read_from_File(head); /printf(ok!n”); p=head-next; system(clear); if(!

9、p) printf(”无内容!”); printf(n按任意键键返回n”); getchar(); getchar(); return 0; printf(”学号 姓名 性别 专业 楼号 宿舍号 床号nn”); while(p) printf(%8d%-10s-6c-14s%-8d-8d%-5dn,pnum,pname,p-sex,pzhuanye, p-lounum,p-sushenum,pchuangnum); p=pnext; printf(n按任意键返回n); getchar(); getchar(); return 1;void del() /删除学生信息/ Stu *head; S

10、tu *p,*q; char ch,h; int N; int lounum,sushenum,chuangnum; InitStu(head); Read_from_File(head); q=head; p=head-next; do system(”clear”); printf(”n1。 根据学生学号删除n); printf(n2。 根据宿舍信息删除n); printf(n 请选择删除方式:); scanf(” c”, &ch); while(1) if(ch=1) printf(”n请输入学生学号:”); scanf(”d,N); while(p) if(pnum=N) qnext=

11、p-next; printf(删除成功!); break; q=p; p=p-next; if(p=NULL) printf(n未找到此学生”); break; else free(p); else if(ch=2) printf(n请输入宿舍信息(楼号 宿舍 床号):); scanf(d %d %d,&lounum,&sushenum,chuangnum); while(p!=NULL) if(p-lounum=lounum & psushenum=sushenum & p-chuangnum) q-next=pnext; printf(”删除成功!”); break; q=p; p=pne

12、xt; if(p=NULL) printf(”未找到此学生); break; else free(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; InitStu(head); Read_from_File(head); system(clear); do p=(Stu*)malloc(sizeof(Stu); pnext=NULL; printf(tt请输入插入的学生信

13、息 :n ); printf(”t 学号:); scanf(”%d,pnum); printf(nt 姓名:); scanf(%s”,p-name); printf(nt性别:”); scanf( c”,psex); printf(nt 专业:”); scanf(%s”,pzhuanye); printf(nt 楼号:”); scanf(”%d”,&p-lounum); printf(”nt 宿舍号:”); scanf(d,p-sushenum); printf(nt 床号:”); scanf(”d”,&pchuangnum); pnext = head-next; headnext = p;

14、 printf(nn是否继续插入?Y/N”); scanf( c,ch); while(ch=ych=Y); Write_to_File(head);void modify( ) /修改学生信息(按学号修改)/ Stu head; Stu *p; char ch; int N; InitStu(&head); Read_from_File(head); system(”clear); printf(nn请输入修改的学生学号: ”); scanf(”%d,N); p=head-next; do while(p!=NULL) if(pnum=N) system(clear); printf(”n请

15、输入新的学生信息 :n ”); printf(”n学号:); scanf(d”,p-num); printf(”n姓名:); scanf(”%s,p-name); printf(n性别:); scanf(” c”,psex); printf(”n专业:); scanf(”%s”,p-zhuanye); printf(”n楼号:”); scanf(%d”,p-lounum); printf(n宿舍号:); scanf(%d,psushenum); printf(”n床号:”); scanf(%d,&p-chuangnum); break; p=p-next; if(p=NULL) printf(

16、n未找到此学生”); else printf(”修改成功n”); printf(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-next ; do system(clear”); printf(”n请输入要查找的学生学号 : ); scanf(”d”,&num); while(p!=NULL) if(pnum = num ) printf(”学号 姓名 性别 专业

17、 楼号 宿舍号 床号nn); printf(8d8s%-4c%8s%8d%8d%5dn,pnum,pname,p-sex,pzhuanye, p-lounum,psushenum,pchuangnum); break; p=p-next; if(p=NULL) printf(”n未找到此学生); printf(nn 继续查找 ?Y/N); scanf(%s”,ch); while(ch=Y | ch=y);void sushe_search(Stu head) /按照宿舍信息查找/ int lounum,sushenum,chuangnum; Stu *p; char ch; p=headne

18、xt; do system(”clear); printf(”n请输入要查找的学生宿舍信息(楼号 宿舍 床号) : ”); printf(”n 楼号 :); scanf(d”,&lounum); printf(n 宿舍号 :”); scanf(”%d,sushenum); printf(”n 床号 :”); scanf(”%d,chuangnum); while(p!=NULL) if(p-lounum=lounum p-sushenum=sushenum &p-chuangnum=chuangnum) printf(学号 姓名 性别 专业 楼号 宿舍号 床号nn”); printf(-8d%

19、8s%4c%8s%8d%8d%5dn,pnum,p-name,p-sex, p-zhuanye, p-lounum,p-sushenum,p-chuangnum); break; p=pnext; if(p=NULL) printf(n未找到此学生); printf(nn 是否继续 ?Y/N); scanf(”%s”,ch); while(ch=y | ch=Y);void Search( ) /查找学生信息/ int choose; Stu *head; InitStu(head); Read_from_File(head); system(clear); printf(n1。根据宿舍信息查

20、找。”); printf(”n2。根据学生学号查找.); printf(”n3。退出.nn); printf(”n请选择查找方式:”); scanf(d,&choose); switch(choose) case 1: sushe_search(head); break; case 2: xuehao_search(head); break; case 3: break; void sort( ) /*将学生信息按学号排序/ Stu head; Stu *i,j,*k; Stu *m,*n; Stu temp; int l=0; InitStu(&head); Read_from_File(h

21、ead); /冒泡排序法 for(m=head,i=headnext;i;m=i,i=i-next) k=i; for(n=i,j=inext;j;n=j,j=j-next) if(jnum k-num) k=j; break; if(i!=k) mnext=j; nnext=i; temp=i-next; i-next=j-next; j-next=temp; i=head; system(clear); printf(nn输入学生信息 : nn); i=headnext; printf(学号 姓名 性别 专业 楼号 宿舍号 床号nn); while(i) printf(-8d%8s4c-8

22、s8d-8d%-5dn”,inum,iname,i-sex, i-zhuanye, ilounum,isushenum,ichuangnum); i=i-next; printf(”n按任意键返回!); getchar(); getchar();void tongji( ) /统计学生信息/ Stu *head,p; int Count1,Count2; InitStu(&head); Read_from_File(head); system(clear); p=head-next; Count1=0; Count2=0; while(p!=NULL) if(psex=w | psex=W)

23、Count1+; else Count2+; p=pnext; printf(t女生总数 : dn ”,Count1); printf(t男生总数 : %dn ”,Count2); printf(t学生总数 : dn ,Count1+Count2); printf(t按任意键返回!”); getchar(); getchar();void main() int choice; char ch; while(1) system(”clear); printf(n 学生宿舍管理系统n); printf(=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”); printf(=n”); printf( 请选择08:n”); printf(”n 请选择要进行的操作 : ”);

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

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