实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等
基本要求:
1. 设计简单的菜单,能够进行系统功能选择。
2. 实现信息的录入功能。
3. 在已有信息的基础上添加新的记录。
4. 删除指定房间号的记录。
5. 修改指定房间号的记录
6. 实现信息的浏览功能
7. 按房间号查询功能
8. 按已入住人数排序功能
问题补充:
扩充功能:1)在数据维护(录入、删除、修改、添加)功能时,要求输入用户名和密码,以防信息被非法修改。
提示:在主菜单界面中,将录入、删除、修改、添加功能合并为数据库维护功能,当选择此选项时,要求用户输入用户名和密码,如设数据库维护人员为2人,则在程序中可相应设置2个用户名和密码,只有正确时,才进入下一级维护菜单。(密码设置参阅字符串操作部分)
2)增加查询方式,如可以根据姓名查询,根据书名查询,及多种排序方式
提示:在查询或排序中加入分支程序,不同的分支采用不同的查询方式,每种查询方式是一个独立的模块(函数)
3)将数据信息以文件的形式存盘,数据库信息的各种操作最后都能被存储,存储前有提示,并且能打开。
提示:在主菜单中增加文件打开、存储选项,C语言的文件操作都是通过库函数实现的,参考关于文件的库函数使用即可。
4)采用动态链表的方式进行设计。
其他回答 共2条
给你个学生成绩管理的,你改一下变量名就好了
#include
#include
#define LEN sizeof(struct student)
#define N 35
#include
#define NULL 0
int n=0;
char m[8]={'0','1','2','3','4','5','6','7'};
int i;char c[10];char d[10];
char fname[20],fname0[20],fname6[20]={"shanchu"};
struct student
{long num;
char name[10];
int eng;
int math;
int comp;
int ave;
int all;
}p;
void shuru()
{FILE *fp;
printf("\n\n\t请输入存储学生数据的文件名:");
scanf("%s",fname);
fp=fopen(fname,"w");
printf("\t输入的数据之间请用跳格键(Tab)隔开\n\t每输入完一个学生的信按回车键(Enter)\n");
printf("\t结束输入学生数据时,请输入一个学生的学号为0并按回车键\n");
printf("\t学号 姓名 英语 数学 计算机\n");
do{ printf("\t");
scanf("%ld",&p.num);
if(p.num==0) break;
scanf("\t%s\t%d\t%d\t%d",,&p.eng,&p.math,&p);
p.all=(p.eng+p.math+p);
p.ave=(p.all/3);
fwrite(&p,LEN,1,fp);
n++;
}while(1);
fclose(fp);
}
void chazhao()
{char fname1[20];
FILE *fp;
do{printf("\n\n\t请输入查找学生数据的文件名:");
scanf("%s",fname1);
if(strcmp(fname1,fname)==0){fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
long number;
do
{ printf("\t请输入要查找的学生的学号按回键(Enter):");
scanf("%ld",&number); rewind(fp);
for(i=0;i { fread(&p,LEN,1,fp);
if(number==p.num) { printf("\t学号 姓名 英语 数学 计算机 平均分 总? \n");
printf("\t%ld\t%s\t%d\t%d\t%d\t%d\t%d\n",p.num,,p.eng,p.math,p,p.ave,p.all);
}
}
printf("\t你还要查找吗?如果继续请输y'加回车键,否'n'加回车键:");
scan