




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上C程序设计课程设计报告设计题目: 宿舍管理系统 专 业 班 级 学 号 学生姓名 指导教师 设计时间 教师评分 2001年月日专心-专注-专业目 录 5 5 5 28 29 29 1.概述1.1目的根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。1.2课程设计的组成部分(1).选题(2).查阅文献和相关资料(3).程序构思、编译和调试(4).形成报告和提交报告2.设计的内容:该设计内容为“宿舍管理系统”, 实现对学生宿舍信息的输入、
2、输出、添加、删除、录入、排序、查询、存储、读取。让我们更能快速的查询学生的住宿情况和管理学生。它涉及到C语言的基本类型与各种表达式的应用,程序的流程控制语句,有结构类型的定义,结构型函数的关系,例如:struct 为结构类型函数,sustem 发出一个DOS命令,scanf输入函数,getchar读取字符,printf打印函数,n换行,char flag声明flag是字符型变量。这些语句的使用能让我们更清楚宿舍管理系统中学生的信息。 3.总结通过这次实验,我得到了练习,增强了自己的动手能力,和同学的沟通能力,自己动手编辑的能力,在将来的学习生活中能更好的运用所学的东西去解决问题。3.1课程设计
3、进行过程及步骤输出模块:进行学生信息的输出 /*输出模块*/void output(struct car *p)system("cls");printf("-n");printf("-n");printf("nn -学生信息表- nn");printf("-n");printf("-n");printf("学号-班级-宿舍-学生姓名-学生专业n");printf("-n");p=p->next;while(p!=NULL)prin
4、tf("%3d %8s %8s %8s %sn",p->num,p->classes,p->sushe,p->name,p->zhuanye);printf("-n");p=p->next;printf("按任意键退出!n");getch(); 3.2所遇到的问题,你是怎样解决这些问题的 在课程设计在过程中,对于函数关系之间在运用还不够清晰,在通过反复书写语句的过程中结合该设计进行详细分析理解,反复对函数运用进行强化,通过老师的帮助下,对函数在运用有了进一步在认识;在输出模块中,出现过多次语句的错误
5、,在运行过程就运行不了,然后在检查时候查不出来错误位置,通过仔细检查后,在老师和同学帮助下找出问题所在,并改正语句,程序可以正常运行。3.3体会收获及建议 通过本次重修课程设计,在设计过程中,充分体验到同学之间在友谊是非常重要的,体验到团结的力量,在对于每个出现的问题,也需要我们认真思考、反复查找问题所在,找出问题根源,再通过对知识的加深,老师指导、同学的帮助下解决了问题;还有在面对问题出现时,我必须要以一个良好的心态面对,不能烦躁,这时候就是体验我们的耐性。本次设计让我受益匪浅,应该树立终生学习的目标,在走入社会后也应该有这种信念和态度,用知识来武装自己。非常感谢老师在陪伴和指导,感谢身边在
6、同学,我一定继续努力。3.4程序源代码#include <stdio.h>#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>#include <malloc.h>#include <string.h>#include <io.h>#define N sizeof(struct car)#define LEN 100/*欢迎界面*/void welcomehu()system("cls&quo
7、t;);printf("tt§§§§n");printf("tt n");printf("tt n");printf("tt-津桥欢迎你-第四小组设计n");printf("tt n");printf("tt n");printf("tt n");printf("tt|-|n");printf("tt|* *|n");printf("tt|*宿舍管理系统*|n&quo
8、t;);printf("tt|* *|n");flushall();getch();system("cls");/*学生信息录入模块*/struct carint num; /*学号*/char classes10; /*班级*/char sushe10; /*宿舍*/char name20; /*学生姓名*/char zhuanye20; /*学生专业*/struct car *next;/*系统密码模块*/void mimahu()FILE *fp;int i=0;char a6,aa;char b6;fp=fopen("mima.txt&
9、quot;,"rt");if(fp=NULL)system("cls");printf("*n");printf("* 请您输入系统初始密码(六位) *n");printf("*n");fp=fopen("mima.txt","wt");for(i=0;i<6;i+)aa=getch();printf("*");ai=aa;fputs(a,fp);fclose(fp);fgets(a,7,fp);system("cls&
10、quot;);printf("|-|n");printf("|请输入系统管理员密码:(6位)|n");printf("|-=-|n");flushall();for(i=0;i<6;i+)bi=getch();printf("*");if(a0=b0&&a1=b1&&a2=b2&&a3=b3&&a4=b4&&a5=b5)system("cls");printf("-n");printf(&q
11、uot; 密码正确! n ");printf("-n");printf("nn*按任意键进入主菜单*n");printf("-n");getch();elsesystem("cls");printf("*n");printf("* *n");printf("* 对不起密码错误! 按任意键退出! *n");printf("* *n");printf("*n");flushall();getchar();exi
12、t(1); /*输出模块*/void output(struct car *p)system("cls");printf("-n");printf("-n");printf("nn -学生信息表- nn");printf("-n");printf("-n");printf("学号-班级-宿舍-学生姓名-学生专业n");printf("-n");p=p->next;while(p!=NULL)printf("%3d %8s
13、 %8s %8s %sn",p->num,p->classes,p->sushe,p->name,p->zhuanye);printf("-n");p=p->next;printf("按任意键退出!n");getch(); /*录入模块*/struct car *build()int i=0;char flag;struct car*p,*q,*head;system("cls");head=q=(struct car *)malloc(N);p=(struct car *)malloc(
14、N);printf("*n");printf("* 录入学生信息 *n");printf("*n");printf("n 第%d个学生n",i+1);printf("*n");printf("n 学号:");scanf("%d",&p->num);printf("-n");printf("n 班级:");scanf("%s",p->classes);getchar();prin
15、tf("-n");printf("n 宿舍:");scanf("%s",&p->sushe);printf("-n");printf("n 学生姓名:");flushall();scanf("%s",&p->name);printf("-n");printf("n 学生专业:");flushall();scanf("%s",p->zhuanye);printf("-n&qu
16、ot;);q->next=p;q=p;/system("cls");for(i=1;i+)/ q->next=p;/ q=p;system("cls");printf("*n");printf("* 是否继续录入?(Y/N) *n");printf("*n");getchar();scanf("%s",&flag);getchar();if(flag!='y'&&flag!='Y')break;/ q->
17、;next=p;/ q=p;p=(struct car *)malloc(N);system("cls");printf("*n");printf("n 第%d个学生n",i+1);printf("*n");printf("n 学号:");scanf("%d",&p->num);printf("-n");printf("n 班级:");scanf("%s",p->classes);getchar(
18、);printf("-n");printf("n 宿舍号:");scanf("%s",&p->sushe);printf("-n");printf("n 学生姓名:");scanf("%s",&p->name);getchar();printf("-n");printf("n 学生专业:");scanf("%s",p->zhuanye);printf("-n");
19、system("cls");q->next=p;q=p;flushall();p->next=NULL;/ free(q);flushall();output(head);flushall();return (head);/*按班级排序*/struct car *sort(struct car *h) struct car *temp1,*p1,*p2,*min,*temp;temp=(struct car *)malloc(N);if(h=NULL)return h;for(p1=h;p1!=NULL;p1=p1->next)min=p1;for(p2=
20、p1;p2!=NULL;p2=p2->next)if(min->num>p2->num)min=p2;if(min!=p1)*temp=*min;*min=*p1;*p1=*temp;temp1=min->next;min->next=p1->next;p1->next=temp1;printf("n");return(h);/*文件保存模块*/void save_file(struct car *head)struct car *p;FILE *fp; char filename100;system("cls&qu
21、ot;);printf("-n");printf("n请输入要保存的文件名:n");scanf("%s",filename);flushall();printf("-n");if(fp=fopen(filename,"wt")=NULL)printf("-n");printf("n写文件错误!按任意键退出!n");printf("-n");getch();exit(1);for(p=head->next;p!=NULL;p=p-&
22、gt;next)fprintf(fp,"%d %s %s %s %sn",p->num,p->classes,p->sushe,p->name,p->zhuanye);printf("-n");printf("n文件已保存成功!按任意键返回!n");printf("-n");getch();fclose(fp);/*文件读取模块*/struct car *read_file(char name)struct car *head,*r,*p;FILE *fp;system("c
23、ls");if(fp=fopen(name,"rt")=NULL)printf("-n");printf("nn*您的信息文件为空n按任意键退出*n");printf("-n");getch();exit(1);r=head=(struct car *)malloc(N);/head->next=NULL;/r=head;while(!feof(fp)p=(struct car *)malloc(N);fscanf(fp,"%d %s %s %s %sn",&p->
24、num,p->classes,&p->sushe,&p->name,p->zhuanye);/ if(feof(fp)/ break;r->next=p;r=p;r->next=NULL;/free(p);fclose(fp);return(head);/*学生查询模块*/struct car *find(struct car *p)int num;char name210;int choice;system("cls");printf("#-#n");printf("# 1 按班级查找 #n
25、");printf("#-#n");printf("# 2 按学号查找 #n");printf("#-#n");printf("请选择(1或2)");scanf("%d",&choice);if(choice=2)printf("-n");printf("请输入你要查找(修改)的学号: n");printf("-n");scanf("%d",&num);while(p->next!=N
26、ULL)p=p->next;if(p->num=num)return p;return NULL;if(choice=1)printf("-n");printf("请输入你要查找(修改)的班级: n");printf("-n");scanf("%s",name2);while(p->next!=NULL)p=p->next;if(!(strcmp(p->name,name2)return p;return NULL;return NULL;/*学生删除模块*/int shanchu(s
27、truct car *p0)int num;struct car *p;p=p0->next;if(p=NULL)return 0;system("cls");printf("-n");printf("请输入要删除学生学号:n");printf("-n");scanf("%d",&num);while(p!=NULL)if(p->num=num)p0->next=p->next;free(p);return 1;p0=p;p=p->next;return 0
28、;/*学生增加模块*/int charu(struct car *p0)struct car *p;p=(struct car *)malloc(N);system("cls");printf("-n");flushall();printf("请输入你要增加的学生信息:n");printf("-n");printf("-n");printf("n 学号:");flushall();scanf("%d",&p->num);printf(&quo
29、t;-n");printf("n 班级:");flushall();scanf("%s",p->classes);getchar();printf("-n");printf("n 宿舍号:");flushall();scanf("%s",&p->sushe);printf("-n");printf("n 学生姓名:");flushall();scanf("%s",&p->name);print
30、f("-n");printf("n 学生专业:");scanf("%s",p->zhuanye);while(p0->next!=NULL)p0=p0->next;p0->next=p;p->next=NULL;return 1;/*学生筛选模块*/void shaixuan(struct car *p0)struct car *t,*p;int flag=0;t=(struct car *)malloc(N);system("cls");printf("请输入你要选择学生宿
31、舍n");scanf("%s",&t->sushe);printf("-n");getchar();printf("请输入你要选择学生姓名n");scanf("%s",&t->name);printf("-n");for(p=p0;p!=NULL;p=p->next)system("cls"); if(p->sushe=t->sushe)flag=1;printf("-n");printf("
32、;学号-班级-宿舍号-学生姓名-学生专业n");printf("-n");printf("%3d %8s %8s %8s %sn",p->num,p->classes,p->sushe,p->name,p->zhuanye);printf("-n");printf("-n");printf("nn*按任意键继续*n");printf("-n");getch();if(flag=0)printf("-n");print
33、f("该学生信息不存在!");printf("-n");printf("nn*按任意键返回*n");printf("-n");getch();/*修改学生信息模块*/void xiugai(struct car *p)system("cls");printf("*n");printf("n 请输入修改后学生的信息n");printf("*n");printf("n 学号:");scanf("%d"
34、,&p->num);printf("-n");printf("n 班级");scanf("%s",p->classes);getchar();printf("-n");printf("n 宿舍号:");scanf("%s",&p->sushe);printf("-n");printf("n 学生姓名:");scanf("%s",&p->name);printf(&quo
35、t;-n");printf("n 学生专业:");scanf("%s",p->zhuanye);printf("-n");/*创建用户界面*/char chuangjian()char flag;system("cls");printf("*n");printf("* 您是否要注册新用户(y/n) *n");printf("*n");scanf("%c",&flag);return flag;/*选择用户界面*/
36、void xuanze()system("cls");printf("*n");printf("* 请选择您要登录的用户名 *n");printf("*n");/*修改后保存模块*/void baocun(char a,struct car *head)char flag;struct car *p;FILE *fp;system("cls");printf("*n");printf("* 您是否要保存(y/n) *n");printf("*n&
37、quot;);getchar();scanf("%c",&flag);getchar();if(flag='y'|flag='Y')if(fp=fopen(a,"wt")=NULL)printf("-n");printf("n写文件错误!按任意键退出!n");printf("-n");getch();exit(1);for(p=head->next;p!=NULL;p=p->next)fprintf(fp,"%d %s %s %s %
38、sn",p->num,p->classes,p->sushe,p->name,p->zhuanye);system("cls");printf("*n");printf("* 保存成功! *n");printf("*n");printf("-n");printf("-n");printf("nn*按任意键返回*n");printf("-n");getch();fclose(fp);void mai
39、n()struct car *head,*p;int choice;char flag;char name20;system("color 0B");welcomehu();mimahu();flag=chuangjian();if(flag='y'|flag='Y')head=build();save_file(head);xuanze();scanf("%s", name);head=read_file(name);dosystem("cls"); printf("# ! #n"
40、);printf("# ! #n");printf("#* !宿舍管理系统! *#n");printf("#-!-#n");printf("#-!-!-#n");printf("#-#n");printf("# 1 读取学生信息 #n");printf("#-#n");printf("# 2 查询学生信息 #n");printf("#-#n");printf("# 3 删除学生信息 #n");pr
41、intf("#-#n");printf("# 4 增加学生信息 #n");printf("#-#n");printf("# 5 排序学生信息 #n");printf("#-#n");printf("# 6 修改学生信息 #n");printf("#-#n");printf("# 7 查找学生信息 #n"); printf("#-#n");printf("# 0 退出程序 #n");printf(&
42、quot;!n");printf("-n");printf("请选择(0-7)");scanf("%d",&choice);switch(choice)case 1: output(head);break;case 2: p=find(head);if(p)printf("-n");printf("学号-班级-宿舍号-学生姓名-学生专业n");printf("-n");printf("%3d %8s %3s %3s %sn",p->
43、num,p->classes,p->sushe,p->name,p->zhuanye);printf("-n");printf("nn*按任意键返回*n");printf("-n");getch();elseprintf("-n");printf("该学生信息不存在!");printf("-n");printf("nn*按任意键返回*n");printf("-n");getch();break;case 3: if(shanchu(head)printf("-n");printf("学生删除成功!n");printf("-n");printf("nn*按任意键继续*n");pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小区推广活动合同协议
- 2025年专用设备制造行业服务化转型绿色发展与环保标准报告
- 矿石供货标准合同协议
- 租房居间合同失效协议
- 岗位承包协议书范本
- 租房设施损坏合同协议
- 鞋底三方协议合同
- 用水用电合同协议书范本
- 4六分成协议合同
- 展会保证金合同协议
- 工程师评审代办合同协议
- 小班健康活动:我会吃鱼
- 专利代理师考试题库含答案2024
- DB12 T1230-2023 政务信息资源共享 总体框架
- 管道拆除专项施工方案
- 广西壮族自治区马山县实验高中-双休背后:从“要我学”到“我要学”的转变-高三家长会【课件】
- GB/Z 27021.13-2025合格评定管理体系审核认证机构要求第13部分:合规管理体系审核与认证能力要求
- 湖南省长沙市四大名校2024-2025学年高三2月月考语文试题(原卷版+解析版)
- 《政府采购管理研究的国内外文献综述》5500字
- 糖尿病护理查房提出问题
- 2024年国网浙江省电力有限公司招聘考试真题
评论
0/150
提交评论