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