Blogger Information
Blog 5
fans 0
comment 0
visits 9465
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
C语言实现学生宿舍信息管理系统
P粉684418227
Original
1250 people have browsed it

本文实例为大家分享了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;
}`

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post