学生宿舍信息管理系统
学习资料管理系统防止信息过载 #生活技巧# #组织技巧# #学习资料管理系统#
宿舍管理信息管理系统是一个教育单位不可缺少的部分,通过该系统软件可以更好为用户提供充足的信息和快捷查询以及处理信息的手段。为方便学生宿舍信息的管理,我们设计了一个宿舍管理查询系统,该系统能输入每个人的基础信息,存入文件中进行归档;打印出文件中已存在的所有学生信息;可以根据学生的各种关键字(学号,姓名,班级,年龄,性别,宿舍号)对学生信息进行查找;能根据学号查找到学生信息后对学生信息进行修改或删除操作;也能够通过不同的方式对学生信息(学号排序,班级排序,宿舍排序,姓名排序)进行排序。
本次课程设计的题目是宿舍管理查询软件,要求可以存入学生信息,学生信息包括学号,姓名,班级,年龄,宿舍号等各项基本信息,如表1.1。该系统主要有以下六个功能,即对学生信息进行:输入,打印,查询,修改,删除,排序等功能。
1.系统登录模块:打开系统首先进入登录界面,正确输入密码和用户名后会出现颜色变化的爱心欢迎图案界,然后进入到主菜单控制模块。如果密码或用户名输入错误则屏幕与字体的颜色发生变化。若密码或用户名三次输入错误则系统自动退出。
3.学生宿舍信息录入模块:初次打开系统,依次输入学生信息,建立学生宿舍信息数据库并保存文件,下次打开系统时,之前录入的信息依然存在并且可以选择继续输入或进行其他操作。
5.学生宿舍信息查询模块:根据学生的学号、姓名、班级等其他信息进行查找,如果学生信息不存在则给出提示,查询成功会显示该学生全部信息,并可以选择继续查询或返回主菜单。
8.学生宿舍信息排序模块:选择不同的条件对学生信息进行排序,可以选择学号、班级、宿舍号或姓名对所有在数据库中的学生信息进行排序。排序成功后可选择继续用其他方式排序或者返回主菜单。
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#include "conio.h"
#include "windows.h"
#define MAX 1000
typedef struct
{
int num;
char name[20];
char sex[5];
int age;
char studentclass[20];
int dorm;
}STUDENTS;
typedef struct Points
{
int a;
struct Points *points;
}Points;
char xiugai[10]="修改";
char chaxun[10]="查询";
char xuehao[]="学号";
char xingming[]="姓名";
char xingbie[]="性别";
char nianling[]="年龄";
char banji[]="班级";
char sushe[]="宿舍";
void gotoxy(int x, int y)
{
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
enum Color
{
black, blue, green, lakeBlue, red, purple, yellow, white, gray,
lightBlue, lightGreen, lightSimpleGreen, lightRed, lightPurple, lightYellow, brightWhite
};
void setColor(unsigned short textColor=0, unsigned short backColor=7){
char command[9]="color 07";
command[6]='0'+backColor;
command[7]='0'+textColor;
system(command);
}
void pause()
{
int i;
printf("\n\n按任意键加回车返回主菜单!");
scanf("%d",&i);
getchar();
}
void print(STUDENTS stu[],int point)
{
printf("\n\n\n学号:%d,姓名:%s,性别:%s,年龄:%d,班级:%s,宿舍号: %d\n",
stu[point].num,stu[point].name,stu[point].sex,stu[point].age,stu[point].studentclass,stu[point].dorm);
}
void printfNotFound()
{
printf("找不到该数据\n");
}
void printSearch(STUDENTS stu[],int i)
{
printf(" %7d%11s%10s%10d%12s%12d\n\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].studentclass,stu[i].dorm);
}
void printHead(){
printf("-------------------------------------------------------------------------------\n");
printf("-------------------------------------------------------------------------------\n");
printf("学号: 姓名: 性别: 年龄: 班级: 宿舍号: \n");
printf("-------------------------------------------------------------------------------\n");
printf("-------------------------------------------------------------------------------\n\n\n");
}
int a=1;
void selectOperate()
{
button:
printf("继续操作请按1,返回主菜单请按0 ");
scanf("%d",&a);
if(!(a==1||a==0))
{
printf("请输入正确的指令");
goto button;
}
}
int read_file(STUDENTS stu[])
{
FILE *fp;
int point=-1;
fp=fopen("stu.txt","rt");
if(fp==NULL)
{
printf("\n\n*****库存文件不存在!请创建");
return 0;
}
while(!feof(fp))
{
point++;
fread(&stu[point],sizeof(STUDENTS),1,fp);
}
fclose(fp);
return point;
}
void save_file(STUDENTS stu[],int sum)
{
FILE *fp;
int i;
if((fp=fopen("temp.txt","w"))==NULL)
{
printf("写文件错误!\n");
return;
}
for(i=0;i<sum;i++)
if(fwrite(&stu[i],sizeof(STUDENTS),1,fp)!=1)
printf("写文件错误!\n");
fclose(fp);
remove("stu.txt");
rename("temp.txt","stu.txt");
}
int input(STUDENTS stu[],int sum)
{
setColor(blue,white);
for(;sum<MAX;sum++)
{
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 创建学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf("\n\n 录入学生信息 (最多%d个)\n",MAX);
printf(" ----------------------------\n");
printf("\n 第%d个学生\n",sum+1);
printf("\n 请输入学生的学号:");
scanf("%d",&stu[sum].num);
printf("\n 请输入学生的姓名:");
scanf("%s",stu[sum].name);
printf("\n 请输入学生的性别:");
scanf("%s",stu[sum].sex);
printf("\n 请输入学生的年龄:");
scanf("%d",&stu[sum].age);
printf("\n 请输入学生的班级:");
scanf("%s",stu[sum].studentclass);
printf("\n 请输入学生的宿舍号:");
scanf("%d",&stu[sum].dorm);
printf("创建成功!");
selectOperate();
if(a==0)
return sum+1;
}
return sum+1;
}
void output(STUDENTS stu[],int sum)
{
int i;
setColor(purple,white);
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 打印学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printHead();
for(i=0;i<sum;i++)
printSearch(stu,i);
pause();
}
void cpStu(STUDENTS stu0[],STUDENTS stu[],int sum)
{
int i;
for(i=0;i<sum;i++)
{
stu[i].num=stu0[i].num;
strcpy(stu[i].name,stu0[i].name);
strcpy(stu[i].sex,stu0[i].sex);
stu[i].age=stu0[i].age;
strcpy(stu[i].studentclass,stu0[i].studentclass);
stu[i].dorm=stu0[i].dorm;
}
}
void exchangeData(STUDENTS *stu1,STUDENTS *stu2)
{
stu1->num=stu2->num;
stu1->dorm=stu2->dorm;
stu1->age=stu2->age;
strcpy(stu1->name,stu2->name);
strcpy(stu1->sex,stu2->sex);
strcpy(stu1->studentclass,stu2->studentclass);
}
int selectSort()
{
int choice;
setColor(blue,white);
printf("\n\n\n ********请您选择条件进行排序********\n\n");
printf(" 1. 学号\n\n");
printf(" 2. 班级\n\n");
printf(" 3. 宿舍号\n\n");
printf(" 4. 姓名\n\n");
printf(" 0. 返回主菜单\n\n");
printf(" 请选择(0-3):");
scanf("%d",&choice);
return choice;
}
void sortByDorm(STUDENTS stu0[],int sum,STUDENTS stup[])
{
STUDENTS stu1;
int i,j;
cpStu(stu0,stup,sum);
for(i=0;i<sum-1;i++)
for(j=0;j<sum-1-i;j++)
if(stup[j].dorm>stup[j+1].dorm)
{
exchangeData(&stu1,&stup[j]);
exchangeData(&stup[j],&stup[j+1]);
exchangeData(&stup[j+1],&stu1);
}
}
void sortByClass(STUDENTS stu0[],int sum,STUDENTS stup[])
{
STUDENTS stu1;
int i,j,k;
cpStu(stu0,stup,sum);
for(i=0;i<sum-1;i++)
{
k=i;
for(j=i+1;j<sum;j++)
if(strcmp(stup[k].studentclass,stup[j].studentclass)>0)
k=j;
if(k!=i)
{
exchangeData(&stu1,&stup[i]);
exchangeData(&stup[i],&stup[k]);
exchangeData(&stup[k],&stu1);
}
}
}
void sortByName(STUDENTS stu0[],int sum,STUDENTS stup[])
{
STUDENTS stu1;
STUDENTS stu[1000];
int i,j,low,high,mid;
for(i=0;i<sum;i++){
stu[i+1].num=stu0[i].num;
strcpy(stu[i+1].name,stu0[i].name);
strcpy(stu[i+1].sex,stu0[i].sex);
stu[i+1].age=stu0[i].age;
strcpy(stu[i+1].studentclass,stu0[i].studentclass);
stu[i+1].dorm=stu0[i].dorm;
}
for(i=2;i<sum+1;i++)
{
exchangeData(&stu1,&stu[i]);
low=1;high=i-1;
while(low<=high)
{
mid=(low+high)/2;
if(strcmp(stu1.name,stu[mid].name)>0)
low=mid+1;
else
high=mid-1;
}
for(j=i-1;j>=high+1;j--)
exchangeData(&stu[j+1],&stu[j]);
exchangeData(&stu[high+1],&stu1);
}
for(i=0;i<sum;i++)
{
stup[i].num=stu[i+1].num;
strcpy(stup[i].name,stu[i+1].name);
strcpy(stup[i].sex,stu[i+1].sex);
stup[i].age=stu[i+1].age;
strcpy(stup[i].studentclass,stu[i+1].studentclass);
stup[i].dorm=stu[i+1].dorm;
}
}
void ShellInsert(STUDENTS stup[],int sum,int dk)
{
int i,j,k;
STUDENTS stu1;
for(k=0;k<dk;k++)
for(i=dk+k;i<sum;i=i+dk)
if(stup[i].num<stup[i-dk].num)
{
exchangeData(&stu1,&stup[i]);
for(j=i-dk;j>=0&&stu1.num<stup[j].num;j=j-dk)
exchangeData(&stup[j+dk],&stup[j]);
exchangeData(&stup[j+dk],&stu1);
}
}
void sortByNum(STUDENTS stu[],int sum,STUDENTS stup[])
{
int x;
cpStu(stu,stup,sum);
int dlta[5]={5,4,3,2,1};
for(x=0;x<5;x++)
ShellInsert(stup,sum,dlta[x]);
}
void sortStudent(STUDENTS stu[],int sum)
{
setColor(green,white);
STUDENTS stup[1000];
int choice,x,i;
do
{
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 学生宿舍信息排序 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
select:
choice=selectSort();
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 学生宿舍信息排序 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
switch(choice)
{
case 1: sortByNum(stu,sum,stup); break;
case 2: sortByClass(stu,sum,stup);break;
case 3: sortByDorm(stu,sum,stup); break;
case 4: sortByName(stu,sum,stup); break;
case 0: break;
}
printHead();
for(i=0;i<sum;i++)
printSearch(stup,i);
if(choice==1||choice==2||choice==3||choice==4)
{
printf("\n\n");
button:
printf("继续查询请按1,返回主菜单请按0 ");
scanf("%d",&x);
if(x==1)
x=1;
else if(x==0)
continue;
else
{
printf("请输入正确的指令\n");
goto button;
}
}
else if(choice==0)
x=0;
else
{
printf("\n\t\t请输入正确的指令\n");
goto select;
}
}while(x==1);
}
int selectChoice(char tiaojian[20])
{
int choice;
setColor(purple,white);
printf("\n\n\n ********您想根据哪个条件%s********\n\n",tiaojian);
printf(" 1. 学号\n\n");
printf(" 2. 姓名\n\n");
printf(" 3. 性别\n\n");
printf(" 4. 年龄\n\n");
printf(" 5. 班级\n\n");
printf(" 6. 宿舍号\n\n");
printf(" 0. 返回主菜单\n\n");
printf(" 请选择(0-6):");
scanf("%d",&choice);
return choice;
}
Points *connectPoint(Points *r,Points *p,int i)
{
p=(Points *)malloc(sizeof(Points));
p->a=i;
r->points=p;
r=p;
return r;
}
Points *findPoint(STUDENTS stu[],int sum,int choice,char tiaojian[])
{
int i,j=0;
Points *p,*q,*r; q=(Points *)malloc(sizeof(Points));
r=q;
int num,age,dorm;
char classs[20],sex[5],name[20];
printf(" \n\n请输入您要查找的学生的%s",tiaojian);
switch(choice)
{
case 1: scanf("%d",&num);
for(i=0;i<sum;i++)
if(num==stu[i].num)
r=connectPoint(r,p,i);
break;
case 2:
scanf("%s",name);
for(i=0;i<sum;i++)
if(strcmp(name,stu[i].name)==0)
r=connectPoint(r,p,i);
break;
case 3:
scanf("%s",sex);
for(i=0;i<sum;i++)
if(strcmp(sex,stu[i].sex)==0)
r=connectPoint(r,p,i);
break;
case 4:
scanf("%d",&age);
for(i=0;i<sum;i++)
if(age==stu[i].age)
r=connectPoint(r,p,i);
break;
case 5:
scanf("%s",classs);
for(i=0;i<sum;i++)
if(strcmp(classs,stu[i].studentclass)==0)
r=connectPoint(r,p,i);
break;
case 6:
scanf("%d",&dorm);
for(i=0;i<sum;i++)
if(dorm==stu[i].dorm)r=connectPoint(r,p,i);
break;
}
r->points=NULL;
return q;
}
void inquire(STUDENTS stu[],int sum)
{
int choice;
Points *p;
setColor(blue,white);
do{
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 查询学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
button:
choice=selectChoice(chaxun);
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 查询学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
switch(choice)
{
case 1:p=findPoint(stu,sum,choice,xuehao);
break;
case 2:p=findPoint(stu,sum,choice,xingming);
break;
case 3:p=findPoint(stu,sum,choice,xingbie);
break;
case 4:p=findPoint(stu,sum,choice,nianling);
break;
case 5:p=findPoint(stu,sum,choice,banji);
break;
case 6:p=findPoint(stu,sum,choice,sushe);
break;
case 0:return;
default :printf("请输入正确的指令");
goto button;
}
if(p->points!=NULL)
{
p=p->points;
printHead();
while(p!=NULL)
{
printSearch(stu,p->a);
p=p->points;
}
}
else
printfNotFound();
selectOperate();
}while(a);
}
Points *findPoint2(STUDENTS stu[],int sum,int choice,char tiaojian[])
{
int i,j=0;
Points *p,*q,*r;
q=(Points *)malloc(sizeof(Points));
r=q;
int num,age,dorm;
char classs[20],sex[5],name[20];
printf(" \n\n请输入您要查找的学生的%s",tiaojian);
switch(choice)
{
case 1: scanf("%d",&num);
break;
case 2: scanf("%s",name);
break;
case 3: scanf("%d",&dorm);
break;
}
int flag=0;
int low=0,high=sum-1,mid;
while(low<=high)
{
mid=(low+high)/2;
switch(choice)
{
case 1:if(num==stu[mid].num)
{
r=connectPoint(r,p,mid);
printf("mid==%d",mid);
flag=1;
}
else if(stu[mid].num>num)
high=mid-1;
else
low=mid+1;
break;
case 2: if(strcmp(name,stu[mid].name)==0)
{
r=connectPoint(r,p,mid);
flag=1;
}
if(strcmp(stu[mid].name,name)>0)
high=mid-1;
else
low=mid+1;
break;
case 3: if(dorm==stu[mid].dorm)
{
r=connectPoint(r,p,mid);
flag=1;
}
if(stu[mid].dorm>dorm)
high=mid-1;
else
low=mid+1;
break;
}
if(flag)
break;
}
r->points=NULL;
return q;
}
void inquire2(STUDENTS stu[],int sum) {
STUDENTS stup1[1000];
STUDENTS stup2[1000];
STUDENTS stup3[1000];
sortByNum(stu,sum,stup1);
sortByName(stu,sum,stup2);
sortByDorm(stu,sum,stup3);
setColor(blue,white);
int choice;
Points *p;
do
{
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 查询学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
button:
gotoxy(40,5);
printf("**您想根据哪个条件查询**");
gotoxy(40,7);
printf("1. 学号");
gotoxy(40,9);
printf("2. 姓名");
gotoxy(40,11);
printf("3. 宿舍号");
gotoxy(40,13);
printf("0. 返回主菜单");
gotoxy(40,15);
printf("请选择(0-3):");
scanf("%d",&choice);
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 查询学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
switch里面不能调用排序功能,为什么?????????
switch(choice)
{
case 1:p=findPoint2(stup1,sum,choice,xuehao);
break;
case 2:p=findPoint2(stup2,sum,choice,xingming);
break;
case 3:p=findPoint2(stup3,sum,choice,sushe);
break;
case 0:
return;
default :printf("请输入正确的指令");
goto button;
}
if(p->points!=NULL)
{
p=p->points;
printHead();
while(p!=NULL)
{
if(choice==1)
{
printSearch(stup1,p->a);
p=p->points;
}
if(choice==2)
{
printSearch(stup2,p->a);
p=p->points;
}
if(choice==3)
{
printSearch(stup3,p->a);
p=p->points;
}
}
}
else
printfNotFound();
selectOperate();
}while(a);
}
int operateNum(int sum)
{
int n;
printf("请输入你要操作的学生的个数:");
scanf("%d",&n);
if(n>sum)
{
printf("\n\n输入学生个数超过总量,操作失败\n");
selectOperate();
return 0;
}
else if(n<=0)
{
printf("\n\n输入学生个数不能小于或等于0,操作失败\n");
selectOperate();
return 0;
}
return n;
}
void exchangeData(STUDENTS *stu1,STUDENTS *stu2);
int deletel(STUDENTS stu[],int sum)
{
a=1;
system("cls");
setColor(blue,white);
int i,j=0,n=0,flag=1;
Points *p;
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 删除学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
while(n==0)
{
n=operateNum(sum);
if(a==0)
return sum;
}
do
{
if(flag)
{
system("cls");
Points *p;
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 删除学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
}
p=findPoint(stu,sum,1,xuehao);
p=p->points;
if(p!=NULL)
{
i=p->a;
for(;i<sum-1;i++)
exchangeData(&stu[i],&stu[i+1]);
printf("删除成功\n");
flag=0;
j++;
if(j==n)
{
printf("\n\n删除操作已完成\n");
selectOperate();
if(a==0)
return sum-n;
else
deletel(stu,sum-n);
}
}
else{
printf("输入的学号不存在,操作失败\n");
selectOperate();
if(a==0)
return sum-j;
}
}while(a==1&&j<n);
}
void change(STUDENTS stu[],int sum)
{
int choice;
Points *p;
setColor(purple,white);
do
{
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 修改学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
p=findPoint(stu,sum,1,xuehao);
p=p->points;
if(p!=NULL)
{
system("cls");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
printf(" ▄ ▄\n");
printf(" ▄ 修改学生宿舍信息 ▄\n");
printf(" ▄ ▄\n");
printf(" ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇\n");
int i=p->a;
print(stu,i);
button:
choice=selectChoice(xiugai);
switch(choice)
{
case 1:
printf(" 请输入你改的新学号");
scanf("%d",&stu[i].num);
break;
case 2:
printf(" 请输入你改的新姓名");
scanf("%s",stu[i].name);
break;
case 3:printf(" 请输入你改的新性别");
scanf("%s",stu[i].sex);
break;
case 4:
printf(" 请输入你改的新年龄");
scanf("%d",&stu[i].age);
break;
case 5:
printf(" 请输入你改的新班级");
scanf("%s",stu[i].studentclass);
break;
case 6:
printf(" 请输入你改的新宿舍");
scanf("%d",&stu[i].dorm);
break;
case 0:
return;
default :
printf(" 请输入正确的指令");
goto button;
}
printf("\n 修改成功:");
print(stu,i);
}
else
printfNotFound();
selectOperate();
if(a==0)
return;
}while(a);
}
void pagedis()
{
setColor(yellow,lakeBlue);
gotoxy(40,5);
printf("**********************************");
gotoxy(40,6);
printf("* *");
gotoxy(40,7);
printf("* *");
gotoxy(40,8);
printf("* *");
gotoxy(40,9);
printf("* 欢迎进入学生宿舍信息管理系统 *");
gotoxy(40,10);
printf("* *");
gotoxy(40,11);
printf("* *");
gotoxy(40,12);
printf("* *");
gotoxy(40,13);
printf("**********************************");
}
void welcome()
{
int i,j;
for(i=0;i<3;i++)
{
setColor(lakeBlue,white);
char heart[30][150]={
" ************ ************",
" ****************** ******************",
" ******************#******* **************************",
" **********************#********* ********************************",
" **********************##########*** **************#******************** ",
" **********************#*********#**** **##********#************************ ",
" *********##########**#****#****#**********##****#************************** ",
" **********#*******#*#*****#***#***************#********#########*********** ",
" **********#*****#********#***********#####***#********#*******#********** ",
" ***********#***#********#***************#***#******#*#****#**#********* ",
" ***********##**********#**************#*****#****#***#*****#*#******* ",
" **********##*********#*#************#*****####*****#*******#******* ",
" ********#**#*******#***#************#*************#************** ",
" *****#****#*****#*****#************#************#************ ",
" **#**********#*******#******######************#********** ",
" **********#*********#*****########################### ",
" ************************************************** ",
" ********************************************** ",
" ****************************************** ",
" ************************************** ",
" ********************************** ",
" ****************************** ",
" ************************** ",
" ********************** ",
" ****************** ",
" ************** ",
" ********** ",
" ****** ",
" ** "
};
for(j=0;j<29;j++)
printf("%s\n",heart[j]);
Sleep(50);
setColor(yellow,white);
Sleep(50);
setColor(green,white);
Sleep(50);
setColor(purple,white);
Sleep(50);
setColor(red,white);
Sleep(50);
}
}
void bye(){
system("cls");
int i;
printf(" Bye ~\n\n");
setColor(green,white);
char heart[11][150]={
"\t\t _____ _ _ ",
"\t\t |_ _| | |_ __ _ _ _ | |__ ___ o O O ",
"\t\t | | | ' \\ / _` | | ' \\ | / / (_-< o ",
"\t\t _|_|_ |_||_| \\__,_| |_||_| |_\\_\\ /__/_ TS__[O] ",
"\t\t_|\"\"\"\"\"|_|\"\"\"\"\"|_|\"\"\"\"\"|_|\"\"\"\"\"|_|\"\"\"\"\"|_|\"\"\"\"\"| {======| ",
"\t\t\"`-0-0-\'\"`-0-0-\'\"`-0-0-\'\"`-0-0-\'\"`-0-0-\'\"`-0-0-\'./o--000' "
};
printf("\n\n");
for(i=0;i<6;i++)
printf("%s\n",heart[i]);
Sleep(500);
setColor(red,white);
Sleep(500);
}
void check()
{
char userName[6];
char userPWD[5];
int i;
setColor(black,yellow);
for(i = 1; i < 6; i++)
{
printf("\n 请输入您的用户名:");
gets(userName);
printf("\n 请输入您的密码:");
gets(userPWD);
if ((strcmp(userName,"202301")==0) && (strcmp(userPWD,"123456")==0))
{
system("cls");
welcome();
printf("\n 3秒后自动跳转");
Sleep(3000);
return;
}
else
{
setColor(red,white);
if (i < 3)
printf("用户名或密码错误,请重新输入!");
else
{
printf("您已连续3次将用户名或密码输错,系统将退出!");
exit(1);
}
}
}
}
void menu()
{
STUDENTS stu[20];
int choice,sum;
setColor(blue,white);
sum=read_file(stu);
if(sum==0)
{
printf("首先录入基本库存信息!按回车后进入*****\n");
getch();
sum=input(stu,sum);
}
system("cls");
do
{
system("cls");
button:
gotoxy(40,5);
printf("**学生宿舍信息管理系统**");
gotoxy(40,7);
printf("1. 创建学生宿舍信息");
gotoxy(40,9);
printf("2. 打印学生宿舍信息");
gotoxy(40,11);
printf("3. 查询学生宿舍信息");
gotoxy(40,13);
printf("4. 修改学生宿舍信息");
gotoxy(40,15);
printf("5. 删除学生宿舍信息");
gotoxy(40,17);
printf("6. 学生宿舍信息排序");
gotoxy(40,19);
printf("0. 退出系统");
gotoxy(40,21);
printf(" 请选择(0-6):");
scanf("%d",&choice);
switch(choice)
{
case 1: sum=input(stu,sum);
break;
case 2: output(stu,sum) ;
break;
case 3: inquire(stu,sum);
break;
case 4: change(stu,sum);
break;
case 5: sum=deletel(stu,sum);
break;
case 6: sortStudent(stu,sum);
break;
case 0: bye();
break;
default:system("cls");
printf("\n请输入正确的指令!\n");
goto button;
}
}while(choice!=0);
save_file(stu,sum);
}
int main()
{
pagedis();
check();
menu();
getch();
return 0;
}
网址:学生宿舍信息管理系统 https://www.yuejiaxmz.com/news/view/334079
相关内容
【C语言】学生宿舍信息管理系统用计算机来管理宿舍信息的好处,易科士:述高校学生宿舍管理系统的重要性
大学宿舍环境监测管理系统
中学生宿舍管理制度
学生宿舍管理规定
学生宿舍管理制度(精选22篇)
【大学生宿舍保洁 服务/价格信息】
学生宿舍管理制度[页2]
学生宿舍管理制度.docx
信息工程学院开展学生宿舍安全卫生大检查