博客列表 >C语言实现学生宿舍信息管理系统

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

P粉684418227
P粉684418227原创
2022年03月16日 14:57:261262浏览

本文实例为大家分享了C语言实现学生宿舍信息管理系统的具体代码,供大家参考,具体内容如下

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

完整代码如下:
`#include<stdio.h>

include<stdlib.h>

include<string.h>

include<conio.h>

include<windows.h>

define MAX 1000

int 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”);

  1. printf("\n 第%d个学生",k+1);
  2. printf("\n 请输入学生的学号:");
  3. scanf("%d",&stu[k].number);
  4. printf("\n 请输入学生的姓名:");
  5. scanf("%s",stu[k].name);
  6. printf("\n 请输入学生的性别:");
  7. scanf("%s",stu[k].sex);
  8. printf("\n 请输入学生的年龄:");
  9. scanf("%d",&stu[k].age);
  10. printf("\n 请输入学生的班级:");
  11. scanf("%s",stu[k].classs);
  12. printf("\n 请输入学生入住时间(如:2017 9):");
  13. while((scanf("%d %d",&stu[k].year,&stu[k].month))!=EOF)
  14. {
  15. if(stu[k].year<1000||stu[k].year>9999||stu[k].month>12||stu[k].month<1)//限定输入范围
  16. {
  17. printf("对不起,输入错误,请重新输入:");
  18. }
  19. else
  20. break;
  21. }
  22. printf("\n 请输入学生的宿舍号:");
  23. scanf("%d",&stu[k++].dorm);
  24. printf("\n 请按 1 键返回主菜单或按 0 键继续创建:");
  25. scanf("%d",&x);
  26. if(x!=0) break;

}
return k;
}

//显示学生宿舍信息
void display(students stu[])
{

  1. int i;
  2. for(i=0;i<k;i++)
  3. {
  4. 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);
  5. }
  6. printf("按任意键返回主菜单!");
  7. getch();
  8. system("cls");
  9. 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);

  1. printf("\n\n ********请输入您想要修改的数据********\n\n");
  2. printf(" 1. 学号\n");
  3. printf(" 2. 姓名\n");
  4. printf(" 3. 性别\n");
  5. printf(" 4. 年龄\n");
  6. printf(" 5. 班级\n");
  7. printf(" 6. 宿舍号\n");
  8. printf(" 7. 入住时间\n\n");
  9. printf(" 请选择(1-7):");
  10. while((scanf("%d",&choose))!=EOF)
  11. {
  12. if(choose<1||choose>7)
  13. {
  14. printf("对不起,输入错误,请重新输入:");
  15. }
  16. else
  17. {
  18. switch(choose)
  19. {
  20. case 1:
  21. {
  22. printf("\n 请输入你改的新学号:");
  23. scanf("%d",&stu[i].number);
  24. break;
  25. }
  26. case 2:
  27. {
  28. printf("\n 请输入你改的新姓名:");
  29. scanf("%s",stu[i].name);
  30. break;
  31. }
  32. case 3:
  33. {
  34. printf("\n 请输入你改的新性别:");
  35. scanf("%s",stu[i].sex);
  36. break;
  37. }
  38. case 4:
  39. {
  40. printf("\n 请输入你改的新年龄:");
  41. scanf("%d",&stu[i].age);
  42. break;
  43. }
  44. case 5:
  45. {
  46. printf("\n 请输入你改的新班级:");
  47. scanf("%s",stu[i].classs);
  48. break;
  49. }
  50. case 6:
  51. {
  52. printf("\n 请输入你改的新宿舍:");
  53. scanf("%d",&stu[i].dorm);
  54. break;
  55. }
  56. case 7:
  57. {
  58. printf("\n 请输入你改的新入住时间:");
  59. scanf("%d %d",&stu[i].year,&stu[i].month);
  60. break;
  61. }
  62. }
  63. printf("修改成功!");
  64. Sleep(500);
  65. 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);
  66. m=1;
  67. break;
  68. }
  69. }
  70. }
  71. }
  72. if(m==0)
  73. {
  74. printf("对不起,此学生信息不存在!\n");
  75. }
  76. printf("按任意键返回主菜单!");
  77. getch();
  78. return ;

}

//删除学生信息
void deletee(students stu[])
{

  1. char name1[20];
  2. int i,j,m=0;
  3. printf("请输入学生姓名:");
  4. scanf("%s",name1);
  5. printf("\n");
  6. printf("正在查找是否存在此学生信息.....\n");
  7. Sleep(1000);
  8. for(i=0;i<k;i++)
  9. {
  10. if(strcmp(stu[i].name,name1)==0)
  11. {
  12. m=1;
  13. printf("已找到此学生信息!\n删除中....\n");
  14. Sleep(2000);
  15. for(j=i;j<k;j++)
  16. {
  17. strcpy(stu[j].name,stu[j+1].name);
  18. strcpy(stu[j].sex,stu[j+1].sex);
  19. strcpy(stu[j].classs,stu[j+1].classs);
  20. stu[j].age=stu[j+1].age;
  21. stu[j].dorm=stu[j+1].dorm;
  22. stu[j].number=stu[j+1].number;
  23. stu[j].year=stu[j+1].year;
  24. stu[j].month=stu[j+1].month;
  25. }
  26. k--;
  27. printf("删除成功!\n");
  28. }
  29. }
  30. if(m==0)
  31. {
  32. printf("此学生信息不存在!\n");
  33. }

printf(“按任意键返回主菜单!”);
getch();
system(“cls”);
return ;
}

//保存学生住宿信息
void preservation(students stu[])
{
int i;
FILE *fp;

  1. if((fp=fopen("学生宿舍信息.txt","w"))==NULL)
  2. {
  3. printf("未发现学生宿舍信息!\n");
  4. printf("按任意键返回...\n");
  5. getch();
  6. system("cls");
  7. return ;
  8. }
  9. else
  10. {
  11. for(i=0;i<k;i++)
  12. {
  13. 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);
  14. }
  15. fclose(fp);
  16. printf("正在保存文件....\n");
  17. Sleep(1000);
  18. printf("文件保存成功!\n");
  19. printf("按任意键返回...\n");
  20. getch();
  21. system("cls");
  22. return ;
  23. }

}
//读取学生住宿信息
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):”);

  1. while((scanf("%d",&choose))!=EOF)
  2. {
  3. if(choose<0||choose>7)
  4. {
  5. printf("对不起,输入错误,请重新输入:");
  6. }
  7. else
  8. {
  9. switch(choose)
  10. {
  11. case 1: k=establish(stu); break;//创建学生宿舍信息
  12. case 2: display( stu) ; break;//显示学生宿舍信息
  13. case 3: query(stu); break;//查询学生宿舍信息
  14. case 4: modify(stu); break;//修改学生宿舍信息
  15. case 5: deletee(stu); break;//删除学生宿舍信息
  16. case 6: preservation(stu); break;//保存学生宿舍信息
  17. case 7: read(stu);break;//读取学生宿舍信息
  18. case 0: break;
  19. }
  20. break;
  21. }
  22. }
  23. }

}
int main()
{
title();
start();
return 0;
}`

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议