文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言如何实现学生宿舍信息管理系统

2023-06-29 12:36

关注

这篇文章主要讲解了“C语言如何实现学生宿舍信息管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现学生宿舍信息管理系统”吧!

功能描述

该学生宿舍信息管理系统主要实现的功能有:创建学生宿舍信息,显示学生宿舍信息,查询学生宿舍信息,修改学生宿舍信息,删除学生宿舍信息,保存学生宿舍信息,读取学生宿舍信息。其系统功能模块图如下:

C语言如何实现学生宿舍信息管理系统

完整代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include<windows.h> #define MAX 1000int k=0; //结构体类型typedef struct  {           char name[20];    //姓名    char sex[5];      //性别       char classs[20];  //班级    int number;       //学号    int age;          //年龄    int dorm;         //宿舍号    int year;         //年份    int month;        //月份}students;   //创建学生宿舍信息int establish(students stu[]){  int i,x;   for(i=0;i<1000;i++)   {    system("cls");      printf("\n\n                 录入学生信息  (最多%d个)\n",MAX);    printf("               ----------------------------\n");           printf("\n                     第%d个学生",k+1);        printf("\n 请输入学生的学号:");        scanf("%d",&stu[k].number);        printf("\n 请输入学生的姓名:");        scanf("%s",stu[k].name);         printf("\n 请输入学生的性别:");        scanf("%s",stu[k].sex);        printf("\n 请输入学生的年龄:");        scanf("%d",&stu[k].age);          printf("\n 请输入学生的班级:");        scanf("%s",stu[k].classs);                        printf("\n 请输入学生入住时间(如:2017 9):");                    while((scanf("%d %d",&stu[k].year,&stu[k].month))!=EOF)        {            if(stu[k].year<1000||stu[k].year>9999||stu[k].month>12||stu[k].month<1)//限定输入范围            {                printf("对不起,输入错误,请重新输入:");            }            else                break;        }        printf("\n 请输入学生的宿舍号:");        scanf("%d",&stu[k++].dorm);        printf("\n 请按 1 键返回主菜单或按 0 键继续创建:");        scanf("%d",&x);        if(x!=0)  break;   }        return k;}   //显示学生宿舍信息                                                                                                                                                                                                                                                        void display(students stu[]){       int i;    for(i=0;i<k;i++)      {        printf("学号:%d  姓名:%s  性别:%s  年龄:%d  班级:%s  宿舍号: %d  入住时间:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month);    }    printf("按任意键返回主菜单!");    getch();    system("cls");    return ;} //查询学生宿舍信息void query(students stu[]) {     int i,m=0;    int number;       printf("\n\n      请输入您要查找的学生的学号: ");    scanf("%d",&number);    printf("     正在查询,请稍后.....\n");    Sleep(1000);    for(i=0;i<k;i++)    {         if(number==stu[i].number)        {                        printf("\n\n学号:%d  姓名:%s  性别:%s  年龄:%d  班级:%s  宿舍号: %d  入住时间:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month);            m=1;        }            }    if(m==0)    {        printf("对不起,此学生信息不存在!\n");    }    printf("按任意键返回主菜单!");    getch();    system("cls");    return ;}  //修改学生信息 void modify(students stu[]){      int number,i,choose,m=0;    system("cls");     printf("\n\n\n      请输入您要修改的学生的学号:");    scanf("%d",&number);    printf("      正在查询,请稍后.....\n");    Sleep(1000);    for(i=0;i<k;i++)    {               if(number==stu[i].number)        {            printf("\n\n学号:%d  姓名:%s  性别:%s  年龄:%d  班级:%s  宿舍号: %d  入住时间:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month);             printf("\n\n     ********请输入您想要修改的数据********\n\n");            printf("                1. 学号\n");            printf("                2. 姓名\n");            printf("                3. 性别\n");            printf("                4. 年龄\n");            printf("                5. 班级\n");            printf("                6. 宿舍号\n");            printf("                7. 入住时间\n\n");            printf("                请选择(1-7):");             while((scanf("%d",&choose))!=EOF)            {                if(choose<1||choose>7)                {                    printf("对不起,输入错误,请重新输入:");                }                else                {                    switch(choose)                    {                    case 1:                        {                            printf("\n   请输入你改的新学号:");                            scanf("%d",&stu[i].number);                             break;                        }                    case 2:                        {                            printf("\n   请输入你改的新姓名:");                            scanf("%s",stu[i].name);                             break;                        }                    case 3:                        {                            printf("\n   请输入你改的新性别:");                            scanf("%s",stu[i].sex);                             break;                        }                    case 4:                        {                            printf("\n   请输入你改的新年龄:");                            scanf("%d",&stu[i].age);                             break;                        }                    case 5:                        {                            printf("\n   请输入你改的新班级:");                            scanf("%s",stu[i].classs);                             break;                        }                    case 6:                        {                            printf("\n   请输入你改的新宿舍:");                            scanf("%d",&stu[i].dorm);                             break;                        }                    case 7:                        {                            printf("\n   请输入你改的新入住时间:");                            scanf("%d %d",&stu[i].year,&stu[i].month);                            break;                        }                    }                    printf("修改成功!");                    Sleep(500);                    printf("\n\n学号:%d  姓名:%s  性别:%s  年龄:%d  班级:%s  宿舍号: %d  入住时间:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month);                    m=1;                    break;                }            }        }    }    if(m==0)    {        printf("对不起,此学生信息不存在!\n");    }    printf("按任意键返回主菜单!");    getch();    return ;} //删除学生信息void deletee(students stu[]){         char name1[20];    int i,j,m=0;     printf("请输入学生姓名:");    scanf("%s",name1);    printf("\n");    printf("正在查找是否存在此学生信息.....\n");    Sleep(1000);    for(i=0;i<k;i++)    {        if(strcmp(stu[i].name,name1)==0)        {            m=1;            printf("已找到此学生信息!\n删除中....\n");            Sleep(2000);            for(j=i;j<k;j++)            {                strcpy(stu[j].name,stu[j+1].name);                strcpy(stu[j].sex,stu[j+1].sex);                strcpy(stu[j].classs,stu[j+1].classs);                stu[j].age=stu[j+1].age;                                stu[j].dorm=stu[j+1].dorm;                stu[j].number=stu[j+1].number;                stu[j].year=stu[j+1].year;                stu[j].month=stu[j+1].month;            }            k--;            printf("删除成功!\n");        }            }    if(m==0)    {        printf("此学生信息不存在!\n");    }   printf("按任意键返回主菜单!");   getch();   system("cls");   return ;}     //保存学生住宿信息void preservation(students stu[]){    int i;    FILE  *fp;        if((fp=fopen("学生宿舍信息.txt","w"))==NULL)    {        printf("未发现学生宿舍信息!\n");        printf("按任意键返回...\n");        getch();        system("cls");        return ;    }    else    {        for(i=0;i<k;i++)        {                fprintf(fp,"\n\n学号:%d  姓名:%s  性别:%s  年龄:%d  班级:%s  宿舍号: %d  入住时间:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month);        }        fclose(fp);        printf("正在保存文件....\n");        Sleep(1000);        printf("文件保存成功!\n");        printf("按任意键返回...\n");        getch();        system("cls");        return ;    }}//读取学生住宿信息void read(students stu[]){    FILE *fp;     char ch;    if((fp=fopen("学生宿舍信息.txt","r"))==NULL)    {        printf("文件无法打开!\n");        exit(0);    }    printf("正在读入文件...\n");    Sleep(1000);    printf("文件读入成功!\n");    ch=fgetc(fp);    while(!feof(fp))    {        putchar(ch);        ch=fgetc(fp);    }    printf("\n");    fclose(fp);    printf("按任意键返回...\n");    getch();    system("cls");    return ;}   void title(){   printf(" \n\n\n                   **********************************\n");   printf("                   *                                *\n");   printf("                   *                                *\n");   printf("                   *                                *\n");   printf("                   *  欢迎进入学生宿舍信息管理系统  *\n");   printf("                   *                                *\n");   printf("                   *                                *\n");   printf("                   *                                *\n");   printf("                   **********************************\n");   printf("\n                   按任意键进入系统!\n");   getch();   } void start(){    students stu[20];    int choose,k;    while(choose!=0)    {        system("cls");          printf("\n\n\n               ********学生宿舍信息管理系统********\n\n");        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("                      7. 读取学生宿舍信息\n\n");        printf("                      0. 退出系统\n\n");        printf("                       请选择(0-7):");         while((scanf("%d",&choose))!=EOF)        {            if(choose<0||choose>7)            {                printf("对不起,输入错误,请重新输入:");            }            else            {                switch(choose)                {                case 1: k=establish(stu); break;//创建学生宿舍信息                case 2: display( stu) ; break;//显示学生宿舍信息                case 3: query(stu); break;//查询学生宿舍信息                case 4: modify(stu); break;//修改学生宿舍信息                case 5: deletee(stu); break;//删除学生宿舍信息                case 6: preservation(stu); break;//保存学生宿舍信息                case 7: read(stu);break;//读取学生宿舍信息                case 0: break;                }            break;            }        }    }}int main(){       title();    start();    return 0;}

感谢各位的阅读,以上就是“C语言如何实现学生宿舍信息管理系统”的内容了,经过本文的学习后,相信大家对C语言如何实现学生宿舍信息管理系统这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯