欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学生宿舍管理软件C语言源代码(完整版).doc

    • 资源ID:15006009       资源大小:69KB        全文页数:12页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生宿舍管理软件C语言源代码(完整版).doc

    精选优质文档-倾情为你奉上源程序代码:#include<stdio.h>#include<string.h>#include<stdlib.h>#define M 100int dirty=0; /用来判断是否已保存操作/定义一个存储学生相关信息的结构体typedef structchar S_name31; /学生姓名 char S_class31; /学生班级 char S_number16; /学生学号int D_number; /学生所在寝室的宿舍号 char S_address500; /学生地址 int S_phone20; /学生电话号码 int Total; /学生总数StudentM,St;/判断学号是否与表中所存学号重复void S_number_Judge(Student S,int t)int i;for(i=1;i<=(S->Total)-1;i+)while(strcmp(Si.S_number,St.S_number)=0)printf("学号输入失败,该学号已存在,请重新输入学号!n");printf("请输入学生的学号(15个字符以内):"); scanf("%s",St.S_number);getchar();i=1;/添加学生信息函数void Add(Student S)printf("请输入学生姓名(30个字符以内):");scanf("%s",S+(S->Total).S_name);getchar();/获取换行符 printf(“请输入学生班级(30个字符以内):”); scanf("%s",SS->Total.S_class); getchar();printf("请输入学生的学号(15个字符以内):");scanf("%s",SS->Total.S_number); getchar();S_number_Judge(S,S->Total);/判断输入的学号是否与表中所存在的学号重复printf("请输入宿舍号码:");scanf("%d",&SS->Total.D_number); getchar(); printf("请输入学生地址:"); scanf("%s",SS->Total.S_address); getchar(); printf(“请输入学生电话号码:”); scanf("%s",&SS->Total. S_phone);getchar();dirty=1;printf("添加成功!nn");/修改学生信息函数void Alter(Student S)int i;int flag=0; /用来判断表中是否存在所要修改的学生的信息char name20;printf("请输入你要修改学生的姓名:"); scanf("%s",name);getchar();for(i=1;i<=S->Total;i+)if(strcmp(Si.S_name,name)=0)flag=i;if(!flag)printf("你所要修改的学生信息在表中不存在!n");elseprintf("新信息如下:n");printf("请输入学生姓名(30个字符以内):");scanf("%s",Sflag.S_name);getchar(); printf(“请输入学生班级(30个字符以内):”); scanf("%s",Sflag.S_class); getchar();printf("请输入学生的学号(15个字符以内):");scanf("%s",Sflag.S_number);getchar();S_number_Judge(S,flag);printf("请输入宿舍号:");scanf("%d",&Sflag.D_number); getchar(); printf("请输入学生地址:"); scanf("%s",Sflag.S_address); getchar(); printf(“请输入学生电话号码:”); scanf("%s",&Sflag. S_phone);getchar();dirty=1;printf("修改成功!n");putchar('n');/删除学生信息void Delete(Student S)int i,j;int flag=0; /用来判断表中是否存在所要删除的学生的信息char name20;printf("请输入你要删除学生的姓名:");scanf("%s",name); getchar();for(i=1;i<=S->Total;i+)if(strcmp(Si.S_name,name)=0)flag=i;if(!flag)printf("你所要删除的学生在表中不存在!");else for(i=flag;i<S->Total;i+) j=i+1; strcpy(Si.S_name,Sj.S_name); strcpy(Si.S_number,Sj.S_number); Si.D_number=Sj.D_number; (S->Total)-;dirty=1;printf("删除成功!");printf("nn");/显示所有学生信息函数void Display_All(Student S)int i;printf("全体学生信息如下:n");printf("学生姓名 学生班级 学生学号 宿舍号 学生地址 学生电话号码n");for(i=1;i<=S->Total;i+)printf("%-20s%-20s %-15s%-5d%s-10%sn",Si.S_name,Si.S_class,Si.S_number,Si.D_number,Si.S_address,Si.S_phone);putchar('nn');/排序函数按照寝室号从小到大排序(冒泡法)void Sort_D_number(Student S)int i,j,t;char name30;char number15; char address300; char Cnumber30;for(i=1;i<=S->Total;i+)for(j=i;j<=S->Total;j+)if(Si.D_number>Sj.D_number)strcpy(name,Si.S_name);strcpy(number,Si.S_number); strcpy(address,Si.S_address); strcpy(Cnumber,Si.S_class);t=Si.D_number;strcpy(Si.S_name,Sj.S_name);strcpy(Si.S_number,Sj.S_number); strcpy(Si.S_address,Sj.S_address); strcpy(Si.S_class,Sj.S_class);Si.D_number=Sj.D_number;strcpy(Sj.S_name,name);strcpy(Sj.S_number,number); strcpy(Sj.S_address,address); strcpy(Sj.S_class,Cnumber);Sj.D_number=t;/排序函数按照学号从小到大排序(冒泡法)void Sort_S_number(Student S)int i,j,t;char name30;char number15; char address300; char Cnumber30;for(i=1;i<=S->Total;i+)for(j=i;j<=S->Total;j+)if(strcmp(Si.S_number,Sj.S_number)>0)strcpy(name,Si.S_name);strcpy(number,Si.S_number); strcpy(address,Si.S_address); strcpy(Cnumber,Si.S_class);t=Si.D_number;strcpy(Si.S_name,Sj.S_name);strcpy(Si.S_number,Sj.S_number); strcpy(Si.S_address,Sj.S_address); strcpy(Si.S_class,Sj.S_class);Si.D_number=Sj.D_number;strcpy(Sj.S_name,name);strcpy(Sj.S_number,number); strcpy(Sj.S_address,address); strcpy(Sj.S_class,Cnumber);Sj.D_number=t;/排序函数按照班级号从小到大排序(冒泡法)void Sort_S_class (Student S)int i,j,t;char name30;char number15; char address300; char Cnumber30;for(i=1;i<=S->Total;i+)for(j=i;j<=S->Total;j+)if(strcmp(Si.S_class,Sj.S_class)>0)strcpy(name,Si.S_name);strcpy(number,Si.S_number); strcpy(address,Si.S_address); strcpy(Cnumber,Si.S_class);t=Si. D_number;strcpy(Si.S_name,Sj.S_name);strcpy(Si.S_number,Sj.S_number); strcpy(Si.S_address,Sj.S_address); strcpy(Si.S_class,Sj.S_class);Si. D_number =Sj. D_number;strcpy(Sj.S_name,name);strcpy(Sj.S_number,number); strcpy(Sj.S_address,address); strcpy(Sj.S_class,Cnumber);Sj. D_number =t;/查询函数以班级为关键字进行查询(顺序查找)void Query_S_class(Student S)int i,j=0;char classnumber31;printf("请输入你要查找的班级号(30个字符以内):");scanf("%s",classnumber);getchar();printf("所查找学生信息如下:n");printf("学生姓名 学生班级 学生学号 宿舍号 学生地址 学生电话号码n");for(i=1;i<=S->Total;i+)if(strcmp(classnumber,Si.S_class)=0)printf("%-20s%-20s %-15s%-5d%s-10%sn",Si.S_name, Si.S_class,Si.S_number,Si.D_number,Si.S_address,Si.S_phone); j=1; if(!j)printf("n查找失败,表中不存在该学生的信息!nn");/查询函数以姓名为关键字进行查询(顺序查找)void Query_S_name(Student S)int i,j=0;char name31;printf("请输入你要查找的学生的姓名(30个字符以内):");scanf("%s",name);getchar();printf("所查找学生信息如下:n");printf("学生姓名 学生班级 学生学号 宿舍号 学生地址 学生电话号码n");for(i=1;i<=S->Total;i+)if(strcmp(name,Si.S_name)=0)printf("%-20s%-20s %-15s%-5d%s-10%sn",Si.S_name, Si.S_class,Si.S_number,Si.D_number,Si.S_address,Si.S_phone); j=1; if(!j)printf("n查找失败,表中不存在该学生的信息!nn");/查询函数以学号为关键字进行查询(折半查找)void Query_S_number(Student S)int i,j,top,base,mid;char number15;j=0;base=1;top=S->Total;printf("请输入你要查找学生的学号:");scanf("%s",number);getchar();Sort_S_number(S); /将表中原数据按照学号从小到大排序printf("所查找学生信息如下:n");printf("学生姓名 学生班级 学生学号 宿舍号 学生地址 学生电话号码n");if(strcmp(number,S1.S_number)>=0&&strcmp(number,SS->Total.S_number)<=0)while(base<=top)mid=(base+top)/2;if(strcmp(number,Smid.S_number)=0) printf("%-20s%-20s%-15s%-5d%s-10%sn",Si.S_name, Si.S_class,Si.S_number,Si.D_number,Si.S_address,Si.S_phone);putchar('n');j=1;break;else if(strcmp(number,Smid.S_number)>0)base=mid+1;elsetop=mid-1;if(!j)printf("n查找失败,表中不存在该学生的信息!nn");/查询函数以寝室号为关键字进行查询(折半查找)void Query_D_number(Student S)int i,j,m,n,base,top,mid;j=0;base=1;top=S->Total;printf("请输入你要查询的寝室号:");scanf("%d",&i);getchar();Sort_D_number(S);/将表中原数据按照寝室号从小到大排序printf("所查找寝室信息如下:n");printf("学生姓名 学生班级 学生学号 宿舍号 学生地址 学生电话号码n");if(i>=S1.D_number&&i<=SS->Total.D_number)while(base<=top)mid=(base+top)/2;if(i=Smid.D_number)m=mid; n=mid-1;while(Sm.D_number=i)printf("%-20s%-20s %-15s%-5d%s-10%sn",Sm.S_name, Si.S_class,Sm.S_number,Sm.D_number,Si.S_address,Si.S_phone); m+;if(m>S->Total)break;if(n>0)while(Sn.D_number=i)printf("%-20s%-15s%-5dn",Sn.S_name,Sn.S_number,Sn.D_number); n-;if(n<1)break;j=1;putchar('n');break;else if(i>Smid.D_number)base=mid+1;elsetop=mid-1;if(!j)printf("n查找失败,表中不存在该寝室的信息!nn");/存储函数void Save(Student S)St Std;int i;int flag1=0,flag2=0; /判断存储是否成功FILE *fp; if(fp=fopen("Dorm_Manage","w")=NULL) printf("打开文件失败!nn"); flag1=1; exit(0); /结束程序for(i=1;i<=S->Total;i+) if(fwrite(&Si,sizeof(Std),1,fp)!=1) printf("数据写入错误nn"); flag2=1;exit(0); if(!flag1&&!flag2) printf("数据存储成功!nn");dirty=0; fclose(fp);/加载记录函数void Load(Student S)St Std;FILE *fp;if(fp=fopen("Dorm_Manage","r")=NULL)printf("打开文件失败!nn");exit(0);while(!feof(fp)fread(&S+(S->Total),sizeof(Std),1,fp);fclose(fp); printf("加载数据成功!nn"); (S->Total)-; /由于读取问题,表中个数要减去/退出程序时判断是否保存函数void Judge_Save(int i,Student S)char ch;if(i)printf("表中数据已改变,是否保存后再退出(Y/N)?:");ch=getchar();getchar();while(ch!='n'&&ch!='N'&&ch!='y'&&ch!='Y')printf("请输入N(n)或者Y(y):");ch=getchar();getchar();if(ch='y'|ch='Y')Save(S);/菜单void Menu()/菜单printf(" 学生管理nn");printf("*菜单*n");printf("1.添加学生信息 | 8.按照班级号从小到大排序n”);printf("2.修改学生信息 | 9.按照寝室号从小到大排序n");printf("3.删除学生信息 | 10.按照学号从小到大排序n");printf("4.以姓名查询学生信息 | 11.显示所有学生的相关信息n");printf("5.以学号查询学生信息 | 12.保存操作n");printf("6.以寝室号查询该寝室中的全部学生信息 | 13.加载记录n"); printf(“7.以班级号查询该班级中的全部学生信息 | 14.退出程序n");printf("*n");void main()int i;Student S;S->Total=0;doMenu();printf("请选择所要实现的功能(请输入114中的任意一个数字):");scanf("%d",&i);getchar(); /获取换行符putchar('n');switch(i)case 1:Add(S); break;case 2:Alter(S); break;case 3:Delete(S); break;case 4:Query_S_name(S); break;case 5:Query_S_number(S); break;case 6:Query_D_number(S); break; case 7: Query_S_class (S); break; case 8: Sort_S_class (S); printf("排序完成!nn"); break;case 9:Sort_D_number(S); printf("排序完成!nn"); break;case 10:Sort_S_number(S);十几年的学校教育让我们大学生掌握了足够的科学文化知识,深韵的文化底子为我们创业奠定了一定的基础。特别是在大学期间,我们学到的不单单是书本知识,假期的打工经验也帮了大忙。 printf("排序完成!nn"); break;case 11:Display_All(S); break;1、DIY手工艺市场状况分析case 12:Save(S);(三)上海的文化对饰品市场的影响 break;case 13:Load(S);我们长期呆在校园里,没有工作收入一直都是靠父母生活,在资金方面会表现的比较棘手。不过,对我们的小店来说还好,因为我们不需要太多的投资。 break;case 14:Judge_Save(dirty,S);“碧芝”最吸引人的是那些小巧的珠子、亮片等,都是平日里不常见的。店长梁小姐介绍,店内的饰珠有威尼斯印第安的玻璃珠、秘鲁的陶珠、奥利的施华洛世奇水晶、法国的仿金片、日本的梦幻珠等,五彩缤纷,流光异彩。按照饰珠的质地可分为玻璃、骨质、角质、陶制、水晶、仿金、木制等种类,其造型更是千姿百态:珠型、圆柱型、动物造型、多边形、图腾形象等,美不胜收。全部都是进口的,从几毛钱一个到几十元一个的珠子,做一个成品饰物大约需要几十元,当然,还要决定于你的心意。“碧芝”提倡自己制作:端个特制的盘子到柜台前,按自己的构思选取喜爱的饰珠和配件,再把它们串成成品。这里的饰珠和配件的价格随质地而各有同,所用的线绳价格从几元到一二十元不等,如果让店员帮忙串制,还要收取的手工费。 exit(0);而手工艺制品是一种价格适中,不仅能锻炼同学们的动手能力,同时在制作过程中也能体会一下我国传统工艺的文化。无论是送给朋友还是亲人都能让人体会到一份浓厚的情谊。它的价值是不用金钱去估价而是用你一颗真诚而又温暖的心去体会的。更能让学生家长所接受。 break;default:printf("选择错误:请在选项到之间选择!nn");400-500元1326% break;调研结论:综上分析,我们认为在学院内开发“DIY手工艺品”商店这一创业项目是完全可行的。while(i!=14);调研提纲:众上所述,我们认为:我们的创意小屋计划或许虽然会有很多的挑战和困难,但我们会吸取和借鉴“漂亮女生”和“碧芝”的成功经验,在产品的质量和创意上多下工夫,使自己的产品能领导潮流,领导时尚。在它们还没有打入学校这个市场时,我们要巩固我们的学生市场,制作一些吸引学生,又有使学生能接受的价格,勇敢的面对它们的挑战,使自己立于不败之地。专心-专注-专业

    注意事项

    本文(学生宿舍管理软件C语言源代码(完整版).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开