资源简介
这个是基于c/c++做的一个小型课设宿舍管理系统,大学学c语言的应该会用到,用文件存储的可读取数据,觉得有用就下载吧。

代码片段和文件信息
#include
#include
#include
#include
#include
#define MAX 1000
typedef struct student
{
char name[20];
char number[20];
char room[10];
}STU;
typedef struct
{
STU *data;
int length;
int size;
}Sqlist;
int init(Sqlist &L)
{
L.data=new STU[MAX];
L.length=0;
L.size=MAX;
return 1;
}
void dis(Sqlist &L)
{
FILE *fp;
int i;
init(L);
if((fp=fopen(“宿舍.txt““r“))==NULL)
{
printf(“文件打开失败!\n“);
printf(“即将退出!\n“);
Sleep(2000);
exit(1);
}
printf(“%20s\t%20s\t%20s\n\n““姓名““学号““房号“);
for(i=0;!feof(fp);i++)
{
fscanf(fp“%s%s%s“L.data[i].nameL.data[i].numberL.data[i].room);
printf(“%20s\t%20s\t%20s\n“L.data[i].nameL.data[i].numberL.data[i].room);
}
if(fclose(fp))
{
printf(“Can Not Close The File!\n“);
exit(1);
}
}
int partition(Sqlist &Lint lowint high)
{
L.data[0]=L.data[low];
while(low {
while((low=0))
{
--high;
}
L.data[low]=L.data[high];
while((low {
++low;
}
L.data[high]=L.data[low];
}
L.data[low]=L.data[0];
return low;
}
void qsort(Sqlist &Lint lowint high)
{
int e;
if(low {
e=partition(Llowhigh);
qsort(Llowe-1);
qsort(Le+1high);
}
}
void quicksort_name(Sqlist &L)
{
int i;
FILE *fp;
qsort(L1L.length);
if((fp=fopen(“宿舍.txt““w“))==NULL)
{
printf(“文件打开失败!\n“);
printf(“即将退出!\n“);
Sleep(2000);
exit(1);
}
for(i=1;i<=L.length;i++)
{
fprintf(fp“\n%20s\t%20s\t%20s“L.data[i].nameL.data[i].numberL.data[i].room);
}
fclose(fp);
}
void shell_number(Sqlist &L)
{
int idj;
FILE *fp;
for(d=L.length/2;d>0;d/=2)
{
for(i=d+1;i<=L.length;i++)
{
STU temp=L.data[i];
for(j=i-d;(j>=1)&& (strcmp(temp.numberL.data[j].number)<0 );j=j-d)
{
L.data[j+d]=L.data[j];
}
L.data[j+d]=temp;
}
}
if((fp=fopen(“宿舍.txt““r+“))==NULL)
{
printf(“文件打开失败!\n“);
printf(“即将退出!\n“);
Sleep(2000);
exit(1);
}
for(i=1;i<=L.length;i++)
{
fprintf(fp“\n%20s\t%20s\t%20s“L.data[i].nameL.data[i].numberL.data[i].room);
}
fclose(fp);
}
void heapAdjust(Sqlist &Lint sint m)
{
int j;
STU temp=L.data[s];
for(j=2*s;j<=m;j*=2)
{
if(j {
++j;
}
if(strcmp(temp.roomL.data[j].room)>=0)
{
break;
}
L.data[s]=L.data[j];
s=j;
}
L.data[s]=temp;
}
void heapsort_room(Sqlist &L)
{
STU temp;
int i;
FILE *fp;
init(L);
if((fp=fopen(“宿舍.txt““r“))==NULL)
{
printf(“无数据!\n“);
printf(“即将退出!\n“);
Sleep(2000);
exit(0);
}
for(L.length;(!feof(fp))&&L.length<=L.size;L.length++)
{
fscanf(fp“%10s%10s%s“L.data[L.length+1].nameL.data[L.length+1].numberL.data[L.length+1].room);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 384 2015-07-11 20:27 宿舍.txt
文件 15597 2015-10-07 03:01 宿舍管理.cpp
文件 412011 2015-10-07 02:44 宿舍管理.exe
相关资源
- 操作系统课设 读写者问题 c语言实现
- C语言课设计算器
- 北京化工大学计算方法(C/C++)讲义
- GBT 28169-2011 嵌入式软件 C语言编码规范
- XUnZip Zip解压缩.rar
- Windows_API_函数大全 C/C++
- C语言程序设计教材习题参考答案.do
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- 高效FFT的C/C++代码实现包括基2的DIF和
- c/c++开发网络验证和本地验证
- 操作系统存储管理实验报告c/c++
- C++编写的万年历源码
- C语言进阶源码---基于graphics实现图书
- 井字棋三连棋的AI实现,C/C++
- 《水果忍者》设计报告.doc
- 操作系统课程设计(银行家算法)附
- MFC实现的红绿灯程序
- Win32简易画图程序
- C++网络爬虫项目
- 泡泡堂(炸弹人)小游戏C/C++完整源码
- C++操作系统课设-进程管理
- 使用C/C++读取BITMAP的内容
- VC图像处理-用Canny算子提取边缘
- C/C++视频教程
- 个人总结的一些C/C++编码规范
- 高斯消去法求解线性方程组C/C++程序输
- celrityC/C++源码查看工具
- 网络编程MFC 实验四 FTP客户端功能实现
- C/C++语言大作业、小游戏
- 计算机网络课设-邮件客户端实现(含
评论
共有 条评论