精华内容
下载资源
问答
  • 宿舍管理软件

    2012-01-06 10:31:45
    设某宿舍有:101,102,201,202四个房间,每个房间有4个床位,学生信息包括学号、姓名、房间号,为学生宿舍管理人员编写一个宿舍管理软件。 2) 基本要求 该程序应该具有下列功能: (1) 学生的入住处理; (2) 学生退房处理...
  • 神州浩天学生宿舍管理软件是一款学生公寓管理系统软件,学生宿舍管理系统实现计算机来管理宿舍和学生的信息,把宿舍管理部门的工作人员从日常繁杂的事务中解脱出来。通过使用学生公寓管理系统可以提高高校宿舍管理...
  • 本资源是用于数据结构课程设计,用C语言实现程序的功能包括添加删除等功能。
  • 《学生宿舍管理软件C语言源代码完整版》由会员分享,可在线阅读,更多相关《学生宿舍管理软件C语言源代码完整版(8页珍藏版)》请在人人文库网上搜索。1、源程序代码:#include#includeTotal.S_number);getchar();S_...

    《学生宿舍管理软件C语言源代码完整版》由会员分享,可在线阅读,更多相关《学生宿舍管理软件C语言源代码完整版(8页珍藏版)》请在人人文库网上搜索。

    1、源程序代码:#include#includeTotal.S_number);getchar();S_number_Judge(S,S-Total);_number);getchar();printf( 请输入学生地址 :);scanf(%s,SS-Total.S_address);getchar();printf( “请输入学生电话号码 : ”);scanf(%s,&SS-Total. S_phone);getchar();dirty=1;printf( 添加成功 !nn );_name,name)=0)flag=i;if (!flag)printf(else 你所要修改的学生信息在表中不存在。

    2、! n );printf(printf( 新信息如下 :n ); 请输入学生姓名 (30个字符以内 ): );getchar();printf( “请输入学生班级 (30 个字符以内 ): ”); scanf(%s,Sflag.S_class);getchar();printf( 请输入学生的学号 (15个字符以内): );scanf( %s ,Sflag.S_number);getchar();S_number_Judge(S,flag);printf( 请输入宿舍号 : ); scanf( %d,&Sflag.D_number);getchar();printf( 请输入学生地址 :); 。

    3、scanf(%s,Sflag.S_address);getchar();请输入学生电话号码 : ”);printf(scanf(%s,&Sflag. S_phone);getchar();dirty=1;printf( 修改成功 !n ); putchar( n );_name,name)=0)flag=i;if (!flag)printf( 你所要删除的学生在表中不存在!);elsefor (i=flag;iTotal;i+)j=i+1;strcpy(Si.S_name,Sj.S_name);strcpy(Si.S_number,Sj.S_number);Si.D_number=Sj.D_n。

    4、umber;(S-Total)-;dirty=1;printf( 删除成功 ! );printf( nn);_name,Si.S_class,Si.S_number,Si.D_number,Si.S_address,Si.S_phone);putchar( nn);strcpy(name,Si.S_name);strcpy(number,Si.S_number);_numberSj.D_number)strcpy(address,Si.S_address);strcpy(Cnumber,Si.S_class);t=Si.D_number;strcpy(Si.S_name,Sj.S_name);。

    5、strcpy(Si.S_number,Sj.S_number);strcpy(Si.S_address,Sj.S_address);strcpy(Si.S_class,Sj.S_class);Si.D_number=Sj.D_number;strcpy(Sj.S_name,name);strcpy(Sj.S_number,number);strcpy(Sj.S_address,address);strcpy(Sj.S_class,Cnumber);Sj.D_number=t;_number,Sj.S_number)0)strcpy(name,Si.S_name);strcpy(number,S。

    6、i.S_number);strcpy(address,Si.S_address);strcpy(Cnumber,Si.S_class);t=Si.D_number;strcpy(Si.S_name,Sj.S_name);strcpy(Si.S_number,Sj.S_number);strcpy(Si.S_address,Sj.S_address);strcpy(Si.S_class,Sj.S_class);Si.D_number=Sj.D_number;strcpy(Sj.S_name,name);strcpy(Sj.S_number,number);strcpy(Sj.S_address,。

    7、address);strcpy(Sj.S_class,Cnumber);Sj.D_number=t;_class,Sj.S_class)0)strcpy(name,Si.S_name);strcpy(number,Si.S_number);strcpy(address,Si.S_address);t=Si. D_number;strcpy(Si.S_name,Sj.S_name);strcpy(Si.S_number,Sj.S_number);strcpy(Si.S_address,Sj.S_address);strcpy(Cnumber,Si.S_class);strcpy(Si.S_cla。

    8、ss,Sj.S_class);Si. D_number =Sj. D_number;strcpy(Sj.S_name,name);strcpy(Sj.S_number,number);strcpy(Sj.S_address,address); strcpy(Sj.S_class,Cnumber);Sj. D_number =t;_class)=0)printf(%-20s%-20s %-15s%-5d%s-10%sn,Si.S_name,Si.S_class,Si.S_number,Si.D_number,Si.S_address,Si.S_phone);j=1;if(!j)printf(n 。

    9、查找失败 , 表中不存在该学生的信息 !nn);_name)=0)printf( %-20s%-20s %-15s%-5d %s-10%sn ,Si.S_name,);Si.S_class, Si.S_number,Si.D_number ,Si.S_address,Si.S_phonej=1;if (!j)printf( n 查找失败 , 表中不存在该学生的信息 !nn );_number)=0&strcmp(number,SS-Total.S_number)0)if(!j)printf( n 查找失败 , 表中不存在该学生的信息 !nn );_number&iTotal.D_number)。

    10、while (baseS-Total)break ;if(n0)while (Sn.D_number=i)printf( %-20s%-15s%-5dn ,Sn.S_name,Sn.S_number,Sn.D_number);n-;if(nSmid.D_number)base=mid+1;elsetop=mid-1;if (!j)printf( n 查找失败 , 表中不存在该寝室的信息 !nn );加学生信息|8.按照班级号从小到大排序 n ”);printf(2. 修改学生信息|9. 按照寝室号从小到大排序n );printf(3. 删除学生信息| 10.按照学号从小到大排序n );prin。

    11、tf(4. 以姓名查询学生信息| 11.显示所有学生的相关信息nprintf(5. 以学号查询学生信息| 12.保存操作 n );printf(6. 以寝室号查询该寝室中的全部学生信息| 13. 加载记录 n );printf(“7. 以班级号查询该班级中的全部学生信息| 14. 退出程序 n );printf(*nvoid main(););int i;Student S;S-Total=0;doMenu();printf( 请选择所要实现的功能 (请输入 114中的任意一个数字 ): );scanf( %d,&i);getchar(); / 获取换行符putchar( n );switch。

    12、 (i) case 1:Add(S);break ;case 2:Alter(S);break ;case 3:Delete(S);break ;case 4:Query_S_name(S);break ;case 5:Query_S_number(S);break ;case 6:Query_D_number(S); break ;case 7: Query_S_class (S);break;case 8: Sort_S_class (S);printf( 排序完成 !nn);break;case 9:Sort_D_number(S);printf( 排序完成 !nn );break ;case10:Sort_S_number(S);printf( 排序完成 !nn );break ;case11:Display_All(S);break ;case12:Save(S);break ;case13:Load(S);break ;case14:Judge_Save(dirty,S);exit(0);break ;default :printf( 选择错误 : 请在选项到之间选择 !nn );break ;while (i!=14。

    展开全文
  • 学生宿舍管理软件C语言源代码完整版一、需求分析该程序是由C语言编写的一个宿舍管理查询软件,其主要功能是实现对学生信息的增加、删除、修改、查询、排序、存储、加载。其中查询可以分别以姓名、学号、寝室号为...

    学生宿舍管理软件C语言源代码完整版

    一、需求分析

    该程序是由C语言编写的一个宿舍管理查询软件,其主要功能是实现对学生信息的增加、删除、修改、查询、排序、存储、加载。其中查询可以分别以姓名、学号、寝室号为关键字查询学生信息。排序可以分别以学号和寝室号为关键字进行从小到大的排序。

    ①输入的形式:根据用户所选择的功能,然后再依据程序相应的提示进行输入:

    选择功能1(添加学生信息):按照从先到后的顺序输入学生姓名(30个字符以内),学生学号(15个字符以内),宿舍号码(整数,范围在0~32767)。

    选择功能2(修改学生信息):按照从先到后的顺序输入要修改的学生姓名(30个字符以内),修改后学生的姓名(30个字符以内),修改后学生的学号(15个字符以内),修改后学生的宿舍号(整数,范围在0~32767)。

    选择功能3(删除学生信息):输入要删除的学生姓名(30个字符以内)。

    选择功能4(以姓名查询学生信息):输入要查找的学生的姓名(30个字符以内)。

    选择功能5(以学号查询学生信息):输入要查找的学生的学号(15个字符以内)。

    选择功能6(以寝室号查询学生信息):输入寝室号(整数,范围在0~32767)。

    ②输出的形式:根据用户所选择的功能不同,会有不同的输出:

    选择功能1(添加学生信息):根据程序的判断会输出添加成功或者添加失败。

    选择功能2(修改学生信息):根据程序的判断会输出修改成功或者修改失败。

    选择功能3(删除学生信息):根据程序的判断会输出删除成功或者删除失败。

    选择功能4(以姓名查询学生信息):根据程序的判断,如果查找成功,则会输出相应的学生信息,反之,则会输出查找失败。

    选择功能5(以学号查询学生信息):根据程序的判断,如果查找成功,则会输出相应的学生信息,反之,则会输出查找失败。

    选择功能6(以寝室号查询学生信息):根据程序的判断,如果查找成功,则会输出相应的学生信息,反之,则会输出查找失败。

    选择功能7,8(以寝室号和学号为关键字进行从小到大的排序):程序会输出排序成功。

    选择功能9(显示所有学生的信息):程序会输出所有以存学生的信息。

    选择功能10(保存操作):根据程序的判断会输出保存成功或者保存失败。

    选择功能11(加载记录):根据程序的判断会输出加载记录成功或者加载记录失败。

    ③测试数据: 对功能1(添加学生信息)的测试:向程序中添加三条记录

    按照先后顺序分别输入:学生姓名:张三,学生学号宿舍号:502

    学生姓名:李四,学生学号宿舍号:502

    学生姓名:王五,学生学号宿舍号:503

    对功能2(修改学生信息)的测试:修改学生王五的信息

    按照先后顺序分别输入:学生姓名:王五,学生姓名:王五,学生学号宿舍号:501

    对功能3(删除学生信息)的测试:删除学生李四的信息

    输入:学生姓名:李四

    对功能4(以姓名查询学生信息)的测试:查询学生王五的信息

    输入:学生姓名:王五

    对功能5(以学号查询学生信息)的测试:查询学号信息

    输入:学生学号对功能6(以寝室号查询学生信息)的测试:查询寝室号为501的信息

    输入:寝室号:501

    对功能7(按照寝室号从小到大的排序)和功能9(显示所有学生信息)的测试:先选择功能7,然后选择功能9,观察显示出来的记录是否按照寝室号从小到大排序。

    对功能8(按照学号从小到大的排序)和功能9(显示所有学生信息)的测试:先选择功能8,然后选择功能9,观察显示出来的记录是否按照学号从小到大排序。

    对功能10(保存操作)和功能11(加载记录)的测试:先选择功能10,然后关闭程序,重新运行,此时选择功能11,然后选择功能9显示出学生信息,查看信息是否有错误。

    二、概要设计

    1.抽象数据类型:

    ADT Student{

    数据对象:D={ai,bi,ci,| ai∈char S[31],bi∈char A[16],ci,∈int ,i=1,2,3,….}

    数据关系:R={< (ai,bi,ci), (ai+1,bi+1,ci+1)>| (ai,bi,ci) ∈D, i=1,2,3

    展开全文
  • 宿舍管理 这包括为旅馆管理项目完成的编码。 包括以下模块: ...学生和管理员登录模块 ...混乱管理 休假模块 管理员访问学生模块信息 为学生访问自己的信息 混乱供应商记录 ...为新入学的学生分配房间宿舍管理软件编码
  • //学生所在寝室的宿舍号 char S_address[500]; //学生地址 int S_phone[20]; //学生电话号码 int Total; //学生总数 }Student[M],St; //判断学号是否与表中所存学号重复 void S_number_Judge(Student S,int t) { ...

    word格式精心整理版

    PAGE

    范文范例 学习指导

    源程序代码:

    #include

    #include

    #include

    #define M 100

    int dirty=0; //用来判断是否已保存操作

    //定义一个存储学生相关信息的结构体

    typedef struct

    {

    char S_name[31]; //学生姓名

    char S_class[31]; //学生班级

    char S_number[16]; //学生学号

    int D_number; //学生所在寝室的宿舍号

    char S_address[500]; //学生地址

    int S_phone[20]; //学生电话号码

    int Total; //学生总数

    }Student[M],St;

    //判断学号是否与表中所存学号重复

    void S_number_Judge(Student S,int t)

    {

    int i;

    for(i=1;i<=(S->Total)-1;i++)

    while(strcmp(S[i].S_number,S[t].S_number)==0)

    {

    printf("学号输入失败,该学号已存在,请重新输入学号!\n");

    printf("请输入学生的学号(15个字符以内):");

    scanf("%s",S[t].S_number);

    getchar();

    i=1;

    }

    }

    //添加学生信息函数

    void Add(Student S)

    {

    printf("请输入学生姓名(30个字符以内):");

    scanf("%s",S[++(S->Total)].S_name);

    getchar();//获取换行符

    printf(“请输入学生班级(30个字符以内):”);

    scanf("%s",S[S->Total].S_class);

    getchar();

    printf("请输入学生的学号(15个字符以内):");

    scanf("%s",S[S->Total].S_number);

    getchar();

    S_number_Judge(S,S->Total);//判断输入的学号是否与表中所存在的学号重复

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

    scanf("%d",&S[S->Total].D_number);

    getchar();

    printf("请输入学生地址:");

    scanf("%s",S[S->Total].S_address);

    getchar();

    printf(“请输入学生电话号码:”);

    scanf("%s",&S[S->Total]. S_phone);

    getchar();

    dirty=1;

    printf("添加成功!\n\n");

    }

    //修改学生信息函数

    void Alter(Student S)

    {

    int i;

    int flag=0; //用来判断表中是否存在所要修改的学生的信息

    char name[20];

    printf("请输入你要修改学生的姓名:");

    scanf("%s",name);

    getchar();

    for(i=1;i<=S->Total;i++)

    if(strcmp(S[i].S_name,name)==0)

    flag=i;

    if(!flag)

    printf("你所要修改的学生信息在表中不存在!\n");

    else

    {

    printf("新信息如下:\n");

    printf("请输入学生姓名(30个字符以内):");

    scanf("%s",S[flag].S_name);

    getchar();

    printf(“请输入学生班级(30个字符以内):”);

    scanf("%s",S[flag].S_class);

    getchar();

    printf("请输入学生的学号(15个字符以内):");

    scanf("%s",S[flag].S_number);

    getchar();

    S_number_Judge(S,flag);

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

    scanf("%d",&S[flag].D_number);

    getchar();

    printf("请输入学生地址:");

    展开全文
  • 1)任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:A.采用交互工作方式 B.(建立数据文件,数据文件按关键字(姓名、学号、宿舍号)进行排序(冒泡、选择、插入排序等任选一种) (2)查询菜单:(用二分查找...
  • 好用的蓝光宿舍管理软件看来就知道!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...
  • 【问题描述】为宿舍管理人员编写一个宿舍管理软件, 查询学生宿舍住宿信息,开学时录入学生住宿信息,毕业时删除学生住宿信息。 【基本要求】 (1)建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡...

    【问题描述】为宿舍管理人员编写一个宿舍管理软件, 查询学生宿舍住宿信息,开学时录入学生住宿信息,毕业时删除学生住宿信息。
    【基本要求】
    (1)建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种);
    (2)实现如下查询功能:
       按姓名查询
       按学号查询
       按房号查询
       打印任意查询结果(可以连续操作)
    (3)录入、删除学生住宿信息,同时,将数据文本的信息及时更新。

    代码解析:

    数据文件电脑存在,且已经有若干名学生信息

    要求1的实现:程序中采用关键字 ‘学号’ 以冒泡方式进行排序!程序流程:先读取数据文件,然后按照关键字‘学号’以冒泡顺序排序,再写入到数据文件中!

    要求2的实现:均已经实现

    要求3的实现:均已经实现

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include <conio.h>
    
    #define N 20
    typedef struct {
    	char stuID[N]; //学号
    	char name[N]; //姓名
    	char roomID[N]; //房号
    }StuType;
    
    typedef struct {
    	StuType S[N];
    	int stunum; //学生人数
    }Student;
    
    /
    //子函数的声明
    /
    void menu(); //索引菜单
    void Allprint(Student ); //打印学生信息到屏幕
    void stuID_Sort(Student *); //学号排序:由小到大排序 冒泡排序
    void name_Sort(Student *); //姓名排序:由小到大排序 冒泡排序
    void Read(Student *); //将文本中的数据读取到结构体数组中
    void Write(Student *); //将学生数据存储到数据文件中
    void roomIDsort(Student *); //根据房号,进行冒泡排序
    void NameSearch(Student *Stu); //输入学生名字,输出对应的学生信息
    void stuIDSearch(Student *Stu); //输入学生学号,输出对应的学生信息
    void HouseSearch(Student *Stu); //输入学生房号:输出对应的学生信息
    void AddStu(Student *PStu); //增加学生信息,按照学号进行排序,然后添加到数据文件中
    void DeleteStu(Student *PStu); //通过学号删除学生信息,按照学号进行排序,然后添加到数据文件中
    //通过输入学号,改变学生信息;按照学号进行排序,然后添加到数据文件中
    void ChangeStu(Student *PStu);
    							   
    //主函数:
    int main() {
    
    	Student Stu;
    	Read(&Stu); //将文件中的数据读取到结构体数组中
    	stuID_Sort(&Stu); //将学生数据按照学号进行冒泡排序
    	Write(&Stu); //将排序好的学生信息输入到数据文件中
    	menu(); //菜单索引
    	while (1)
    	{
    
    		char input;
    		if (kbhit())
    		{
    			input = getch();
    			if (input == '1')
    			{
    				stuIDSearch(&Stu);
    			}
    			if (input == '2')
    			{
    				NameSearch(&Stu);
    			}
    			if (input == '3')
    			{
    				HouseSearch(&Stu);
    			}
    			if (input == '4')
    			{
    				stuID_Sort(&Stu);
    				Allprint(Stu);
    			}
    
    			if (input == '5')
    			{
    				name_Sort(&Stu);
    				Allprint(Stu);
    			}
    			if (input == '6')
    			{
    				roomIDsort(&Stu);
    				Allprint(Stu);
    			}
    			if (input == '7')
    			{
    				AddStu(&Stu);
    			}
    			if (input == '8')
    			{
    				DeleteStu(&Stu);
    			}
    
    			if (input == '9')
    			{
    				ChangeStu(&Stu);
    			}
    			if (input == 'e')
    			{
    				printf("感谢您的使用!");
    				system("cls");
    				break;
    				
    			}
    		}
    	}
    	return 0;
    }
    
    
    // 子函数的定义
    
    //索引菜单
    void menu() {
    	printf("***************学生信息管理系统***************\n");
    	printf("               1、根据学号查找学生            \n");
    	printf("               2、根据姓名查找学生            \n");
    	printf("               3、根据房号查找学生            \n");
    	printf("               4、根据学号排序输出            \n");
    	printf("               5、根据姓名排序输出            \n");
    	printf("               6、根据房号排序输出            \n");
    	printf("               7、增加信息                    \n");
    	printf("               8、删除信息                    \n");
    	printf("               9、修改信息                    \n");
    	printf("               e、退出                       \n");
    	printf("**********************************************\n");
    	printf("               请选择...                      \n ");
    }
    
    //打印学生信息到屏幕
    void Allprint(Student Stu) {
    	printf("学号\t姓名\t房号\n");
    	for (int i = 0; i < Stu.stunum; i++)
    	{
    		printf("%s\t%s\t%s\n", Stu.S[i].stuID, Stu.S[i].name, Stu.S[i].roomID);
    	}
    }
    //学号排序:由小到大排序 冒泡排序
    void stuID_Sort(Student *PStu) {
    	int len = PStu->stunum;
    	int i, j;
    	StuType temp;
    	for (i = 0; i < len - 1; i++)
    		for (j = 0; j < len - 1 - i; j++)
    			if (strcmp(PStu->S[j].stuID, PStu->S[j + 1].stuID) > 0) {
    				temp = (PStu->S[j]);
    				(PStu->S[j]) = (PStu->S[j+1]);
    				(PStu->S[j+1]) = temp;
    			}
    }
    
    //姓名排序:由小到大排序 冒泡排序
    void name_Sort(Student *PStu) {
    	int len = PStu->stunum;
    	int i, j;
    	StuType temp;
    	for (i = 0; i < len - 1; i++)
    		for (j = 0; j < len - 1 - i; j++)
    			if (strcmp(PStu->S[j].name, PStu->S[j + 1].name) > 0) {
    				temp = (PStu->S[j]);
    				(PStu->S[j]) = (PStu->S[j + 1]);
    				(PStu->S[j + 1]) = temp;
    			}
    }
    //将文本中的数据读取到结构体数组中
    void Read(Student *PStu) {
    
    	FILE *fp = fopen("./Data Structure.txt", "r");
    	int i = 0;
    	if (fp == NULL) {
    		printf("can not open the file");
    		exit(0);
    	}
    	while (1)
    	{
    		int n = fscanf(fp, "%s %s %s\n", PStu->S[i].stuID, PStu->S[i].name, PStu->S[i].roomID);
    		if (n == -1) {
    			break;
    		}
    		PStu->stunum = i + 1;
    		i++;
    	}
    	fclose(fp);
    }
    
    //将学生数据存储到数据文件中
    void Write(Student *PStu) {
    	FILE *fp = fopen("./Data Structure.txt", "w");
    	int i = 0;
    	if (fp == NULL) {
    		printf("can not open the file");
    		exit(1);
    	}
    	for (i = 0; i < PStu->stunum;i++) {
    		fprintf(fp,"%s\t%s\t%s\n", PStu->S[i].stuID, PStu->S[i].name, PStu->S[i].roomID);
    	}
    	fclose(fp);
    }
    
    //根据房号,进行冒泡排序
    void roomIDsort(Student *PStu) {
    	int len = PStu->stunum;
    	int i, j;
    	StuType temp;
    	for (i = 0; i < len - 1; i++)
    		for (j = 0; j < len - 1 - i; j++)
    			if (strcmp(PStu->S[j].roomID, PStu->S[j + 1].roomID) > 0) {
    				temp = (PStu->S[j]);
    				(PStu->S[j]) = (PStu->S[j + 1]);
    				(PStu->S[j + 1]) = temp;
    			}
    }
    
    //输入学生名字,输出对应的学生信息
    void NameSearch(Student *Stu) {
    	printf("请输入该学生的姓名:\n");
    	char key[N];
    	scanf("%s", key);
    	int  i;
    	int flag = 0;
    	for (i=0;i< Stu->stunum;i++)
    		if (strcmp(Stu->S[i].name, key) == 0)
    		{
    			flag = 1;
    			break;
    		}
    	if (flag == 0)
    	{
    		printf("查无此人!");
    		return;
    	}
    	printf("查询成功!\t");
    	printf("学号:%s,姓名:%s,房号:%s\n", Stu->S[i].stuID, Stu->S[i].name, Stu->S[i].roomID);
    }
    
    //输入学生学号,输出对应的学生信息
    void stuIDSearch(Student *Stu) {
    	 
    	printf("请输入该学生的学号:\n");
    	char key[N];
    	scanf("%s", key);
    	int nn = 0;
    	int low, high, mid;
    	low = 1;
    	high = Stu->stunum;
    	while (low <= high)
    	{
    		mid = (high + low) / 2;
    		if (strcmp(key, Stu->S[mid].stuID) == 0)
    		{
    			nn = mid;
    			break;
    		}
    		else if (strcmp(key, Stu->S[mid].stuID) < 0)
    			high = mid - 1;
    		else
    			low = mid + 1;
    	}
    	printf("查询成功!");
    	printf("学号:%s,姓名:%s,房号:%s\n", Stu->S[nn].stuID, Stu->S[nn].name, Stu->S[nn].roomID);
    }
    
    //输入学生房号:输出对应的学生信息
    void HouseSearch(Student *Stu) {
    	printf("请输入该学生的房号:\n");
    	char key[N];
    	scanf("%s", key);
    	int i;
    	int flag = 0;
    	for (i = 0; i < Stu->stunum; i++)
    		if (strcmp(Stu->S[i].roomID, key) == 0)
    		{
    			flag = 1;
    			break;
    		}
    	if (flag == 0)
    	{
    		printf("查无此人!");
    		return;
    	}
    	printf("查询成功!\t");
    	printf("学号:%s,姓名:%s,房号:%s\n", Stu->S[i].stuID, Stu->S[i].name, Stu->S[i].roomID);
    }
    
    //增加学生信息,按照学号进行排序,然后添加到数据文件中
    void AddStu(Student *PStu) {
    	printf("请依次输入该学生的学号、姓名、房号:\n");
    	char num[N];
    	char name[N];
    	char house[N];
    	scanf("%s %s %s", &num, &name, &house);
    	strcpy(PStu->S[PStu->stunum].stuID, num);
    	strcpy(PStu->S[PStu->stunum].name, name);
    	strcpy(PStu->S[PStu->stunum].roomID, house);
    	PStu->stunum++;
    	stuID_Sort(PStu);
    	Write(PStu);
    	printf("添加成功!\n");
    }
    
    //通过学号删除学生信息,按照学号进行排序,然后添加到数据文件中
    void DeleteStu(Student *PStu) {
    	printf("请输入该学生的学号:\n");
    	char key[N];
    	scanf("%s", &key);
    	int i;
    	int flag = 0;
    	for (i=0;i< PStu->stunum;i++)
    		if (strcmp(PStu->S[i].stuID,key) == 0)
    		{
    			flag = 1;
    			break;
    		}
    	if (flag == 0)
    	{
    		printf("查无此人!");
    		return;
    	}
    	printf("学号:%s,姓名:%s,房号:%s\n", PStu->S[i].stuID, PStu->S[i].name, PStu->S[i].roomID);
    	printf("确定删除请按1,放弃删除请按0...\n");
    	int q,k;
    	
    	scanf("%d", &q);
    	if (q == 0) {
    		return;
    	}
    	else
    	{
    		if (i == (PStu->stunum - 1)) {
    			//删除最后一个学生信息
    			 
    		}
    		else
    		{
    			for (k = i; k < PStu->stunum - 1; k++) {
    				PStu->S[k] = PStu->S[k + 1];
    				 
    			}
    		}
    		PStu->stunum--;
    		stuID_Sort(PStu);
    		Write(PStu);
    		printf("删除成功!\n");
    	}		
    }
    
    //通过输入学号,改变学生信息;按照学号进行排序,然后添加到数据文件中
    void ChangeStu(Student *PStu) {
    	printf("请输入该学生的学号:\n");
    	char key[N];
    	scanf("%s", &key);
    	int i;
    	int flag = 0;
    	for (i=0;i< PStu->stunum;i++)
    		if (strcmp(PStu->S[i].stuID, key) == 0)
    		{
    			flag = 1;
    			break;
    		}
    	if (flag == 0)
    	{
    		printf("查无此人!");
    		return ;
    	}
    	printf("请依次输入修改后的学号\t姓名\t房号:\n");
    	scanf("%s %s %s",PStu->S[i].stuID,PStu->S[i].name,PStu->S[i].roomID);
    	stuID_Sort(PStu);
    	Write(PStu);
    	printf("修改成功!\n");
    }
    
    

     

    展开全文
  • 本文档为软件开发阶段概要设计说明书,以学生宿舍管理系统为课题,包括系统结构图、数据流图、外部内部接口设计、系统数据结构设计等。
  • 宿舍管理查询软件

    2018-09-16 16:56:18
    1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式(即列出管理功能,供选择) B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选...
  • 宿舍管理软件系统

    2013-03-19 15:30:08
    这是我们学完数据结构之后,老师布置的数据结构实践作业,我们语言选择的c++。用心做了两个周吧,还不是很完善,等着你去做的更完美奥,呵呵,希望对还在学习的同学有所帮助。
  • 学生宿舍管理系统C语言代码一、需求分析该程序是由C语言编写的一个宿舍管理查询软件,其主要功能是实现对学生信息的增加、删除、修改、查询、排序、存储、加载。其中查询可以分别以姓名、学号、寝室号为关键字查询...
  • 宿舍管理查询软件 课程设计报告课 程 设 计课程设计名称: 宿舍管理查询软件专 业 班 级 : 计科0604学 生 姓 名 : 胡方俊学 号 :20064140414指 导 教 师 : 白浩课程设计时间: 2008年6月23日1 需求分析为一个...
  • 数据结构课程设计 宿舍管理查询软件 家31大嶂秦皇岛分校 NorthEastern University At QinHuangDao 数据结构课程设计 宿舍管理查询软件 班级学号 班 学生姓名 提交日期 7月24日 成 绩 计算机与通信工程学院 一需求...
  • 这个是我们做的课程设计 传上来 又需要的可以下载去瞧瞧
  • C语言程序课程设计宿舍管理软件.doc课程设计(论文)题 目 名 称 宿舍管理软件课 程 名 称 C语言程序课程设计学 生 姓 名学 号系 、专 业 信息工程系、信息大类指 导 教 师 黄 同 成目 录1 前言2 需求分析62.1要求62.2...
  • (1)为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A.采用交互工作方式 B可按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) (2)查询菜单: (用二分查找实现以下操作) A.按姓名...
  • 该资源包括数据结构课程设计之宿舍管理查询软件的实现源代码,和数据结构学习过程中的作业与练习的源代码实现,也有文件的各种读写操作,实现简单方便。
  • 软件项目管理期末大作业——学生宿舍信息管理系统 压缩包里面包含:直接可用的PPT、甘特图、里程碑图,直接可用。 今天刚讲完,在班级所有小组展示 里面,被老师认为是最好的。
  • 课程设计的主要内容包括: 1 引言 2 设计说明 3 算法说明 4 主要变量 5 主要功能函数 6 调试说明 7 心得体会 8 参考文献 9 程序清单
  • 学生宿舍管理系统设计报告,完成学生的住宿管理,包括入住、换房、退房、新生入学、毕业、收费等功能;
  • 教育资料
  • “小学的宿舍管理系统”是一套面向小学的宿舍管理系统。 系统可以对小学学校的教学环境进行基础的配置。 系统可以对平台的使用人员(如校长、年段长、班主任、课任老师)进行后台维护,可以进行权限的配置。 系统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,914
精华内容 4,365
关键字:

宿舍管理软件