• 大小: 115KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: C/C++
  • 标签: C/C++  课设  

资源简介

这个是基于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

评论

共有 条评论