景德镇陶瓷大学

实践周课程设计报告

实验名称

编写宿舍管理查询软件

姓    名

杨茹

班    级

17信管一班

学    号

117060300109

完成日期

2018年12月27日

  • 实验目的

为宿舍管理人员编写一个宿舍管理查询软件

  • 设计要求
  1. 采用交互工作方式 
  2. 建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 
  3. 查询菜单(用二分查找实现以下操作)
  1. 按姓名查询  
  2. 按学号查询  
  3. 按宿舍号查询 
  1. 打印任一查询结果(可以连续操作)
  • 需求分析

    1. 性能分析

宿舍内入住若干学生,每个宿舍都有唯一独立编码,入住学生有唯一的姓名、学号。编写宿舍管理系统,添加学生的姓名、学号、宿舍号为关键字,创建相应函数实现各种排序、查找和插入删除等操作。使用这些关键字及函数方便进行宿舍管理。

    1. 功能分析
  1. 实现交互工作方式,各项操作结束后均应返回主菜单; 
  2. 建立数据文件:系统本无任何信息数据,需开发一个“信息输入”功能,即首先创建一个学员线性表,同时我们可以将数据暂时保存在内存中,学生信息包括:姓名,学号,宿舍号;
  3. 显示:信息录入后都保存在内存中,用户看不到,需要设计一个信息显示功能,信息的显示应该便于查阅,所以需具备按各种关键字显示的功能;
  4. 排序:本系统按关键字(姓名、学号、房号)进行冒泡排序;
  5. 查询:采用二分查找方式,分别实现按关键字(姓名、学号、房号)查询功能; 
  6. 删除:于有些同学因为不同原因而离校,所以设计了删除功能;
  7. 插入:由于有新同学入校,所以设计了插入功能;、
  8. 打印:将查询到的某一学生信息或全部学生信息打印;
  9. 退出:退出交互工作系统。

功能

输入

查询

排序

显示

插入

删除

退出

 
   

(图1  功能简图)

    1. 用户需求
  1. 创建欢迎界面;
  2. 创建线性表,提示用户输入信息,并现实显示信息,输出各种关键字信息,便于用户查阅;
  3. 创建主界面,建立主选择菜单和子选择菜单,便于用户操作;
  4. 创建返回主菜单的函数,人性化设计;
  5. 提供推出选项,操作完毕需要退出时,提供选项,便于使用者退出交互工作系统;
  6. 优化程序,提供友好界面,操作键如下:

0:退出程序       1:按姓名排序     2:按学号排序

3:按宿舍号排序   4:按姓名查找     5:按学号查找

6:按宿舍号查找   7:按学号插入     8:按学号删除

  • 框架设计

宿舍管理系统功能模块图及流程图

姓名

学号

宿舍号

按照姓名排序,冒泡排序

按照学号排序,冒泡排序

按照宿舍排序,冒泡排序

排序模块

按照姓名从小到大查找,二分法查找

按照学号从小到大查找,二分法查找

按照宿舍从小到大查找,二分法查找

查找模块

按照学号从小到大插入

按照学号从小到大删除

插入和删除

(图2 功能模块图)

y

1<=f<=8

f<0或f>8

f=0

显示学生信息

是否继续

按姓名排序

按学号排序

按宿舍号排序

按姓名查找

按学号查找

按宿舍号查找

按学号插入

按学号删除

输入

姓名

输入

学号

输入

宿舍号

输入

信息

输入

学号

退出

开始

(主界面)

输入学生信息

是否继续输入

输入整数t

判断t

y

(图 3 系统流程图)

  • 概要设计
  1. 存储结构

单链表存储,结构体定义为

typedef struct{           //定义结构体成员

char name[20];

int num;                 //学号宿舍号为整型

int room;

}stu;

stu stud;

typedef struct{

int Length;              //当前长度

stu *Elem;               //存储空间基址

int ListSize;            //当前分配的存储容量

}LinkList;

  1. 数据设计

int f                  全局变量,指选择的操作键数

char name[20]          姓名

int num                学号

int room               宿舍号

int Length            为线性表的当前长度

stu *Elem;          指示线性表的基地址

int Listsize          当前分配的存储容量 

char c                 进入主界面的任意键

ch                    判断字符y或n 

int i,j               冒泡排序中,i为外层循环次数,j为内层循环次数

int i                打印学生信息时,i作为循环变量

int m;,int n;,int a   m,n,a在二分查找中分别代表房号,学号,姓名

int i,j,k;           i,j,k在按学号插入中作为循环变量 

int i,j,k=-1          i,j,k在按学号删除中作为循环变量

  1. 函数设计

int menu();                //列出主菜单

void Init(LinkList &L)     //初始化线性表

void Create(LinkList &L)   //创建学生信息表

void Shuru(LinkList L)     //学生信息录入

void Disp()                //返回主界面,调用menu()函数实现

void Sorte(LinkList &L)    //按照姓名由小到大排序,冒泡排序

void Sortn(LinkList &L)    //按照学号由小到大排序,冒泡排序

void Sortr(LinkList &L)    //按照宿舍号由小到大排序,冒泡排序

void chazhaoe(LinkList &L) //按姓名从小到大查找,二分查找

void chazhaon(LinkList &L) //按学号从小到大查找,二分查找

void chazhaor(LinkList &L) //按宿舍号从小到大查找,二分查找

void Insert(LinkList &L)  //按学号从小到大插入该学生

void Delete(LinkList &L)  //按学号从小到大删除该学生

int panduan2(char ch)   //如果学生不存在,判断是否继续查找,通过if语句,文件操作函数实现

void panduan3()        //如果已无学生记录则返回主界面,通过调用其他函数和文件操作函数实现

void print1 LinkList L)  //打印学生信息,通过调用文件操作函数实现

void print2(LinkList L,int mid)//输出学生信息,通过调用文件查找函数实现

void main()                //主函数,系统操作入口

  • 详细设计

实验源代码如下:

// 17信管宿舍管理系统.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define N 40

#define increase 10

int f,t=0;

typedef struct{

char name[20];

int  num;

int  room;

}stu;

stu stud;

typedef struct{

int Length;

stu *Elem;

int ListSize;

}LinkList;

void Init(LinkList &L){                                //初始化

L.Length=0;

L.Elem=(stu *)malloc(N * sizeof(stu ));

L.ListSize=N;

}

void menu(){                                      //菜单界面

printf("\n");

printf("----------------------------17信管1班宿舍管理查询系统---------------------------\n");

printf("\n");printf("\n");

printf("                             1、 按姓名排序\n");        printf("\n");

printf("                             2、 按学号排序\n");        printf("\n");

printf("                             3、 按宿舍号排序\n");   printf("\n");

printf("                             4、 按姓名查找\n");        printf("\n");

printf("                             5、 按学号查找\n");        printf("\n");

printf("                             6、 按宿舍号查找\n");   printf("\n");

printf("                             7、 按学号插入\n");        printf("\n");

printf("                             8、 按学号删除\n");

printf("\n");printf("\n");printf("\n");

printf("提示:当输入的数字键为0时,退出操作\n");

if(t==1)

{

printf("请输入数字键(1——8为操作键):");

scanf_s("%d",&f);

if(f<0||f>9)

{

system("cls");

printf("\n");

printf("输入的数字不对,请在原处重新输入\n");printf("\n");

menu();

}

}

}

void Disp(){                                      //返回主界面

char c;

fflush(stdin);printf("\n");

printf("请按任意键进入主界面:");

scanf_s("%c",&c);

system("cls");

}

void Shuru(LinkList L)                              //输入学生信息

{

printf("请输入姓名:");

fflush(stdin);                                //清空输入缓冲区,得到正确的输入数据

gets_s(stud.name);

printf("请输入学号:");

scanf_s("%d",&stud.num);

printf("请输入宿舍号:");

scanf_s("%d",&stud.room);

}

void Create(LinkList &L)                            //创建学生信息表

{

if(L.Length>=L.ListSize)                        //超过学生人数的初值重新输入

{

stu *newbase;

newbase=(stu *)realloc(L.Elem,(N+increase) * sizeof(stu ));

L.Elem=newbase;

L.ListSize+=increase;

}

int i=2;

char ch;printf("\n");

printf("--------------------------开始创建线性表--------------------------\n");

printf("\n");

printf("请输入第1个学生信息\n");

Shuru(L);

ch=getchar();

strcpy_s(L.Elem[L.Length].name,stud.name);

L.Elem[L.Length].num=stud.num;

L.Elem[L.Length].room=stud.room;

L.Length++;

printf("\n");

printf("是否继续输入?<y/n>:");

scanf_s("%c",&ch);

printf("\n");printf("\n");

while(ch=='y')

{

printf("请输入第%d个学生的信息\n",i);

Shuru(L);

strcpy_s(L.Elem[L.Length].name,stud.name);

L.Elem[L.Length].num=stud.num;

L.Elem[L.Length].room=stud.room;

L.Length++;

i++;

ch=getchar();

printf("\n");

printf("是否继续输入?<y/n>:");

scanf_s("%c",&ch);

printf("\n");printf("\n");

}

if(ch=='n')

system("cls");

}

void Sortr(LinkList &L)                             //按照宿舍号号排序由小到大排序,冒泡排序

{

int i,j;

stu temp;

for(i=0;i<L.Length-1;i++)

for(j=i+1;j<L.Length;j++)

if(L.Elem[i].room>L.Elem[j].room)

{

temp=L.Elem[i];

L.Elem[i]=L.Elem[j];

L.Elem[j]=temp;

}

}

void Sortn(LinkList &L)                           //按照学号排序由小到大排序,冒泡排序

{

int i,j;

stu temp;

for(i=0;i<L.Length-1;i++)

for(j=i+1;j<L.Length;j++)

if(L.Elem[i].num>L.Elem[j].num)

{

temp=L.Elem[i];

L.Elem[i]=L.Elem[j];

L.Elem[j]=temp;

}

}

void Sorte(LinkList &L)                           //按照姓名排序由小到大排序,冒泡排序

{

int i,j;

stu temp;

for(i=0;i<L.Length-1;i++)

for(j=i+1;j<L.Length;j++)

if(strcmp(L.Elem[i].name,L.Elem[j].name)>0)

{

temp=L.Elem[i];

L.Elem[i]=L.Elem[j];

L.Elem[j]=temp;

}

}

void print1(LinkList &L)                          //打印学生信息

{

int i;

printf("\n");

printf("姓名           学号           宿舍号  \n");printf("\n");

for(i=0;i<L.Length;i++)

printf("%-15s%-3d%15d\n",L.Elem[i].name,L.Elem[i].num,L.Elem[i].room);

}

void print2(LinkList &L,int mid)                   //打印查找到的学生信息

{

printf("查找成功------->该学生信息为:\n");

printf("姓名           学号          宿舍号\n");printf("\n");

printf("%-15s%-3d%15d\n",L.Elem[mid].name,L.Elem[mid].num,L.Elem[mid].room);

}

int Panduan1(char ch)                          //有学生

{

scanf_s("%c",&ch);

printf("是否继续查找?<y/n>:");

fflush(stdin);

scanf_s("%c",&ch);

if(ch=='y')

{

system("cls");

return(1);

}

else

return 0;

}

int Panduan2(char ch)                          //该学生不存在,是否继续查找

{

scanf_s("%c",&ch);

printf("该学生不存在,是否继续查找?<y/n>:");

fflush(stdin);

scanf_s("%c",&ch);

if(ch=='y')

{

system("cls");

return(1);

}

else

return 0;

}

void Panduan3()                               //判断没有学生信息后的操作,返回主界面

{

printf("\n");

printf("已无学生记录\n");

printf("\n");

Disp();

menu();

}

void chazhaor(LinkList &L)                       //按宿舍号从小到大查找,二分查找

{

if(L.Length==0)

Panduan3();

else

{

int low=0,high=L.Length,mid,flag=0;

int m;

char ch='y';

printf("\n");           printf("\n");

printf("按宿舍号查找---------->请输入要查找的宿舍号:");

scanf_s("%d",&m);

printf("\n");

while(low<=high)

{

mid=(low+high)/2;

if(m==L.Elem[mid].room)

{

flag=1;

break;

}

else if(m>L.Elem[mid].room)

low=mid+1;

else

high=mid-1;

}

if(flag==1)

{

print2(L,mid);

if(Panduan1(ch))

chazhaor(L);

else

{

system("cls");

menu();

}

}

else

{

if(Panduan2(ch))

chazhaor(L);

else

{

system("cls");

menu();

}

}

}

}

void chazhaon(LinkList &L)                    //按学号从小到大查找,二分查找

{

if(L.Length==0)

Panduan3();

else

{

int low=0,high=L.Length,mid,flag=0;

int n;

char ch='y';

printf("\n");           printf("\n");

printf("按学号查找---------->请输入要查找的学号:");

scanf_s("%d",&n);

printf("\n");

while(low<=high)

{

mid=(low+high)/2;

if(n==L.Elem[mid].num)

{

flag=1;

break;

}

else if(n>L.Elem[mid].num)

low=mid+1;

else

high=mid-1;

}

if(flag==1)

{

print2(L,mid);

if(Panduan1(ch))

chazhaon(L);

else

{

system("cls");

menu();

}

}

else

{

if(Panduan2(ch))

chazhaon(L);

else

{

system("cls");

menu();

}

}

}

}

void chazhaoe(LinkList &L)                  //按姓名查找,二分查找

{

if(L.Length==0)

Panduan3();

else

{

int low=0,high=L.Length,mid,flag=0;

printf("\n");printf("\n");

printf("按姓名查找---------->请输入要查找的姓名:");

char a[15],ch='y';

scanf_s("%s",&a);

printf("\n");

while(low<=high)

{

mid=(low+high)/2;

if(strcmp(a,L.Elem[mid].name)==0)

{

flag=1;

break;

}

else if(strcmp(a,L.Elem[mid].name)>0)

low=mid+1;

else

high=mid-1;

}

if(flag==1)

{

print2(L,mid);

if(Panduan1(ch))

chazhaoe(L);

else

{

system("cls");

menu();

}

}

else

{

if(Panduan2(ch))

chazhaoe(L);

else

{

system("cls");

menu();

}

}

}

}

void Insert(LinkList &L)                       //按学号从小到大插入该学生

{

int i,j ,k;

char ch;

printf("\n");

printf("插入的学生信息为:\n");

printf("姓名:");

fflush(stdin);

gets_s(stud.name);

printf("学号:");

scanf_s("%d",&stud.num);

printf("宿舍号:");

scanf_s("%d",&stud.room);

if(L.Length==0)

{

strcpy_s(L.Elem[L.Length].name,stud.name);

L.Elem[L.Length].num=stud.num;

L.Elem[L.Length].room=stud.room;

}

for(i=0;i<L.Length;i++)

{

if(stud.num<L.Elem[i].num)

{

k=i;

for(j=L.Length;j>k;j--)

L.Elem[j]=L.Elem[j-1];

strcpy_s(L.Elem[k].name,stud.name);

L.Elem[k].num=stud.num;

L.Elem[k].room=stud.room;

break;

}

else

{

strcpy_s(L.Elem[L.Length].name,stud.name);

L.Elem[L.Length].num=stud.num;

L.Elem[L.Length].room=stud.room;

}

}

L.Length++;

fflush(stdin);

printf("\n");

printf("是否继续插入><y/n>:");

scanf_s("%c",&ch);

if(ch=='y')

Insert(L);

else

system("cls");

}

void Delete(LinkList &L)                       //删除学生信息

{

int i,j,k=-1;

char ch;

printf("\n");printf("\n");

printf("请输入要删除学生的学号:");

scanf_s("%d",&stud.num);

for(i=0;i<L.Length;i++)

{

if(stud.num==L.Elem[i].num)

{

printf("该学生的信息为:\n");

printf("\n");

printf("%-15s%-3d%15d\n",L.Elem[i].name,L.Elem[i].num,L.Elem[i].room);

k=i;

for(j=k;j<L.Length-1;j++)

L.Elem[j]=L.Elem[j+1];

printf("\n");

break;

}

}

if(i>=L.Length)

printf("该学生不存在\n");

if(k>=0)

L.Length--;

fflush(stdin);

printf("\n");

printf("是否继续删除?<y/n>:");

scanf_s("%c",&ch);

system("cls");

if(ch=='y')

Delete(L);

else

system("cls");

}

void main(){

LinkList L;

Init(L);

char ch;

system("color d");

printf("\n");

printf("-----------------------欢迎进入17信管一班宿舍管理查询系统-----------------------\n");

printf("\n");

printf("请按任意键开始操作:");

scanf_s("%c",&ch);

system("cls");                           //将屏幕先前显示的内容删除掉

Create(L);

system("cls");

t=1;

menu();

while(f!=0)

{

system("cls");

switch(f)

{

case 1:Sorte(L);                     //按照姓名排序

printf("\n");

if(L.Length==0)

{

printf("已无学生记录\n");

printf("\n");

Disp();

menu();

}

else

{

printf("按姓名排序:\n");

print1(L);

Disp();                   //调用返回主界面

menu();

}

break;

case 2:Sortn(L);                //按学号排序

printf("\n");

if(L.Length==0)

{

printf("已无学生记录\n");

printf("\n");

Disp();

menu();

}

else

{

printf("按学号排序:\n");

print1(L);

Disp();

menu();

}

break;

case 3:Sortr(L);                  //按房间号排序

printf("\n");

if(L.Length==0)

{

printf("已无学生记录\n");

printf("\n");

Disp();

menu();

}

else

{

printf("按宿舍号排序:\n");

print1(L);

Disp();

menu();

}

break;

case 4:Sorte(L);               //先调用按姓名排序函数进行排序

chazhaoe(L);            //再调用按姓名查找函数进行(二分)查找

break;

case 5:Sortn(L);              //姓名

chazhaon(L);

break;

case 6:Sortr(L);              //宿舍号

chazhaor(L);

break;

case 7:Sorte(L);              //调用插入函数

Insert(L);

system("cls");

printf("显示插入后的学生信息:\n");

print1(L);

Disp();

menu();

break;

case 8:Delete(L);            //调用删除函数

if(L.Length==0)

{

printf("\n");

printf("学生记录已经被删除完\n");

printf("\n");

Disp();

menu();

}

else

{

printf("显示删除后的学生信息:\n");

print1(L);

Disp();

menu();

}

break;

}

}

}

  • 调试分析
  1. 测试数据

姓名      学号      宿舍号

杨茹      109        602   (删除)

訾欣      108        603

彭珠      131        602

孙友田    104        604  (插入)

李倩      105        602  (插入)(删除)

  1. 测试结果

    1. 欢迎界面
  1. 学生信息输入
  1. 主菜单
  1. 按姓名排序
  1. 按学号排序
  1. 按宿舍号排序
  1. 按姓名查找
  1. 按学号查找
  1. 按宿舍号查找
  1. 插入学生信息

(插入:信息输入界面)

(插入:信息输出界面)

  1. 删除学生信息

(删除一人)

(继续删除一人)

(删除:最终输出界面)

  1. 退出
  1. 判断学生不存在

1

  • 心得体会

通过本次数据结构课程设计实践周,我学习到了很多。本次课程设计内容是编写一个宿舍管理系统,完成这个项目我用时四天:

第一天

分析系统功能模块,设计程序框图,查找相关资料,编写代码框架

第二天

编写代码,填充内容,完成实验设计

第三天

调试代码,分析结果,编写实验报告

第四天

完成实验报告,进行总结。

在实验过程中,我充分利用了时间,在完成实验设计的同事,复习课本内容,巩固了知识点,许多曾经不知道的知识,通过互联网资源结合自身实践,现在也能了解掌握,比如:

1、在VS中,system("cls");的功能是将屏幕先前显示的内容删除掉

2、fflush(stdin); 功能是清空输入缓冲区,得到正确的输入数据

3、system("color d");功能是改变整个控制台的颜see,用 system("color

0A"); 其中color后面的0是背景色代号,A是前景色代号,每个数字可以为以下任何值之一。各颜色代码如下:

0 = 黑色      1 = 蓝色      8 = 灰色       9 = 淡蓝色

2 = 绿色      3 = 湖蓝色    A = 淡绿色     B = 淡浅绿色

4 = 红色      5 = 紫色      C = 淡红色     D = 淡紫色

6 = 黄色      7 = 白色      E = 淡黄色     F = 亮白色

4、scanf()和gets()输入函数的不同之处,scanf()输入字符串时不能带空格,否则不能输出空格后的字符,而gets()可以。

5、strmp()函数,比较两个字符串

设这两个字符串为str1,str2,

若str1=str2,则返回零;

若str1<str2,则返回负数;

若str1>str2,则返回正数。

6、在使用vs的时候,使用scanf和strcpy以及gets函数都会报错,说这几个函数存在安全问题。带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,防止hacker利用原版的不安全性(漏洞)黑掉系统。比如 scanf是不安全的 建议使用scanf_s替换,scanf_s多了一个参数,缓冲区大小,这可以防止缓冲区溢出。

在程序设计中,我使用Panduan1(),Panduan2(),Print1(),print2(),Disp()等函数来实现程序优化,对线性表、二分查找、冒泡排序有了进一步了解。但在实验过程中我也遇到了许多问题,有的是如if(**==**)漏写等号,数据未初始化等细节方面的问题,在调试分析中都可以检查出来,但是仍然有一些知识性问题来求助于网络和同学。其中在“按照名字查询void chazhaoe(LinkList &L) ”这一函数中遇到一些问题,程序不稳定,此功能经常会失灵,不能发挥相应的功能效果,目前我仍在寻找解决办法。

编程是一门实践学问,在以后我一定会多加练习,增加实践,提高自己的编程能力。

数据结构--宿舍管理查询软件相关推荐

  1. 数据结构课设——宿舍管理查询软件(文件读取与查找排序)

    问题描述 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式 (2)可以增加.删除.修改信息 (3)建立数据文件,数据文件按关键字(姓名.学号.房号)进行排序(选择 ...

  2. C语言宿舍管理查询软件

    C语言宿舍管理查询软件 发任务书日期:2022 年6月22日 课 程 设 计 任 务 书 1.设计目的: <数据结构>课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在 ...

  3. java二分查找宿舍管理_1、任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式...

    1.任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式 2016-08-22 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? 1.任务:为宿舍管理人员编写 ...

  4. 宿舍管理查询软件 C语言 中文摘要,宿舍管理查询软件 课程设计报告.doc

    宿舍管理查询软件 课程设计报告 课 程 设 计 课程设计名称: 宿舍管理查询软件 专 业 班 级 : 计科0604 学 生 姓 名 : 胡方俊 学 号 :20064140414 指 导 教 师 : 白 ...

  5. 数据结构综合训练报告--学生宿舍管理查询软件开发(论文+详细代码)

    摘要:当今社会正在飞速进步,计算机化管理正是在当今时代下发展起来的.21世纪的今天,信息社会占据着主流地位,计算机在各行各业中的也已经得到了普及,自动化.信息化.数据化的管理越来越广泛应用于各个领域. ...

  6. c语言宿舍管理查询软件,宿舍管理查询软件--数据结构,c语言

    四.功能模块说明 输入学生宿舍信息模块:完成宿舍信息的录入,可以选择从平台手动输入,也可以选择从指定文件中读取. 保存学生宿舍信息模块,完成宿舍信息的保存. 排序学生宿舍信息模块,完成按关键字排序的功 ...

  7. 宿舍管理查询软件系统

    宿舍管理查询软件系统 题目描述 为宿舍管理人员编写一个宿舍管理查询软件. 基本要求 (1)采用交互工作方式 (2)可以增加.删除.修改信息 (3)建立数据文件 ,数据文件按关键字(姓名.学号.房号)进 ...

  8. 查询宿舍信息的c语言,学生宿舍管理软件C语言源代码(完整版)

    学生宿舍管理系统C语言代码 一.需求分析 该程序是由C语言编写的一个宿舍管理查询软件,其主要功能是实现对学生信息的增加.删除.修改.查询.排序.存储.加载.其中查询可以分别以姓名.学号.寝室号为关键字 ...

  9. c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc

    C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...

最新文章

  1. bert as service
  2. PYQT5登录界面跳转主界面方法
  3. 修改boot.ini
  4. SpringCloud之微服务
  5. php禁用了所有命令执行的函数 怎么搞,PHP通过bypass disable functions执行系统命令的方法汇总...
  6. 2021ICPC(澳门) - LCS Spanning Tree(广义后缀自动机)
  7. java返回两个string_java – 为什么String.intern()方法返回两个不同的结果?
  8. 带有GSON和抽象类的JSON
  9. cordova 实现网页缓存_如何解决ionic,cordova混合开发的app缓存大的问题
  10. Java并发:Callable、Future和FutureTask
  11. python 除法总返回浮点
  12. java session超时判断_详解SpringBoot中Session超时原理说明
  13. msys2(msys2-i686-20180531)32位下安装GMT4.5.6
  14. matlab中si是什么意思,Sitsang是什么意思
  15. python 分词 词性_分词及词性标注
  16. 电脑软件测试英雄联盟,揭秘英雄联盟的自动化测试
  17. 【EXLIBRIS】#小词旮旯# 003 Comrade
  18. PAT乙级1068 万绿丛中一点红 (20 分)
  19. 树莓派系统安装和调试 总结整理篇
  20. 以下数值中 不能用作C语言标识符,C语言题库及答案(选择题)

热门文章

  1. wps表格怎么多个工作表检索内容?
  2. socket通信原理及相关函数(详细)总结
  3. 魔域gm工具 魔域批量远程管理工具
  4. iis站点https绑定
  5. 本机电脑端口开放让区域网内其他电脑访问
  6. xp计算机管理员用户隐藏,xp系统建立与删除隐藏账户教程分享
  7. JAVA毕业设计互联网校园家教兼职平台计算机源码+lw文档+系统+调试部署+数据库
  8. Git 本地仓库同步到 Gitee 远程仓库
  9. virtualBox打开一个虚拟机报错解决
  10. 超级玩家官方论坛android版,超级玩家官方论坛