**如何用C语言中的文件去写宿舍管理系统**
代码如下:
注意:需创建两个文档,用于存储删除的功能实现
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct //定义结构体数组
{
char name[20]; //姓名
char num[10]; //学号
int roomID; //房号
} Student;
Student stu; //结构体数组变量
int menu_select() //菜单函数
{
int c;
while(1)
{
system("cls"); //运行前清屏
printf("\t\t************宿舍管理查询系统************\n"); //菜单选择
printf("\t\t | 1. 输入信息 |\n");
printf("\t\t | 2. 显示所有信息 |\n");
printf("\t\t | 3. 查询信息 |\n");
printf("\t\t | 4. 删除信息 |\n");
printf("\t\t | 0. Quit |\n");
printf("\t\t****************************************\n");
printf("\t\t\t请输入处理种类(0-4):");
scanf("%d",&c);//读入选择
getchar();
if(c<0||c>4)
{
continue;
}
else
return c;
}
}
int Input() //输入若干条记录
{
//int i=0;
//char x[10];
Student str;
char sign;
while(1) //判断
{
if(sign=='N'||sign=='n')
break;
else
{
printf("\t\t\t学号:"); //交互输入
scanf("%s",str.num);
printf("\t\t\t姓名:");
scanf("%s",str.name);
printf("\t\t\t房号:");
scanf("%d",&str.roomID);
WritetoText(str); //存入文件
//n=WritetoText(Student stud[],n);
printf("\t\t\t还需要继续输入吗?(Y/N)");
scanf("\t\t\t%c",&sign);
getchar();
}
}
}
void Display() //显示所有记录
{
Student str;
//int i;
FILE *fp;
printf("\t\t\t-----------------------------------\n"); //格式头
printf("\t\t\t学号\t\t姓名\t\t房号\n");
printf("\t\t\t-----------------------------------\n");
if((fp=fopen("D:\\code_learning\\cb_work\\123.txt","rb+"))==NULL) //打开文件
{
printf("无法打开文件!\n");
exit(0);
}
while (!feof(fp)) //读取文档,直到文件结束
{
if(fread(&str,sizeof(Student),1,fp))
printf("\t\t\t%-16s%-15s%d\n"