#ifndef__DORM_H__#define__DORM_H__#include<stdio.h>#include<stdlib.h>#include<string.h>#defineN6//宿舍容量typedefstruct_People{
int num;char name[20];char gender[5];int age;}peo_t;typedefstruct_Dorm{
peo_t p[N];int count;}dorm_t;voidprint_menu();voidprint_people(dorm_t*my_dorm);voidinsert_people(dorm_t*my_dorm);voiddelete_people(dorm_t*my_dorm);voidsearch_people(dorm_t*my_dorm);voidmodify_people(dorm_t*my_dorm);voidsort_people(dorm_t*my_dorm);#endif
dorm.c:
#include"dorm.h"voidprint_menu(){
puts("------------------------------------------------");printf("1.添加人员信息\n");printf("2.删除人员信息\n");printf("3.查询人员信息\n");printf("4.修改人员信息\n");printf("5.按照床位号排序\n");printf("6.退出宿舍人员信息登记系统\n");puts("------------------------------------------------");printf("请输入您的选择>>");}voidprint_people(dorm_t*my_dorm){
for(int i =0; i < my_dorm->count; i++){
printf("%-4d%-10s%-10s%-4d\n",my_dorm->p[i].num,
my_dorm->p[i].name,my_dorm->p[i].gender,
my_dorm->p[i].age);}}voidinsert_people(dorm_t*my_dorm){
if(N == my_dorm->count){
printf("6人宿舍已满员,添加失败\n");return;}scanf("%d%s%s%d",&(my_dorm->p[my_dorm->count].num),
my_dorm->p[my_dorm->count].name,my_dorm->p[my_dorm->count].gender,&(my_dorm->p[my_dorm->count].age));
my_dorm->count++;printf("该人员的信息添加成功\n");return;}voiddelete_people(dorm_t*my_dorm){
printf("请输入要删除人员的床号>>");int input_num =0;scanf("%d",&input_num);for(int i =0; i < my_dorm->count; i++){
if(input_num == my_dorm->p[i].num){
for(int j = i; j < my_dorm->count-1;j++){
my_dorm->p[j]= my_dorm->p[j+1];}
my_dorm->count--;return;}}printf("该人员的信息不存在,删除失败\n");return;}voidsearch_people(dorm_t*my_dorm){
printf("请输入要查询人员的床号>>");int input_num =0;scanf("%d",&input_num);int i =0;for(i =0; i < my_dorm->count; i++){
if(input_num == my_dorm->p[i].num){
break;}}if(i < my_dorm->count){
printf("此人的基本信息>>%-4d%-10s%-10s%-4d\n",my_dorm->p[i].num,
my_dorm->p[i].name,my_dorm->p[i].gender,
my_dorm->p[i].age);}elseif(i == my_dorm->count){
printf("该人员的信息不存在,查询失败\n");}return;}voidmodify_people(dorm_t*my_dorm){
printf("请输入要修改人员的床号>>");int input_num =0;scanf("%d",&input_num);int i =0;for( i =0; i < my_dorm->count; i++){
if(input_num == my_dorm->p[i].num){
break;}}if(i < my_dorm->count){
printf("请输入此人员所要修改的基本信息>>");scanf("%s%s%d",my_dorm->p[i].name,my_dorm->p[i].gender,&(my_dorm->p[i].age));}elseif(i == my_dorm->count){
printf("该人员的信息不存在,修改失败\n");}return;}voidsort_people(dorm_t*my_dorm){
for(int i =0; i < my_dorm->count-1; i++){
for(int j =0; j < my_dorm->count-1-i; j++){
if(my_dorm->p[j].num > my_dorm->p[j+1].num){
peo_t temp = my_dorm->p[j];
my_dorm->p[j]= my_dorm->p[j+1];
my_dorm->p[j+1]= temp;}}}printf("排序完成\n");return;}
运行结果:
------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>11 Q M 16
该人员的信息添加成功
1 Q M 16------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>16 W M 21
该人员的信息添加成功
1 Q M 166 W M 21------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>15 E M 20
该人员的信息添加成功
1 Q M 166 W M 215 E M 20------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>14 A M 23
该人员的信息添加成功
1 Q M 166 W M 215 E M 204 A M 23------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>13 S M 22
该人员的信息添加成功
1 Q M 166 W M 215 E M 204 A M 233 S M 22------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>12 D M 18
该人员的信息添加成功
1 Q M 166 W M 215 E M 204 A M 233 S M 222 D M 18------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>5
排序完成
1 Q M 162 D M 183 S M 224 A M 235 E M 206 W M 21------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>2
请输入要删除人员的床号>>41 Q M 162 D M 183 S M 225 E M 206 W M 21------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>3
请输入要查询人员的床号>>6
此人的基本信息>>6 W M 211 Q M 162 D M 183 S M 225 E M 206 W M 21------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>4
请输入要修改人员的床号>>1
请输入此人员所要修改的基本信息>>Q M 191 Q M 192 D M 183 S M 225 E M 206 W M 21------------------------------------------------1.添加人员信息
2.删除人员信息
3.查询人员信息
4.修改人员信息
5.按照床位号排序
6.退出宿舍人员信息登记系统
------------------------------------------------
请输入您的选择>>6
欢迎下次使用宿舍人员信息管理系统