学生宿舍管理系统(实践作业)进来抄作业吧完全原创

完全原创,自编程,快来抄作业吧!!!

顺便点个赞

#include"stdio.h"
#include"string.h"
#include"windows.h"
#define N 1000//学生
int zj();
int gx();
int sc();
int cx();
int xs();
int xhcx(int b);
int xmcx();
int fjhcx(int b);
int fs1();
int fs2();
int fs3();
int tj();
int px();
int p = 0;//序号
int r = 0;
struct xt
{
    int sc;
    int xl;
    int lh;
    int fjh;
    int cwh;
    long xh;
    char xm[15];
    char xb[10];
    char xib[20];
    int bj;
} a[N],max[3];
zj()
{
    int d;

    p++;
    printf("\t\t\t\t\t请输入楼号");
    scanf_s("%d", &a[p].lh);
    printf("\t\t\t\t\t请输入房间号");
    scanf_s("%d", &a[p].fjh);
    printf("\t\t\t\t\t请输入床位号");
    scanf_s("%d", &a[p].cwh);
    printf("\t\t\t\t\t请输入学号");
    scanf_s("%ld", &a[p].xh);
    int g,h=0;
    for (g = 0; g < N; g++)
    {
        if (a[g].xh == a[p].xh)
            h++;
    }
    if (h != 1)
    {
        printf("\t\t\t\t\t该学号已有数据!\n");
        printf("\t\t\t\t\t是否继续:\n");
        printf("\t\t\t\t\t         继续输入1\n");
        printf("\t\t\t\t\t         结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &d);
        if (d == 1) { zj(); }
        return;
    }
    
    printf("\t\t\t\t\t请输入姓名");
    scanf_s("%s", &a[p].xm, sizeof(a[p].xm));
    printf("\t\t\t\t\t请输入性别");
    scanf_s("%s", &a[p].xb, sizeof(a[p].xb));
    printf("\t\t\t\t\t请输入系别");
    scanf_s("%s", &a[p].xib, sizeof(a[p].xib));
    printf("\t\t\t\t\t请输入班级");
    scanf_s("%d", &a[p].bj);
    a[p].sc = 1;
    printf("\t\t\t\t\t是否继续:\n");
    printf("\t\t\t\t\t继续输入1\n");
    printf("\t\t\t\t\t结束输入2\n");
    printf("\t\t\t\t\t");
    scanf_s("%d", &d);
    if (d == 1) { zj(); }
}
gx()
{
    int c = 0, d = 0, e = 0;
    printf("\t\t\t\t\t请输入更改的学号");
    scanf_s("%d", &c);
    d = xhcx(c);
    if (d == 0)
    {
        printf("\t\t\t\t\t已删除!\n\t\t\t\t\t是否继续:\n\t\t\t\t\t         继续输入1\n\t\t\t\t\t         结束输入2\n");
        printf("\t\t\t\t\t"); 
        scanf_s("%d", &e);
        if (e == 1) gx();
        return;
    }
    if (d == N)
    {
        printf("\t\t\t\t\t查无此人!\n");
        printf("\t\t\t\t\t是否继续:\n");
        printf("\t\t\t\t\t         继续输入1\n\t\t\t\t\t         结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &e);
        if (e == 1) gx();
        return;
    }
    printf("\t\t\t\t\t请更改楼号");
    scanf_s("%d", &a[c].lh);
    printf("\t\t\t\t\t请更改房间号");
    scanf_s("%d", &a[c].fjh);
    printf("\t\t\t\t\t请更改床位号");
    scanf_s("%d", &a[c].cwh);
    //printf("\t\t\t\t\t请更改学号");
    //scanf_s("%ld", &a[c].xh);
    printf("\t\t\t\t\t请更改姓名");
    scanf_s("%s", &a[c].xm, sizeof(a[c].xm));
    printf("\t\t\t\t\t请更改性别");
    scanf_s("%s", &a[c].xb, sizeof(a[c].xb));
    printf("\t\t\t\t\t请更改系别");
    scanf_s("%s", &a[c].xib, sizeof(a[c].xib));
    printf("\t\t\t\t\t请更改班级");
    scanf_s("%d", &a[c].bj);
    printf("\t\t\t\t\t更改后\n");
    xhcx(a[c].xh);
    printf("\t\t\t\t\t是否继续:\n");
    printf("\t\t\t\t\t         继续输入1\n\t\t\t\t\t         结束输入2\n");
    printf("\t\t\t\t\t");
    scanf_s("%d", &e);
    if (e == 1) gx();
}
sc()
{
    int c, d, e;
    printf("\t\t\t\t\t请输入需要删除学生的学号:");
    scanf_s("%d", &c);
    d = xhcx(c);
    if (d == 0)
    {
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &e);
        if (e == 1) sc();
        return;
    }
    if (d == N)
    {
        printf("\t\t\t\t\t查无此人!\n");
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &e);
        if (e == 1) sc();
        return;
        return;
    }
    a[d].sc = 2;
    p--;
    printf("\t\t\t\t\t继续输入1\n");
    printf("\t\t\t\t\t结束输入2\n");
    printf("\t\t\t\t\t");
    scanf_s("%d", &e);
    if (e == 1) sc();
    return;
}
cx()
{
    int e;
    printf("\t\t\t\t\t1.学号查询\n");
    printf("\t\t\t\t\t2.姓名查询\n");
    printf("\t\t\t\t\t3.房间号查询\n");
    printf("\t\t\t\t\t4.退出\n");



    while (TRUE)
    {
        printf("\t\t\t\t\t请选择查询方式:");
        printf("\t\t\t\t\t               ");
        scanf_s("%d", &e);
        switch (e)
        {
        case 1:fs1(); break;
        case 2:fs2(); break;
        case 3:fs3(); break;
        case 4:return;
        default:printf("\t\t\t\t\t请选输入1-4\n");
        }
    }
}
xs()
{
    int d, e;
    printf("\t\t\t\t\t数据:楼号\t房间号\t床位号\t学号\t姓名\t性别\t系别\t班级\n");
    for (d = 1; d < N; d++)
    {
        if (a[d].sc == 1)
        {
            printf("\t\t\t\t\t      %d    \t%d\t%d\t%ld\t%s\t%s\t%s\t%d\n", a[d].lh, a[d].fjh, a[d].cwh, a[d].xh, a[d].xm, a[d].xb, a[d].xib, a[d].bj);
        }
    }
    printf("\t\t\t\t\t继续输入1\n");
    printf("\t\t\t\t\t结束输入2\n");
    printf("\t\t\t\t\t");
    scanf_s("%d", &e);
    if (e == 1) xs();
    return;
}
xhcx(int b)
{
    int d;
    for (d = 0; d < N; d++)
    {
        if (a[d].xh == b)
        {

            if (a[d].sc == 2)
            {
                printf("\t\t\t\t\t已删除!\n");
                return 0;
            }
            printf("\t\t\t\t\t数据:楼号%d\t房间号%d\t床位号%d\t学号%ld\t姓名%s\t性别%s\t系别%s\t班级%d\n", a[d].lh, a[d].fjh, a[d].cwh, a[d].xh, a[d].xm, a[d].xb, a[d].xib, a[d].bj);

            return d;
        }

    }
    return d;
}
xmcx()
{
    int i,k;
    char b[15];
    printf("\t\t\t\t\t请输入姓名:");
    scanf_s("%s", &b, sizeof(b));
    for (i = 0; i < N; i++)
    {
        if (strcmp(a[i].xm,b) == 0)
        {
            k = a[i].xh;
            xhcx(k);
            return 0;
        }
    }
    return i;
}
fjhcx(int b)
{
    int d, e;
    for (d = 0; d < N; d++)
    {
        if (a[d].fjh == b)
        {
            if (a[d].sc == 2)
            {
                printf("\t\t\t\t\t已删除!");
                printf("\t\t\t\t\t继续输入1\n");
                printf("\t\t\t\t\t结束输入2\n");
                printf("\t\t\t\t\t");
                scanf_s("%d", &e);
                if (e == 1) sc();
                return;
            }
            printf("\t\t\t\t\t数据:楼号%d\t房间号%d\t床位号%d\t学号%ld\t姓名%s\t性别%s\t系别%s\t班级%d\n", a[d].lh, a[d].fjh, a[d].cwh, a[d].xh, a[d].xm, a[d].xb, a[d].xib, a[d].bj);

            break;
        }
    }
    return d;
}
fs1()
{
    int a, f, g, e;
    printf("\t\t\t\t\t请输入学号:");
    scanf_s("%d", &a);
    f = xhcx(a);
    if (f == 0)
    {
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &g);
        if (g == 1) fs1();
        return;
    }
    if (f == N)
    {
        printf("\t\t\t\t\t查无此人!\n");
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &e);
        if (e == 1) fs1();
    }
    return;
}
fs2()
{

    int f;
    int g;
    f=xmcx();
    if (f == 0)
    {
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &g);
        if (g == 1) fs2();
        return;
    }
    if (f == N)
    {
        printf("\t\t\t\t\t查无此人!\n");
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &g);
        if (g == 1) fs2();
        return;
    }
    return;
}
fs3()
{
    int c, f, g;
    printf("\t\t\t\t\t请输入房间号:");
    scanf_s("%d", &c);
    f = fjhcx(c);
    if (f == 0)
    {
        printf("\n\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &g);
        if (g == 1) fs3();
        return;
    }
    if (f == N)
    {
        printf("\t\t\t\t\t查无此人!\n");
        printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &g);
        if (g == 1) fs3();
        return;
    }
    return;
}
tj()
{
    int louhao[1000] = {0};
    int js[1000] = {0};
    int i, j = 0, bj = 0, e, l = 1;
    printf("\t\t\t\t\t请输入查询班级:");
    scanf_s("%d",&bj);
    while (l != 0) 
    {
        l = xx(bj, louhao, js,l);
    }
    for (int m = 0; m < N; m++)
    {
        if(louhao[m]!=0)
        {
            printf("%d", m);
            printf("\t\t\t\t\t楼号:%d人数:%d\n",louhao[m], js[m]/8);
        }
    }
    printf("\t\t\t\t\t继续输入1\n");
    printf("\t\t\t\t\t结束输入2\n");
    printf("\t\t\t\t\t");
    scanf_s("%d", &e);
    if (e == 1) tj();
}
xx(int bj,int *louhao[1000],int *js[1000],int i)
{
    int j=0;
    for (; i < N; i++)
    {
        if (a[i].bj == bj)
        {
            while (a[i].lh != louhao[j])
            {
                j++;
                if (j == 999)
                {
                    louhao[r] = a[i].lh;
                    js[r]++;
                r++;
                    return i;
                }

            }
            js[j]++;
        }
    }
    return 0;
}
px()
{
 int i=0, j=0;
 
 for (i = 0; i < N; i++)
 {
  for (j = 0; j < N-i; j++)
  {
      max[1] = a[j];
      max[2] = a[j + 1];
      if (max[2].fjh == 0)continue;
   if (max[1].fjh>max[2].fjh )
   {
    max[0] = a[j];
    a[j] = a[j+1];
    a[j + 1] = max[0];
   }
  }

 }
 int d,e;
 printf("\t\t\t\t\t数据:楼号\t房间号\t床位号\t学号\t姓名\t性别\t系别\t班级\n");
 for (d = 1; d < N; d++)
 {
     if (a[d].sc == 1)
     {
         printf("\t\t\t\t\t      %d    \t%d\t%d\t%ld\t%s\t%s\t%s\t%d\n", a[d].lh, a[d].fjh, a[d].cwh, a[d].xh, a[d].xm, a[d].xb, a[d].xib, a[d].bj);
     }
 }
         printf("\t\t\t\t\t继续输入1\n");
        printf("\t\t\t\t\t结束输入2\n");
        printf("\t\t\t\t\t");
        scanf_s("%d", &e);
        if (e == 1) sc();
        return;

}
int main()
{
    int b;
    while (TRUE)
    {
        printf("\n\n\n\n\t\t\t\t**********************************\n\n\n");
        printf("\t\t\t\t\t学生宿舍管理系统 \n\n\n");
        printf("\t\t\t\t\t   1.增加数据\n\n");
        printf("\t\t\t\t\t   2.更新数据\n\n");
        printf("\t\t\t\t\t   3.删除数据\n\n");
        printf("\t\t\t\t\t   4.查询数据\n\n");
        printf("\t\t\t\t\t   5.显示列表数据\n\n");
        printf("\t\t\t\t\t   6.统计输出\n\n");
        printf("\t\t\t\t\t   7.排序\n\n");
        printf("\t\t\t\t\t   8.退出\n\n");
        printf("\t\t\t\t\t    请选择:");
        scanf_s("%d", &b);

        switch (b)
        {
        case 1:zj(); break;
        case 2:gx(); break;
        case 3:sc(); break;
        case 4:cx(); break;
        case 5:xs(); break;
        case 6:tj(); break;
        case 7:px(); break;
        case 8:return;
        default:printf("\t\t\t\t\t   请输入1-6内的数字!\n");
        }
        system("cls");
    }
    return;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值