宿舍管理系统

发布 2022-02-11 08:47:28 阅读 2904

#include<>

#include<>

#include<>

#include<>

#define m 100

int dirty=0;

typedef struct

char s_name[31]; 学生姓名。

char s_number[16]; 学生学号。

long d_number; /学生所在寝室的宿舍号。

int total学生总数。

student[m],st;

/判断学号是否与表中所存学号重复。

void s_number_judge(student s,int t)

int i;

for(i=1;i<=(s->total)-1;i++)

while(strcmp(s[i].s_number,s[t].s_number)==0)

/添加学生信息函数。

void add(student s)

printf("请输入学生姓名(30个字符以内):"

scanf("%s",s[++s->total)].s_name);

getchar();

printf("请学输入学生的学号(15个字符以内):"

scanf("%s",s[s->total].s_number);

getchar();

s_number_judge(s,s->total);/判断输入的学号是否与表中所存在的学号重复。

printf("请输入宿舍号码:")

scanf("%d",&s[s->total].d_number);

getchar();

dirty=1;

printf("\t添加成功!");

/显示所有学生信息。

void display_all(student s)

int i;

printf("全体学生信息如下:");

printf("学生姓名学生学号宿舍号");

for(i=1;i<=s->total;i++)

printf("%20s%-15s%-5d",s[i].s_name,s[i].s_number,s[i].d_number);

putchar('');

/按照学号从小到大排序(冒泡法)

void sort_s_number(student s)

int i,j,t;

char name[30];

char number[15];

for(i=1;i<=s->total;i++)

for(j=i;j<=s->total;j++)

if(strcmp(s[i].s_number,s[j].s_number)>0)

strcpy(name,s[i].s_name);

strcpy(number,s[i].s_number);

t=s[i].d_number;

strcpy(s[i].s_name,s[j].s_name);

strcpy(s[i].s_number,s[j].s_number);

s[i].d_number=s[j].d_number;

strcpy(s[j].s_name,name);

strcpy(s[j].s_number,number);

s[j].d_number=t;

/按照寝室号从小到大排序(冒泡法)

void sort_d_number(student s)

int i,j,t;

char name[30];

char number[15];

for(i=1;i<=s->total;i++)

for(j=i;j<=s->total;j++)

if(s[i].d_number>s[j].d_number)

strcpy(name,s[i].s_name);

strcpy(number,s[i].s_number);

t=s[i].d_number;

strcpy(s[i].s_name,s[j].s_name);

strcpy(s[i].s_number,s[j].s_number);

s[i].d_number=s[j].d_number;

strcpy(s[j].s_name,name);

strcpy(s[j].s_number,number);

s[j].d_number=t;

/以姓名为关键字进行查询(顺序查找)

void query_s_name(student s)

int i,j=0;

char name[31];

printf("请输入你要查找的学生的姓名(30个字符以内):"

scanf("%s",name);

getchar();

printf("所查找学生信息如下:");

printf("学生姓名学生学号宿舍号");

for(i=1;i<=s->total;i++)

if(strcmp(name,s[i].s_name)==0)

if(!j)

printf("查找失败,表中不存在该学生的信息!");

/以学号为关键字进行查询(折半查找)

void query_s_number(student s)

int j,high,low,mid;

char number[15];

j=0;low=1;

high=s->total;

printf("请输入你要查找学生的学号:")

scanf("%s",number);

getchar();

sort_s_number(s); 将表中原数据排列成有序序列。

printf("所查找学生信息如下:");

printf("学生姓名学生学号宿舍号");

if(strcmp(number,s[1].s_number)>=0&&strcmp(number,s[s->total].s_number)<=0)

if(!j)

printf("查找失败,表中不存在该学生的信息!");

/以寝室号为关键字进行查询(折半查找)

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);/将表中原数据按照寝室号从小到大排序。

if(i>=s[1].d_number&&i<=s[s->total].d_number)

if(!j)

printf("查找失败,表中不存在该寝室的信息!");

void menu()

printf("\t宿舍管理系统n");

printf("\tn");

printf("\tn");

printf(" t 1. 建立数据\t 2. 查询\t 3. 排序\t 4.退出系统 ");

printf("\tn");

printf("\tn");

宿舍管理系统

需求分析。一编写目的。通过对用户需求进行调查分析,写出需求分析文档。需求分析文档可作为项目设计的基本准则要求,也可作为系统分析员进行系统分析和测试的手册。二需求概述。设计一个宿舍管理系统,使之提供以下功能 1 信息输入功能。2 排序功能。3 查询功能。三需求说明。1 学生的信息包括姓名 学号 房号和...

宿舍管理系统

班级 学号 姓名 第九组。宿舍管理系统测试分析说明书。查询模块设计。1引言。1.1项目开发背景。随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。对于学校而言,学生宿舍管理系统是学校必不可少的一个组成部分,采用计算机来管理宿舍和学生的信息,大大提高了查询的速度,节...

宿舍管理系统

一 课程设计目的和任务。为了方便宿舍管理处更好的管理宿舍情况,在新生入学时记录下学生的相关信息,并在以后能够实现学生的查询和退房。并且按照不同的要求查询学生的相关信息,如,姓名,学号,房间号。二 分析与设计。1.程序的基本功能 1 建立一个宿舍。2 输入学生信息,3 修改一个学生的所有资料。4 删除...