可以依靠百度Hi提醒我
有时间可以解决你的问题
更进一步的要求也可以提醒我
ES:\\A3B3BC533994645E0182A89168F045AC
交易提醒:预付定金是陷阱
For a description of your 宿舍管理数据库怎么编程,
带着你的问题和Email来找我,
请与我们联系进一步需求,
有可能帮你,
使用百度_Hi给我留言,
此回复针对所有来访者和需求者有效,
ES:\\84C1CC070C71738DC48000759777AE96
。。。。。。。。。。。。。。。。。。。。正在写
/学生宿舍信息管理系统/
#include<stdlibh>
#include<stdioh>
#include<conioh>
#include<dosh>
#include<stringh>
#define LEN sizeof(struct commdity)
struct student
{
char name[15];/学生姓名/
int sex;/学生性别/
};
struct commdity
{
int num;/宿舍号码/
int number;/容纳人数---并没有赋予实际作用/
int money;/住宿费用/
struct student Student[8];/最多能住个8人上限/
};
struct commdity comm[50];
void menu()/菜单/
{
printf("\t\t\t\t住宿管理系统:\n\n");
printf("\t\t\t\t0退出\n");
printf("\t\t\t\t1录入宿舍的信息\n");
printf("\t\t\t\t2录入学生的信息\n");
printf("\t\t\t\t3删除学生信息\n");
printf("\t\t\t\t4查找学生信息\n");
printf("\t\t\t\t请选择:(0-7):");
}
void in()/对宿舍信息的录入/
{
int i,m=0;
char ch[2];
FILE fp;
if((fp=fopen("data","ab+"))==NULL)
{
printf("不能打开文件\n");
return;
}
while(!feof(fp))
{
if(fread(&comm[m],LEN,1,fp)==1)
{
m++;
}
}
fclose(fp);
if(m==0)
{
printf("没有任何记录");
}
else
{
system("cls");
printf("存在记录");
}
if((fp=fopen("data","wb"))==NULL)
{
printf("不能打开文件");
return;
}
for(i=0;i<m;i++)
{
if(fwrite(&comm[i],LEN,1,fp)!=1)
{
printf("不能保存");
getch();
}
}
printf("是否输入(y\n)");
scanf("%s",ch);
while(strcmp(ch,"Y")==0 || strcmp(ch,"y")==0)
{
printf("宿舍编号");
scanf("%d",&comm[m]num);
for(i=0;i<m;i++)
{
if(comm[i]num==comm[m]num)
{
printf("该宿舍已经存在,按任意键继续");
getch();
fclose(fp);
return;
}
}
printf("请输入宿舍容纳人数");
scanf("%d",&comm[m]number);
printf("请输入住宿费用");
scanf("%d",&comm[m]money);
if(fwrite(&comm[m],LEN,1,fp)!=1)
{
printf("不能保存");
getch();
}
else
{
printf("已经保存 \n");
m++;
}
printf("是否继续");
scanf("%s",ch);
}
fclose(fp);
printf("OK!\n");
}
void studentInput()/分配学生到指定宿舍/
{
FILE fp;
int i,j,m=0,snum;
if((fp=fopen("data","ab+"))==NULL)
{
printf("不能打开文件!\n");
return;
}
while(!feof(fp))
{
if(fread(&comm[m],LEN,1,fp)==1)
{
m++;
}
}
printf("一共有%d条记录",m);
fclose(fp);
if((fp=fopen("data","wb"))==NULL)
{
printf("不能打开文件\n");
return;
}
printf("请输入学生的宿舍编号\n");
scanf("%d",&snum);
for(i=0;i<m;i++)
{
if(snum==comm[i]num)
{
printf("存在该宿舍!\n");
for(j=0;j<8;j++)
{
if(comm[i]Student[j]sex==NULL)
{
printf("请输入学生的名称\n");
scanf("%s",&comm[i]Student[j]name);
printf("请输入学生的性别(1-男,2-女)\n");
scanf("%d",&comm[i]Student[j]sex);
for(i=0;i<m;i++)
{
if(fwrite(&comm[i],LEN,1,fp)!=1)
{
printf("不能保存");
getch();
}
}
break;
}
}
fclose(fp);
return;
}
}
fclose(fp);
printf("没有找到");
return;
}
void search()/对学生信息查找/
{
int i,m=0;
FILE fp;
int s;
char ch[2];
int num=0;
printf("请输入编号\n");
scanf("%d",&num);
if((fp=fopen("data","ab+"))==NULL)
{
printf("文件不能打开!\n");
return;
}
while(!feof(fp))
{
if(fread(&comm[m],LEN,1,fp)==1)
{
m++;
}
}
if(m==0)
{
printf("没有任何记录存在");
return;
}
printf("一共有%d记录\n",m);
for(i=0;i<m;i++)
{
if(num==comm[i]num)
{
printf("存在该记录 是否显示\n");
scanf("%s",ch);
if(strcmp(ch,"Y")==0 || strcmp(ch,"y")==0)
{
printf("%d宿舍: 住宿人数%d\n",comm[i]num,comm[i]number);
for(s=0;s<8;s++)
{
if(comm[i]Student[s]sex!=NULL)
{
printf("\n学生:%s 性别:%d\n",comm[i]Student[s]name,comm[i]Student[s]sex);
}
}
}
return;
}
}
printf("没有找到");
}
void deleStudent()/删除住宿的学生信息/
{
FILE fp;
int snum,s,i,j,m=0;
char ch[2];
char name[20];
if((fp=fopen("data","ab+"))==NULL)
{
printf("不能打开文件!\n");
return;
}
while(!feof(fp))
{
if(fread(&comm[m],LEN,1,fp)==1)
{
m++;
}
}
fclose(fp);
if(m==0)
{
printf("没有记录\n");
return;
}
printf("请输入宿舍编号\n");
scanf("%d",&snum);
for(i=0;i<m;i++)
{
if(comm[i]num==snum)
{
printf("已经找到该宿舍!\n");
printf("请输入该学生的名称!\n");
scanf("%s",&name);
for(s=0;s<8;s++)
{
if(strcmp(comm[i]Student[s]name,name)==0)
{
printf("已将查询到该学生 (是否删除y\n)\n");
scanf("%s",ch);
if(strcmp(ch,"Y")==0 || strcmp(ch,"y")==0)
{
for(j=s;j<8;j++)
{
comm[i]Student[j]=comm[i]Student[j+1];
}
printf("删除成功!\n");
if((fp=fopen("data","wb"))==NULL)
{
printf("不能打开文件");
return;
}
for(i=0;i<m;i++)
{
if(fwrite(&comm[i],LEN,1,fp)!=1)
{
printf("不能保存");
getch();
}
}
}
fclose(fp);
return;
}
}
}
}
printf("没有找到\n");
return;
}
int main()
{
int n;
menu();
scanf("%d",&n);
while(n!=0)
{
switch(n)
{
case 1:
{
in();
break;
}
case 2:
{
studentInput();
break;
}
case 3:
{
deleStudent();
break;
}
case 4:
{
search();
break;
}
default:
{
break;
}
}
menu();
scanf("%d",&n);
}
system("pause");
}
/程序结束/
/保证语法上没有任何错误 有很多程序段重复,你可以自己改改,还有那个容纳人数我直接固定了8个 不过问题不大/
上面的bednumber是学生的床位,dornumber是学生的宿舍号,flag是学生属于哪位老师的标记。
1老师的数据表只需要有个id,用户名密码就好了,然后老师和学生的管理就是靠flag,在执行删除时判断学生的flag是否与老师的id匹配,新增的时候flag插入相应老师的id即可
2管理员的功能主要不是在数据库的设计上,而是在程序的设计上,最好的设计使用两个循环查找数据库来写,外面一个循环循环的是宿舍号 , 里面一个循环循环的是学生的床位,查找条件就是相应宿舍里的相应床位,一旦找不到,就立刻输出床位号,宿舍号,这样就实现了空床位的查找。
3如果单独要求查找空寝室,直接循环查找学生的宿舍号,一旦查找失败则输出宿舍号,这样就可以了。
楼主怎么样?求采纳,求给分,求围观,谢谢楼主。
以上就是关于求SQL Server 2008 数据库设计实例(简单点儿的,图书馆,学生宿舍……有5个表左右就可以),最好用Java或全部的内容,包括:求SQL Server 2008 数据库设计实例(简单点儿的,图书馆,学生宿舍……有5个表左右就可以),最好用Java或、宿舍管理数据库怎么编程、数据结构,C语言编写宿舍管理系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)