当前位置:文档之家› 宿舍管理系统实验报告

宿舍管理系统实验报告

{
worker[j+1]=worker[j];
j=j-1;
}
worker[j+1]=s;
}
printf("\n按房号排好序: \n");
display();
}
void sort() /*排序*/
{
int k;
m=load();
printf("\n按学号排序请按l\t按姓名排序请按2\t按房号排序请按3\n");
f=1;
}
}
if(f==0)
printf("\n没有此职工!");
printf("\n");
}
void search_housenum() /*(3):按房号查找*/
{
int t,i,f=0;
printf("\n请输入要查询的房号:");
scanf("%d",&t);
printf("\n");
printf("学号\t姓名\t房号\n");
printf("\n");
printf("学号\t姓名\t房号\n");
for (i=0;i<m;i++)
{
if (t==worker[i].num)
{
printf("%d\t%s\t%d\t\n",worker[i].num,worker[i].name,worker[i].housenum);
f=1;
{
int num; //学号
char name[20]; //姓名
int housenum; //房号
}worker[2000],s;
3.模块划分
void menu()://系统菜单
int load()://导入函数
void save(int m)://保存文件函数
void input()//输入函数
case 2:printf(" \n◆◆◆浏览信息◆◆◆\n");printf("\n");scan();break;
case 3:printf(" \n◆◆◆查询信息◆◆◆\n");printf("\n");search();break;
case 4:printf(" \n◆◆◆排序功能◆◆◆\n");printf("\n");sort();break;
{
printf("\n请输入学号: ");
scanf("%d",&worker[i].num);
printf("\n请输入姓名: ");
scanf("%s",worker[i].name);
printf("\n请输入房号: ");
scanf("%d",&worker[i].housenum);
}
save(m);
printf("\n");
}
void search() /*查询职工信息*/
{
int k;
m=load();
printf("\n按学号查询请按l\n按姓名查询请按2\n按房号查询请按3\n");
printf("\n请输入查询方式:");
scanf ("%d",&k);
switch (k) /*查询方式的选择*/
}
else
{
flag=0;
printf("\n您输入有误,请重新选择!\n");
}
}while(flag==0);
while(flag==1)
{
switch(n) /*选择功能*/
{
case 1:printf(" \n◆◆◆录入信息◆◆◆\n");printf("\n");input();break;
{
int num; //学号
char name[20]; //姓名
int housenum; //房号
}worker[2000],s;
int m;
void menu() //系统菜单
{
printf("\n");
printf("-----------职工信息管理----------\n\n");
printf("┏━━━━━━━━━━━━━━━┓\n");
}
printf("\n按姓名排好序: \n");
display();
}
void sort_housenum() /*(3):按房号排序*/
{
int i,j;
for(i=1;i<=m-1;i++)
{
s=worker[i];
j=i-1;
while(s.housenum<worker[j].housenum)
void sort_name()://按姓名排序
void sort_housenum()://按房号排序
void sort()://排序
int main()://主函数
4.详细设计
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
struct worker //定义职工结构体
for (i=0;i<m;i++)
{
if (t==worker[i].housenum)
{
printf("%d\t%s\t%d\t\n",worker[i].num,worker[i].name,worker[i].housenum);
f=1;
}
}
if(f==0)
printf("\n没有此职工!");
洛阳理工学院实验报告
系别
班级
学号
姓名
课程名称
数据结构
实验日期
实验名称
宿舍管理查询系统
成绩
实验目的:
掌握数据结构的两种基本技术:查找和排序,根据实际情况选择效率较高的算法解决应用问题。
实验条件:
计算机一台,Visual C++6.0
实验内容:
1.问题描述
为宿舍管理人员设计一个宿舍管理查询系统,程序采用交互工作方式,完成下列功能:
}
int load() /*导入函数*/
{
FILE*fp;
int n=0;
if((fp=fopen("student_list.txt","rb"))==NULL)
{
printf ("不能打开文件\n");
exit(0);
}
else
{
do
{
fread(&worker[n],sizeof(struct worker),1,fp);
}
}
if(f==0)
printf("\n没有此职工!");
printf("\n");
}
void search_name() /*(2):按姓名查找*/
{
int i,f=0;
char temp[20];
printf("\n请输入要查询的姓名:");
scanf("%s",&temp);
printf("\n");
printf("┠───────────────┨\n");
printf("┃4------------排序-------------┃\n");
printf("┠───────────────┨\n");
printf("┃0------------退出-------------┃\n");
printf("┗━━━━━━━━━━━━━━━┛\n");
for (i=0;i<m;i++) /*将信息输出到磁盘文件中去*/
if (fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)
printf("文件写入失败\n");
printf("\n输入完毕!\n");
printf("\n");
fclose(fp);
}
void sort_name() /*(2):按姓名排序*/
{
int i,j;
for(i=1;i<=m-1;i++)
{
s=worker[i];
j=i-1;
while(strcmp(,worker[j].name)<0)
{
worker[j+1]=worker[j];
j=j-1;
}
wቤተ መጻሕፍቲ ባይዱrker[j+1]=s;
printf("\n请输入排序方式:");
scanf ("%d",&k);
switch (k) /*排序方式的选择*/
{
case 1:sort_num();break; /*按职工学号排序*/
case 2:sort_name();break; /*按职工姓名排序*/
相关主题