c语言课程设计宿舍管理系统
宿舍管理系统c语言课程设计

宿舍管理系统c语言课程设计一、背景介绍宿舍管理系统是一种为学校宿舍管理人员提供便利的软件系统。
本系统旨在通过计算机技术的应用,实现对宿舍信息、学生信息、入住情况等数据的管理和统计,提高宿舍管理工作效率和服务质量。
二、需求分析1. 功能需求(1)管理员登录:管理员需要输入用户名和密码才能登录系统。
(2)学生信息录入:管理员可以添加、修改和删除学生信息,包括姓名、性别、年龄、联系方式等。
(3)宿舍信息录入:管理员可以添加、修改和删除宿舍信息,包括宿舍号码、楼层、床位数等。
(4)学生入住登记:管理员可以登记学生入住情况,包括选择宿舍房间号码,记录入住时间等。
(5)查询统计功能:管理员可以查询学生信息、宿舍信息以及入住情况,并进行统计分析。
2. 性能需求本系统需要具有较高的安全性和稳定性,保证数据的完整性和可靠性。
同时,在用户界面设计上要简洁明了,易于操作。
三、设计方案1. 系统架构本系统采用客户端/服务器模式,将客户端与服务器分离,实现系统的分布式部署。
客户端负责用户界面的展示和用户输入的响应,服务器负责数据存储和处理。
2. 数据库设计本系统需要设计三个数据库表:学生信息表、宿舍信息表和入住情况表。
学生信息表包括学生姓名、性别、年龄、联系方式等字段;宿舍信息表包括宿舍号码、楼层、床位数等字段;入住情况表包括学生姓名、宿舍号码、入住时间等字段。
3. 界面设计本系统的用户界面需要简洁明了,易于操作。
采用菜单式界面设计,将各个功能模块以菜单形式呈现,方便用户进行选择。
四、开发实现1. 开发环境本系统采用C语言进行开发,使用Visual Studio 2019作为开发工具。
数据库采用MySQL。
2. 关键技术(1)C语言编程技术:C语言是一种高效的编程语言,在系统开发中具有广泛应用。
(2)MySQL数据库技术:MySQL是一种常用的关系型数据库管理系统,在数据存储和处理方面具有很好的性能。
(3)网络编程技术:客户端/服务器模式需要使用网络编程技术实现客户端与服务器之间的通信。
c语言宿舍管理系统课程设计

c语言宿舍管理系统课程设计一、课程目标知识目标:1. 理解C语言在开发宿舍管理系统中的应用,掌握基本的数据类型、语法和结构;2. 学会使用数组、结构体、文件操作等C语言特性进行数据处理和存储;3. 掌握模块化编程思想,理解函数的定义、调用和参数传递。
技能目标:1. 能够运用所学知识,设计并实现一个简单的宿舍管理系统;2. 培养学生分析问题、解决问题的能力,通过编写代码解决宿舍管理中的实际问题;3. 提高学生的团队协作能力,通过小组合作完成课程设计。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养其对计算机科学的热爱;2. 培养学生的耐心和毅力,使其在面对编程困难时保持积极的心态;3. 增强学生的责任感,使其认识到编程在解决实际问题中的重要性。
课程性质:本课程设计属于实践性课程,以培养学生的实际编程能力为目标。
学生特点:学生具备一定的C语言基础,对编程有一定兴趣,但实际操作经验不足。
教学要求:结合学生特点,以实用性为导向,注重培养学生的动手能力和团队协作精神。
通过课程设计,使学生将所学知识应用于实际项目中,提高其解决实际问题的能力。
课程目标分解为具体学习成果,以便于教学设计和评估。
二、教学内容1. C语言基础知识回顾:数据类型、运算符、表达式、控制结构(第二章)- 强化基本语法,为后续编程打下坚实基础。
2. 函数与模块化编程:函数的定义、调用、参数传递(第四章)- 培养学生模块化编程思想,提高代码复用性和可维护性。
3. 数组与字符串:一维数组、二维数组、字符串操作(第三章)- 为处理宿舍信息数据提供有效手段。
4. 结构体与文件操作:结构体定义、结构体数组、文件读写(第五章)- 实现对宿舍信息的存储和读取功能。
5. 宿舍管理系统功能设计:- 登录与权限管理(第六章)- 宿舍基本信息管理(第三章、第五章)- 学生信息管理(第三章、第五章)- 宿舍卫生管理(第三章、第五章)- 数据查询与统计(第四章)6. 项目实践与团队协作:- 将学生分组,每组负责一个模块的开发,提高团队协作能力;- 结合教材内容,按进度完成各个模块的设计与实现。
C宿舍管理系统课程设计

C 宿舍管理系统 课程设计一、课程目标知识目标:1. 让学生理解宿舍管理系统的基本概念,掌握其功能模块和操作流程;2. 使学生掌握数据库设计原则,能运用所学知识构建宿舍管理系统数据库;3. 帮助学生掌握C语言编程技巧,实现宿舍管理系统的功能需求。
技能目标:1. 培养学生运用C语言进行编程的能力,能够独立完成宿舍管理系统的功能模块编写;2. 提高学生分析问题、解决问题的能力,使其能够针对宿舍管理中的实际问题提出合理的解决方案;3. 培养学生团队协作能力,能够在小组合作中发挥各自优势,共同完成项目任务。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习的态度;2. 培养学生认真负责的工作态度,使其在项目实施过程中注重细节,追求卓越;3. 引导学生关注宿舍管理问题,培养其主人翁意识,提高社会责任感。
课程性质:本课程为实践性较强的课程,旨在让学生通过实际项目开发,将所学知识运用到实际工作中。
学生特点:学生具备一定的C语言基础,对编程有一定了解,但缺乏实际项目经验。
教学要求:注重理论与实践相结合,强调动手实践,培养学生解决实际问题的能力。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 宿舍管理系统概述:介绍宿舍管理系统的基本概念、功能需求及系统架构,关联课本第1章内容。
2. 数据库设计:讲解数据库设计原则,指导学生运用所学知识构建宿舍管理系统数据库,关联课本第3章内容。
- 数据库表设计- 关系映射- 数据库操作3. C语言编程基础:复习C语言基础知识,重点讲解编程技巧,关联课本第2章内容。
- 数据类型与变量- 控制语句- 函数与模块化编程4. 宿舍管理系统功能模块实现:根据需求分析,运用C语言编程实现宿舍管理系统的功能模块,关联课本第4章内容。
- 学生信息管理- 宿舍楼信息管理- 宿舍分配与调整- 费用管理5. 系统测试与优化:教授系统测试方法,引导学生对宿舍管理系统进行测试与优化,关联课本第5章内容。
c宿舍管理系统课课程设计

c 宿舍管理系统课课程设计一、教学目标本课程旨在通过宿舍管理系统的设计与实现,让学生掌握以下知识目标:1.理解宿舍管理系统的需求和功能;2.掌握C语言的基本语法和数据结构;3.学会使用面向对象的思想进行软件设计;4.熟悉软件开发的基本流程;5.能够使用C语言进行程序设计;6.能够运用面向对象的方法进行软件设计;7.能够独立完成一个中小型的软件项目;情感态度价值观目标:1.培养学生的团队协作精神;2.培养学生解决问题的能力;3.培养学生对软件开发的兴趣和热情。
二、教学内容本课程的教学内容主要包括以下几个部分:1.宿舍管理系统的需求分析;2.C语言的基本语法和数据结构;3.面向对象的基本概念和设计方法;4.软件开发的基本流程;5.宿舍管理系统的实现和测试。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:用于讲解基本概念、语法和设计方法;2.案例分析法:通过分析实际的宿舍管理系统案例,使学生更好地理解理论知识;3.实验法:让学生动手实践,独立完成宿舍管理系统的设计和实现;4.讨论法:鼓励学生积极参与讨论,培养团队协作和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》、《面向对象程序设计》;2.参考书:提供相关的编程技巧和软件开发方法;3.多媒体资料:用于辅助讲解和演示;4.实验设备:计算机、网络等,用于实践操作。
五、教学评估本课程的评估方式包括以下几个部分:1.平时表现:包括课堂参与度、小组讨论等,占总评的20%;2.作业:包括编程练习和理论作业,占总评的30%;3.考试:包括期中和期末考试,占总评的50%;评估方式将客观、公正地全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保完成所有教学内容;2.教学时间:每周两次课,每次两小时;3.教学地点:计算机实验室;教学安排将合理、紧凑,确保在有限的时间内完成教学任务,同时考虑学生的实际情况和需要。
C宿舍管理系统课程设计

C 宿舍管理系统 课程设计一、课程目标知识目标:1. 学生能够理解宿舍管理系统的基本概念、功能模块及其在实际中的应用。
2. 学生能够掌握使用数据库进行数据存储、检索与管理的基本方法。
3. 学生能够运用结构化编程思想,设计并实现宿舍管理系统的基本功能。
技能目标:1. 学生能够运用所学知识,独立设计并实现一个简易的宿舍管理系统。
2. 学生能够通过实践操作,掌握数据库查询、更新和删除等操作技能。
3. 学生能够运用编程工具,进行系统功能的编码、调试与优化。
情感态度价值观目标:1. 学生通过本课程的学习,培养团队协作、沟通交流的能力,养成良好的合作精神。
2. 学生能够认识到信息技术在现实生活中的重要作用,增强对信息技术的兴趣和认同感。
3. 学生能够遵循法律法规,尊重他人隐私,养成良好的信息伦理素养。
分析课程性质、学生特点和教学要求,本课程旨在帮助学生将理论知识与实际应用相结合,提高学生的动手实践能力和创新能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。
通过本课程的学习,学生将能够独立设计并实现一个宿舍管理系统,为今后的学习和工作打下坚实的基础。
二、教学内容1. 宿舍管理系统概述- 了解宿舍管理系统的概念、发展及应用场景。
- 分析宿舍管理系统的功能模块及其相互关系。
2. 数据库基础- 学习数据库的基本概念、数据模型和关系型数据库的设计方法。
- 掌握SQL语句,进行数据查询、更新、插入和删除等操作。
3. 系统设计- 分析系统需求,明确系统功能。
- 学习结构化分析方法,绘制E-R图、数据流图等设计图。
4. 编程实现- 学习一种编程语言(如Java、C#等),掌握基本语法和编程规范。
- 根据系统设计,编写程序实现各功能模块。
5. 系统测试与优化- 学习测试方法,对系统进行功能测试、性能测试等。
- 分析测试结果,对系统进行优化和改进。
6. 实践项目- 以小组为单位,设计并实现一个简易的宿舍管理系统。
宿舍管理系统c语言课程设计

宿舍管理系统一、引言宿舍管理对于一个学校或机构来说是非常重要的一项工作。
宿舍是学生的家,好的宿舍管理能够提供一个安全、舒适的学习和生活环境,有利于学生的学习和成长。
然而,传统的宿舍管理方式存在一些问题,例如信息不及时、管理不规范、难以满足学生个性化需求等。
为了解决这些问题,开发一个宿舍管理系统是非常必要的。
二、系统需求分析1. 功能需求宿舍管理系统需要具备以下功能:•学生信息管理:包括学生的基本信息、宿舍分配情况、入住时间等。
•入住申请管理:学生可以通过系统提交入住申请,管理员审批后进行分配。
•宿舍楼信息管理:包括宿舍楼的基本信息、楼层和宿舍号等。
•工作人员管理:管理员可以管理宿舍管理系统的工作人员,包括添加、删除、修改工作人员信息等。
•入住人员统计:系统可以生成入住人数统计报表,方便学校管理人员进行宿舍资源的合理规划。
2. 性能需求宿舍管理系统需要具备良好的性能,包括以下方面:•响应速度:系统应能够快速响应用户的操作请求,尽量减少等待时间。
•稳定性:系统需要具备良好的稳定性,能够长时间稳定运行,不容易崩溃或出现故障。
•安全性:系统应具备良好的安全性,包括用户数据的安全存储和传输,以及对非法访问的防护措施。
3. 界面需求宿舍管理系统需要具备良好的用户界面,以提供良好的用户体验。
界面设计应简洁明了,操作方式直观方便,符合用户习惯。
三、系统设计与实现1. 数据库设计宿舍管理系统需要使用数据库来存储学生信息、宿舍楼信息、工作人员信息等。
数据库设计应合理,能够满足系统的需求。
数据库表应包括以下字段:学生姓名、学号、性别、宿舍楼号、楼层、宿舍号等。
2. 系统架构设计宿舍管理系统采用客户端-服务器架构,客户端通过网络与服务器进行通信。
客户端负责与用户交互,服务器负责处理客户端发送的请求,并将结果返回给客户端。
3. 界面设计系统界面应简洁明了,方便用户操作。
主界面包括以下功能模块:学生信息管理、入住申请管理、宿舍楼信息管理、工作人员管理、入住人员统计等。
c语言寝室管理系统课程设计

c语言寝室管理系统课程设计一、教学目标本课程旨在通过C语言编程实现一个简单的寝室管理系统,让学生掌握C语言的基本语法、数据结构、文件操作等知识,培养学生的编程能力、逻辑思维能力和问题解决能力。
1.掌握C语言的基本语法和编程技巧。
2.了解数据结构的基本概念,学会使用结构体和数组。
3.掌握文件操作的方法,能编写简单的文件读写程序。
4.能够使用C语言编写简单的程序,实现对寝室信息的增删改查功能。
5.具备良好的编码习惯,能够编写清晰、规范的代码。
6.学会使用调试工具,能够独立排查和解决问题。
情感态度价值观目标:1.培养学生对编程的兴趣,增强自信心,培养克服困难的勇气。
2.培养学生团队合作精神,学会与人沟通和协作。
3.培养学生关注社会问题,提高社会责任感和使命感。
二、教学内容本课程的教学内容主要包括C语言基本语法、数据结构、文件操作等。
1.C语言基本语法:介绍C语言的数据类型、运算符、控制语句、函数等基本知识。
2.数据结构:讲解结构体、数组、链表等基本数据结构的概念和应用。
3.文件操作:讲解文件打开、关闭、读写等基本文件操作方法。
4.寝室管理系统实现:通过实际项目案例,引导学生运用所学知识编写程序,实现对寝室信息的增删改查功能。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
1.讲授法:通过讲解C语言的基本语法、数据结构和文件操作等知识,使学生掌握基本概念和编程方法。
2.案例分析法:通过分析实际项目案例,引导学生运用所学知识解决实际问题。
3.实验法:安排实验室实践环节,让学生动手编写程序,培养学生的实际编程能力和问题解决能力。
四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言入门到精通》等。
2.参考书:《C Primer Plus》、《C语言深度探索》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、编程调试工具等。
教学资源应根据实际教学需求进行选择和准备,以支持教学内容和教学方法的实施,提高学生的学习体验。
C语言课程设计——学生宿舍管理系统(ubuntu下)

****大学学号:学生姓名:指导教师:时间:一、课程设计目的1. 设计一个ubuntu下的学生宿舍管理系统2. 掌握用C语言定义单链表结构,并实现其创建、插入、删除等基本操作。
5、数据的查询查询可以根据学号和宿舍信息不同方面进行查询,方便操作者使用。
6、数据的排序操作者可以使所输入的信息按学号排序。
7、数据的统计按整体统计,统计所有学生人数,男生人数和女生人数。
四、概要设计1.系统结构图(功能模块图)(5) 查询模块:先将文件信息读出,再调用search(),在search()中有调用两个数,一个按照宿舍信息查询sushe_search(),需要楼号和宿舍号,一个按照生信息查询xuehao_search()需要学生学号或者姓名。
(6) 排序模块:先将文件信息读出,再调用sort (),按照学生学号排序,拍完续没有直接写入文件,如果要直接写入调用文件读入函数Write_to_File().(7) 统计模块:先将文件信息读出,再调用tongji()函数,统计了女生人数和男生人数,还统计了总人数.五.详细过程和运行结果:输入插入的学查找模块Count1++ Count2++六.参考文献:《C语言程序设计》: 王曙燕typedef struct Student{int num; /*学号*/ char name[15]; /*姓名*/ char sex; /*性别*/char zhuanye[20]; /*专业*/int lounum; /*楼号*/int sushenum; /*宿舍号*/int chuangnum; /*床号*/ struct Student *next;}Stu;getchar();getchar();exit(0);}p=L->next;while(p){fprintf(fp,"%d %s %c %s %d %d %d\n",p->num,p->name,p->sex, p->zhuanye,p->lounum,p->sushenum,p->chuangnum);p=p->next;}getchar();exit(0);}(*h)->next=NULL;}void append( ) /*录入学生信息*/{Stu *head;Stu *p,*q;char ch;InitStu(&head);scanf("%s",p->name);printf("\n性别:");scanf(" %c",&p->sex);printf("\n专业:");scanf("%s",p->zhuanye);printf("\n楼号:");scanf("%d",&p->lounum); printf("\n宿舍号:");ch=getchar();if(ch=='0')break;}Write_to_File(head);}void Read_from_File(Stu *h) /*读出文件信息*/{FILE *fp;Stu *p,*q;int i;i=fscanf(fp,"%d %s %c %s %d %d %d\n",&p->num,p->name,&p->sex, p->zhuanye,&p->lounum,&p->sushenum,&p->chuangnum);if(i == EOF)break;q->next=p;q=p;q->next = NULL;fclose(fp);}int display() /*显示文件信息*/printf("\n按任意键键返回\n");getchar();getchar();return 0;}printf("学号姓名性别专业楼号宿舍号床号while(p){printf("%-8d%-10s%-6c%-14s%-8d%-8d%-5d\n",p->num,p->name,p->sex,p->zhuanye,{Stu *head;Stu *p,*q;char ch,h;int N;int lounum,sushenum,chuangnum;InitStu(&head);Read_from_File(head);q=head;p=head->next;do{while(p){if(p->num==N){q->next=p->next;printf("删除成功!");break;}q=p;p=p->next;}if(p==NULL)scanf("%d %d %d",&lounum,&sushenum,&chuangnum);while(p!=NULL){if(p->lounum==lounum && p->sushenum==sushenum && p->chuangnum){q->next=p->next;printf("删除成功!");break;}q=p;p=p->next;}printf("\n\n是否继续:Y/N?");scanf(" %c", &h);}while(h=='Y' ||h=='y');Write_to_File(head);}void insert() /*用头插法插入学生信息*/{Stu *p , *head;printf("\t 学号:");scanf("%d",&p->num);printf("\n\t 姓名:");scanf("%s",p->name);printf("\n\t性别:");scanf(" %c",&p->sex);printf("\n\t 宿舍号:"); scanf("%d",&p->sushenum);printf("\n\t 床号:"); scanf("%d",&p->chuangnum);p->next = head->next;head->next = p;printf("\n\n是否继续插入?Y/N");scanf(" %c",&ch);InitStu(&head);Read_from_File(head);system("clear");printf("\n\n请输入修改的学生学号: ");scanf("%d",&N);p=head->next;do{while(p!=NULL){if(p->num==N)printf("\n专业:"); scanf("%s",p->zhuanye);printf("\n楼号:"); scanf("%d",&p->lounum);printf("\n宿舍号:");scanf("%d",&p->sushenum);printf("\n床号:");scanf("%d",&p->chuangnum);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床号\n\n");printf("%-8d%-8s%-4c%-8s%-8d%-8d%-5d\n",p->num,p->name,p->sex,p->zhuanye,p->lounum,p->sushenum,p->chuangnum);break;}p=p->next;}if(p==NULL)printf("\n未找到此学生");printf("\n\n 继续查找 ?Y/N");do{system("clear");printf("\n请输入要查找的学生宿舍信息(楼号宿舍床号) : ");printf("\n 楼号 :");scanf("%d",&lounum);printf("\n 宿舍号 :");scanf("%d",&sushenum);printf("\n 床号 :");scanf("%d",&chuangnum);while(p!=NULL)}p=p->next;}if(p==NULL)printf("\n未找到此学生"); printf("\n\n 是否继续 ?Y/N");scanf("%s",&ch);}while(ch=='y' || ch=='Y');}void Search( ) /*查找学生信息*/{int choose;{case 1:sushe_search(head);break;case 2:xuehao_search(head);break;case 3:break;}}k=i;for(n=i,j=i->next;j;n=j,j=j->next){if(j->num< k->num){k=j;break;}}if(i!=k){i=head->next;printf("学号姓名性别专业楼号宿舍号床号\n\n");while(i){printf("%-8d%-8s%-4c%-8s%-8d%-8d%-5d\n",i->num,i->name,i->sex,i->zhuanye,i->lounum,i->sushenum,i->chuangnum);i=i->next;}printf("\n按任意键返回!");getchar();getchar();InitStu(&head);Read_from_File(head);system("clear");p=head->next;Count1=0;Count2=0;while(p!=NULL){if(p->sex=='w' || p->sex=='W'){Count1++;printf("\t男生总数 : %d\n ",Count2); printf("\t学生总数 : %d\n ",Count1+Count2);printf("\t按任意键返回!");getchar();getchar();}void main(){printf(" 4.修改学生信息\n\n");printf(" 5.显示学生信息\n\n"); printf(" 6.查找学生信息\n\n");printf(" 7.排序学生信息\n\n");printf(" 8.统计学生信息\n\n");printf(" 0.退出系统\n");printf("==========================================\n");printf(" 请选择0-8:\n");printf("\n 请选择要进行的操作 : ");scanf("%d",&choice);insert();break;case 4:modify();break;case 5:display();break;case 6:Search();printf("\n\t\t确定退出? (Y/N)");scanf(" %c", &ch);if(ch=='Y'||ch=='y')exit(0);if(ch=='N' || ch=='n'){system("clear");}}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
...《面向过程程序设计》┊┊计程设课课程名称:学生宿舍管理系统院系:级:班学号:姓名:指导教师:.....目录1. 2.引言………………………………………………………2. 3.课程设计任务书…………………………………………a)设计目的设计要求 b)课程设计报告装订内容及顺序c)设计题目 d)3.3………………………………………….程序设计说明书4..4………………课程设计目的……………………………a)目的b)实验内容c)需求分析5..5………程序基本框架结构图……………………………6..6………………程序测试…………………………………7..8………课程设计总结……………………………………8..18………附录(源代码)…………………………………引言.....学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据的高校来说,人工记录是相当麻烦的。
而且当查找某条记录时,由于数据量庞大,还只能靠人工一条条去查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的而世界,原始的记录方式已经被社会所淘汰,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
故随着宿舍需要管理的信息快速增长,建立一个宿舍管理系统可使宿舍管理人员的管理工作系统化、规范化、自动化,大大提高管理效率。
课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。
.....二、设计要求1、认真查阅参考书、资料2、遵守课程设计时间安排4、认真完成课程设计报告 3、按时上机,认真调试程序三、课程设计报告装订内容及顺序课程设计封皮 2、目录、13、引言 4、课程设计任务书5、程序设计说明书6、程序设计目的7、程序基本框架结构图 8、课程设计总结与心得四、设计题目湖南工业大学学生宿舍管理系统程序设计说明书该课程设计的课题是湖南工业大学学生宿舍管理系统。
这个系统主要是实现对学生信息的输入,输出,追加,查询,修改,统计及删除等功能,完成对学生宿舍信息的管理。
在学生宿舍管理系统中主要有输入、显示、追加、查询、修改、统计、删除及退出7大功能。
设计首页界面使其美观。
课程设计目的一、目的1.通过本次课程设计,强化上级动手能力,在理论和实践的基础上进一步巩固《C语言程序设计》课程的学习内容,掌握工程软件设计的基本方法。
2.熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C程序的基本.....编写及运行。
3.了解程序的分模块编写并对程序的每个模块进行详细的设计并且能理解一般C语言编写的程序。
4.熟悉C程序设计的开发环境及C程序的调试过程。
二、实验内容我设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。
包括学生的姓名、学号、性别、专业、班级等等。
在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。
三、需求分析该程序是由C语言编写的一个宿舍管理查询软件,本程序在MicrosoftVisual C++ 6.0下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。
其中查询可以分别以姓名、学号、宿舍号为关键字查询学生信息。
统计可以分别以学号、宿舍号、性别、班级、专业为关键字进行统计。
.....程序基本框架结构图.. ...源代码清单#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <conio.h> #define M 10000 typedef struct sushe {char num[10];char name[20];char sex[5];char class1[10];char lh[10];char qsh[10];char tel[15];} XSSS;XSSS pers[M];int n=0;void cx1();void cx2();void cx3();void cx4();void tj1();void tj2();void tj3();int isnum(char *); void zm();void load();void modify();void input();void save();void list();void zm1();.....void zm3();void explain();void dele();main(){char c;while(1){system(cls);zm();c=getch();switch(c){case '1': load(); input(); save(); break;case '2': load(); modify(); save(); break;case '3': load(); input(); save();break;case '4':load(); list(); save();break;case '5':load(); zm1(); save();break;case '6':load(); zm3(); save();break;case '7':load(); dele(); save();break;case '8':load(); explain(); save();break;case '0': exit(0);default : printf(\*****输入错误,请重新输入!*****\n);}}}void zm(){printf(**************************************************************\n); printf( **\n);printf( **\n);printf( * 湖南工业大学学生宿舍管理系统*\n);printf( **\n);.....printf( **\n);printf(*************************************************************\n); printf(\\n\n);printf( 1. 录入信息\n);printf( 2. 修改信息\n);printf( 3. 追加信息\n);printf( 4. 显示信息\n);printf( 5. 查询信息\n);printf( 6. 统计信息\n);printf( 7. 删除信息\n);printf( 8. 版权信息\n);printf( 0. 退出本程序\n);}void zm1(){char c;system(cls);printf(**************************************************************\n); printf( **\n);printf( **\n);printf( * 湖南工业大学学生宿舍管理系统*\n);printf( **\n);printf( **\n);printf(**************************************************************\n); printf(\\n\n);printf( 1. 按学号查询\n);printf( 2. 按姓名查询\n);printf( 3. 按楼号查询\n);printf( 4. 按楼号+寝室号查询\n);.....printf( 0. 结束查询返回上层\n);c=getch();switch(c){case '1': cx1(); break;case '2': cx2(); break;case '3': cx3();break;case '4': cx4();break;case '0': return ;敤慦汵??牰湩晴尨输入错误,按任意键返回!); getch(); return ;}}void zm3(){char c;system(cls);printf(**************************************************************\n); printf( **\n);printf( **\n);printf( * 湖南工业大学学生宿舍管理系统*\n);printf( **\n);printf( **\n);printf(**************************************************************\n); printf(\\n\n);printf( 1. 按班级统计\n);printf( 2. 按楼号统计\n);printf( 3. 按楼号+寝室号统计\n);printf( 0. 结束统计返回上层\n);c=getch();switch(c){.....case '1': tj1(); break;case '2': tj2(); break;case '3': tj3();break;case '0': return ;敤慦汵??牰湩晴尨输入错误,按任意键返回!); getch(); return ;}}void cx1(){char name[10];int i,m;system(cls);printf(\\n\n**********按学号查询**********\n);printf(\请输入要查询的学号:);scanf(%s,name);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].num,name)==0 ){printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);m++;}if(m==0)printf(\查无此人!\n);printf(press any key continue\n );getch();}void cx2(){char name[20];int i,m;system(cls);printf(\\n\n**********按姓名查询**********\n);printf(\请输入姓名:);.....scanf(%s,name);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].name,name)==0 ){printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);m++;}if(m==0)printf(\查无此人!\n);printf(press any key continue\n );getch();}void cx3(){char name[10];int i,m;system(cls);printf(\\n\n**********按楼号查询**********\n);printf(\请输入要查询的楼号:);scanf(%s,name);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].lh,name)==0 ){printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);m++;}if(m==0)printf(\文件中没有该楼的学生数据!\n);.....printf(press any key continue\n );getch();}void cx4(){char name[10];char num[10];int i,m;system(cls);printf(\\n\n**********按楼号+寝室号查询**********\n);printf(\请输入要查询的楼号:);scanf(%s,name);printf(\请输入要查询的寝室号:);scanf(%s,num);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].lh,name)==0 && strcmp(pers[i].qsh,num)==0){printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);m++;}if(m==0)printf(\文件中没有符合条件的数据!\n);printf(press any key continue\n );getch();}void load(){FILE *fp;n=0;晩?灦昽灯湥尨獸獳琮瑸?牜屢??啎??{printf(The file is not found!\nplease append new data!\n); return ;.....}while(fread(&pers[n],sizeof(XSSS),1,fp)!=0) /*(!feof(fp))*/ {n++;}牰湩晴尨数据导入成功 !\n);fclose(fp);}void save(){FILE *fp;int i=0;晩?灦昽灯湥尨獸獳琮瑸?睜屢??啎??{printf(The file is not found!\nplease append new data!\n); return ;}for(i=0;i<n;i++)fwrite(&pers[i],sizeof(XSSS),1,fp);fclose(fp);牰湩晴尨数据已保存\n);}void input(){XSSS a;while(1){system(cls);printf(\\n\n********** 输入信息 **********\n);printf(\请输入学生住宿信息\n);牰湩晴尨学号:);scanf(%s,a.num);牰湩晴尨姓名:);scanf(%s,);牰湩晴尨性别:);scanf(%s,a.sex);牰湩晴尨班级:);scanf(%s,a.class1);.....牰湩晴尨楼号:);scanf(%s,a.lh);牰湩晴尨寝室号:);scanf(%s,a.qsh);牰湩晴尨本人电话:);scanf(%s,a.tel);if(isnum(a.tel)==0){牰湩晴尨输入的电话号码错误,系统将以 \'0000\' 代替!\n );strcpy(a.tel,}pers[n++]=a;牰湩晴尨是否继续录入(Y/N)?);if (toupper(getch())=='N')break;}}void list(){int i;system(cls);printf(\\n\n********显示所有个人信息********\n);for(i=0;i<n;i++){printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);}printf(press any key continue\n );getch();}void modify(){char num[20];int i;.....system(cls);printf(\\n\n**********修改学生住宿信息**********\n);printf(\请输入要修改学生的学号:);scanf(%s,num);for(i=0;i<n;i++)if(strcmp(pers[i].num,num)==0) break;if(i==n)printf(\文件中没有该学生的数据,无法进行修改操作!\n);else{printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);printf(\真的要修改吗(Y/N)?);if (toupper(getch())=='Y'){printf(\请输入新信息:\n);牰湩晴尨学号:);scanf(%s,pers[i].num);牰湩晴尨姓名:);scanf(%s,pers[i].name);牰湩晴尨性别:);scanf(%s,pers[i].sex);牰湩晴尨班级:);scanf(%s,pers[i].class1);牰湩晴尨楼号:);scanf(%s,pers[i].lh);牰湩晴尨寝室号:);scanf(%s,pers[i].qsh);牰湩晴尨本人电话:);scanf(%s,pers[i].tel);if(isnum(pers[i].tel)==0){牰湩晴尨输入的电话号码错误,系统将以 \'0000\' 代替!\n );strcpy(pers[i].tel,.....}printf(\处理后的结果:\n);printf(#Record 学号姓名性别班级楼号寝室号本人电话\n);printf(} %-8s%-8s%-6s%-8s%-8s%-8s%-8s\n,i+1,pers[i].num,pers[i].name,pers[i].sex,pe rs[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel);}}printf(\处理结束!\n);getch();}void tj1(){char name[10];int i,m;system(cls);printf(\\n\n**********按班级统计**********\n);printf(\请输入要统计人数的班级号:);scanf(%s,name);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].class1,name)==0 )m++;if(m==0)printf(\文件中没有符合条件的数据!\n);elseprintf(%s 班有 %d 人住宿\n,name,m);printf(\\n统计结束!\n );getch();}void tj2(){char name[10];int i,m;system(cls);printf(\\n\n**********按楼号统计**********\n);printf(\请输入要统计人数的楼号:);.....scanf(%s,name);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].lh,name)==0 )m++;if(m==0)printf(\文件中没有符合条件的数据!\n);elseprintf(%s 号楼有 %d 人住宿\n,name,m);printf(\\n统计结束!\n );getch();}void tj3(){char name[10];char num[10];int i,m;system(cls);printf(\\n\n**********按楼号+寝室号统计**********\n); printf(\请输入要统计人数的楼号:);scanf(%s,name);printf(\请输入寝室号:);scanf(%s,num);m=0;for(i=0;i<n;i++)if(strcmp(pers[i].lh,name)==0 && strcmp(pers[i].qsh,num)==0)m++;if(m==0)printf(\文件中没有符合条件的数据!\n);elseprintf(%s 号楼的 %s 寝室有 %d 人住宿\n,name,num,m);printf(\\n统计结束!\n );getch();}int isnum(char *s){int i=0;while(s[i]).....{if(!(s[i]>='0' && s[i]<='9')) return 0;else i++;}return 1;}void explain(){system(cls);printf(**************************************************************\n); printf( **\n);printf( **\n);printf( * 湖南工业大学学生宿舍管理系统*\n);printf( **\n);printf( **\n);printf(****************************************************************\n);printf(\\n\n);牰湩晴尨本学生宿舍管理系统由某某班学生某某某编写,本程序有许多不足之处,\n);牰湩晴尨欢迎大家提出意见,以供修改。