没有合适的资源?快使用搜索试试~ 我知道了~
C语言程序设计-宿舍信息管理系统
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 6 下载量 194 浏览量
2023-01-18
00:36:03
上传
评论 3
收藏 88KB DOCX 举报
温馨提示
试读
17页
C语言程序设计--宿舍信息管理系统 资料内容请详细查看,或者按资源名称搜索博文有解析。
资源推荐
资源详情
资源评论
C 语言程序设计
题目:宿舍信息管理
一、程序目的
该程序是由 C 语言编写的一个宿舍管理查询软件,其主要功能是实现对学生信息的增加、
删除、修改、查询、排序、存储、加载。其中查询可以分别以姓名、学号、寝室号为关键字
查询学生信息。排序可以分别以学号和寝室号为关键字进行从小到大的排序。方便舍管阿姨
管理宿舍。
二、程序设计
2.1、总体设计:
①输入的形式:根据用户所选择的功能,然后再依据程序相应的提示进行输入:
选择功能 1(添加学生信息):按照从先到后的顺序输入学生姓名(30 个字
符以内),学生学号(15 个字符以内),宿舍号码(整数,范围在 0~32767)。
选择功能 2(修改学生信息):按照从先到后的顺序输入要修改的学生姓名
(30 个字符以内),修改后学生的姓名(30 个字符以内),修改后学生的学
号(15 个字符以内),修改后学生的宿舍号(整数,范围在 0~32767)。
选择功能 3(删除学生信息):输入要删除的学生姓名(30 个字符以内)。
选择功能 4(以姓名查询学生信息):输入要查找的学生的姓名(30 个字符
以内)。
选择功能 5(以学号查询学生信息):输入要查找的学生的学号(15 个字符
以内)。
选择功能 6(以寝室号查询学生信息):输入寝室号(整数,范围在
0~32767)。
②输出的形式:根据用户所选择的功能不同,会有不同的输出:
选择功能 1(添加学生信息):根据程序的判断会输出添加成功或者添加失
败。
选择功能 2(修改学生信息):根据程序的判断会输出修改成功或者修改失
败。
选择功能 3(删除学生信息):根据程序的判断会输出删除成功或者删除失
败。
选择功能 4(以姓名查询学生信息):根据程序的判断,如果查找成功,则
会输出相应的学生信息,反之,则会输
出查找失败。
选择功能 5(以学号查询学生信息):根据程序的判断,如果查找成功,则
会输出相应的学生信息,反之,则会
输出查找失败。
选择功能 6(以寝室号查询学生信息):根据程序的判断,如果查找成功,
则会输出相应的学生信息,反之,则
会输出查找失败。
选择功能 7,8(以寝室号和学号为关键字进行从小到大的排序):程序会输
出排序成功。
选择功能 9(显示所有学生的信息):程序会输出所有以存学生的信息。
选择功能 10(保存操作):根据程序的判断会输出保存成功或者保存失败。
选择功能 11(加载记录):根据程序的判断会输出加载记录成功或者加载记
录失败。
2.2、详细设计
2.本程序所包含的 15 个函数为:
(1).主函数 main();
(2).菜单函数 Menu();
(3).判断学号是否重复函数 S_number_Judge(Student S,int t);
(4).添加学生信息函数 Add(Student S);
(5).修改学生信息函数 Alter(Student S);
(6).删除学生信息函数 Delete(Student S);
(7).显示所有学生信息函数 Display_All(Student S);
(8).按照寝室号从小到大排序函数 Sort_D_number(Student S);
(9).按照学号从小到大排序函数 Sort_S_number(Student S);
(10).根据学生姓名查找函数 Query_S_name(Student S);
(11).根据学生学号查找函数 Query_S_number(Student S);
(12).根据寝室号查找函数 Query_D_number(Student S)
(13).存储函数 Save(Student S);
(14).加载函数 Load(Student S);
(15).判断在退出程序时是否保存函数 Judge_Save(int i,Student S);
各函数之间的调用关系如下:
三、系统实现
源程序代码:
main()
Display_All(Student S)
Query_S_number(Student
S)
Menu()
Save(Student S)
Query_S_name(Student S)
Load(Student S)
Judge_Save(int i,Student S)
Sort_D_number(Student S)
Query_D_number(Student
S)
S_number_Judge(Student S,int t)
Add(Student S)
Alter(Student S)
Delete(Student S)
Sort_S_number(Student S)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 100
int dirty=0; //用来判断是否已保存操作
//定义一个存储学生相关信息的结构体
typedef struct
{
char S_name[31]; //学生姓名
char S_class[31]; //学生班级
char S_number[16]; //学生学号
int D_number; //学生所在寝室的宿舍号
char S_address[500]; //学生地址
int S_phone[20]; //学生电话号码
int Total; //学生总数
}Student[M],St;
//判断学号是否与表中所存学号重复
void S_number_Judge(Student S,int t)
{
int i;
for(i=1;i<=(S->Total)-1;i++)
while(strcmp(S[i].S_number,S[t].S_number)==0)
{
printf("学号输入失败,该学号已存在,请重新输入学号!\n");
printf("请输入学生的学号(15 个字符以内):");
scanf("%s",S[t].S_number);
getchar();
i=1;
}
}
//添加学生信息函数
void Add(Student S)
{
printf("请输入学生姓名(30 个字符以内):");
scanf("%s",S[++(S->Total)].S_name);
getchar();//获取换行符
printf("请输入学生班级(30 个字符以内):");
scanf("%s",S[S->Total].S_class);
getchar();
printf("请输入学生的学号(15 个字符以内):");
scanf("%s",S[S->Total].S_number);
getchar();
S_number_Judge(S,S->Total);//判断输入的学号是否与表中所存在的学号重复
printf("请输入宿舍号码:");
scanf("%d",&S[S->Total].D_number);
getchar();
printf("请输入学生地址:");
scanf("%s",S[S->Total].S_address);
getchar();
printf("请输入学生电话号码:");
scanf("%s",&S[S->Total]. S_phone);
getchar();
dirty=1;
printf("添加成功!\n\n");
}
//修改学生信息函数
void Alter(Student S)
{
int i;
int flag=0; //用来判断表中是否存在所要修改的学生的信息
char name[20];
printf("请输入你要修改学生的姓名:");
scanf("%s",name);
getchar();
for(i=1;i<=S->Total;i++)
if(strcmp(S[i].S_name,name)==0)
flag=i;
if(!flag)
printf("你所要修改的学生信息在表中不存在!\n");
else
{
printf("新信息如下:\n");
printf("请输入学生姓名(30 个字符以内):");
scanf("%s",S[flag].S_name);
getchar();
printf("请输入学生班级(30 个字符以内):");
scanf("%s",S[flag].S_class);
getchar();
printf("请输入学生的学号(15 个字符以内):");
scanf("%s",S[flag].S_number);
getchar();
S_number_Judge(S,flag);
剩余16页未读,继续阅读
白茶丫
- 粉丝: 4w+
- 资源: 1766
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页