宿舍管理系统c语言程序代码,宿舍管理系统(c语言版)

功能包含添加、删除,按学号查找记录,按姓名查找记录以及记录的添加修改删除。完美运行,课程设计必备,建议参考,自己编写才真的可以学到东西。想学到东西还得自动动手。

#include

#include

#include

#include

void menu();/*主菜单*/

void searchmenu();/*查询菜单*/

void search();/*查询系统*/

int search_stuname(char str[]);/*按姓名查询*/

int search_stunum(char str[]);/*按学号查询*/

int search_number(char str[]);/*按宿舍号查询*/

void sort_stunum();/*按学号排序*/

int find_stunum();/*增加学生信息时检查学号是否存在*/

int find1_stunum();/*修改学生信息时检查学号是否存在*/

void modify_stuname();/*按姓名修改学生信息*/

void modify_stunum();/*按学号修改学生信息*/

void delete_stuname();/*按姓名删除学生信息*/

void delete_stunum();/*按学号删除学生信息*/

void quit();/*退出系统*/

void bound();/*画一条直线*/

int check();/*检查是否为第一次使用*/

typedef struct student

{

char stuname[31];

char stunum[11];

char number[5];

struct student *next;

}STU;

FILE *fp;/*定义数据文件为全局变量*/

static char choice;/*定义操作代码为全局静态变量*/

void menu()

{

do

{

system("cls");

/*printf("\t**********************************\n");*/

printf("\n\t\t\t宿舍管理系统\n");

/*printf("\t**********************************\n");*/

bound();

printf("\n\t\t1. 显 示 所 有 学 生 信 息\n");

printf("\t\t2. 添 加 学 生 信 息\n");

printf("\t\t3. 查 询 学 生 信 息\n");

printf("\t\t4. 修 改 学 生 信 息\n");

printf("\t\t5. 删 除 学 生 信 息\n");

printf("\t\t0. 退出系统\n");

bound();

printf("\t\t请输入操作代码(0~5):\t");

fflush(stdin);

choice=getchar();

}while(choice'5');

/*while(choice'5')

{printf("\t\t输入的操作代码无效,请重新输入:");

fflush(stdin);

choice=getchar();

}*/

}

void display()/*显示所有学生的信息*/

{

STU *sturecord;

sturecord=(STU*)malloc(sizeof(STU));

if(check()==0)

return;

system("cls");

sort_stunum();

fp=fopen("record.dat","r");

if(fp==NULL)

{printf("文件读取失败!\n");

return;

}

printf("\t%-10s\t%-10s\t%-5s\n","姓名","学号","宿舍号");

bound();

while(fread(sturecord,sizeof(STU),1,fp)!=0)

{

printf("\t%-10s",sturecord->stuname);

printf("\t%-10s",sturecord->stunum);

printf("\t%-5s\n",sturecord->number);

}

fclose(fp);

printf("\t请按任意键返回主菜单:");

getch();

menu();

}

void addrecord() /*增加学生信息*/

{

STU *sturecord;

char ch;

system("cls");

sturecord=(STU*)malloc(sizeof(STU));

printf("\n\t请输入学生的姓名:");

scanf("%s",sturecord->stuname);

printf("\t请输入学生的学号:");

scanf("%s",sturecord->stunum);

if(find_stunum(sturecord->stunum)==1)

{addrecord();

return;

}

printf("\t请输入学生的宿舍号:");

scanf("%s",sturecord->numb