You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
274 lines
6.3 KiB
274 lines
6.3 KiB
#include<stdio.h>
|
|
#include<stdlib.h>
|
|
#include<string.h>
|
|
#define file "d:\\student.txt"
|
|
#define N 3
|
|
struct student{//定义结构体
|
|
char number[20];
|
|
char name[20];
|
|
char sex;
|
|
int age;
|
|
char beizhu[100];
|
|
};
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void menu()//菜单函数
|
|
{
|
|
printf("\n++++++++++++++++++++++++++++++++++++++++++++++\n");
|
|
printf("+ 欢迎 +\n");
|
|
printf("+ 班级档案管理系统 +\n");
|
|
printf("+ 1.学生基本信息输入 +\n");//Entry
|
|
printf("+ 2.学生基本信息显示 +\n");//Display
|
|
printf("+ 3.学生基本信息保存 +\n");//Save
|
|
printf("+ 4.学生基本信息删除 +\n");//Delete
|
|
printf("+ 5.学生基本信息修改 +\n");//Modify
|
|
printf("+ 6.学生基本信息查询 +\n");//Search
|
|
printf("+ 7.退出学生信息系统 +\n");//ExitFuction
|
|
printf("\n++++++++++++++++++++++++++++++++++++++++++++++\n");
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void Entry(struct student arr[],int n)//luru
|
|
{
|
|
int i;
|
|
for(i=0;i<n;i++)
|
|
{
|
|
printf("输入学生基本信息 学号 姓名 性别 年龄 备注\n");
|
|
scanf("%s %s %c %d %s",&arr[i].number,&arr[i].name,&arr[i].sex,&arr[i].age,&arr[i].beizhu);
|
|
}
|
|
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void Display(struct student arr[],int n)//xianshi
|
|
{
|
|
int i;
|
|
printf("学生基本信息 学号 姓名 性别 年龄 备注\n");
|
|
for(i=0;i<n;i++)
|
|
{
|
|
printf("%15s%15s%15c%15d%15s",arr[i].number,arr[i].name,arr[i].sex,arr[i].age,arr[i].beizhu);
|
|
}
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void save(struct student arr[],int n)//baocun
|
|
{
|
|
FILE *fp;
|
|
fp=fopen("d:\\student.txt","w+");
|
|
if(fp==NULL)
|
|
{
|
|
printf("无该文件\n");
|
|
exit(0);
|
|
}
|
|
fwrite(arr,sizeof(struct student)*n,n,fp);
|
|
fclose(fp);
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void Delete(struct student*arr,int n)//shanchu
|
|
{
|
|
int i,c;
|
|
char number[20];
|
|
printf("删除信息\n");
|
|
printf("请输入学号\n");
|
|
scanf("%s",&number);
|
|
for(i=0;i<n;i++)
|
|
{
|
|
if(!strcmp(number,arr[i].number))
|
|
{
|
|
strcpy(arr[i].name," ");
|
|
strcpy(arr[i].number," ");
|
|
strcpy(arr[i].beizhu," ");
|
|
arr[i].sex=' ';
|
|
arr[i].age=0;
|
|
save(arr,n);
|
|
c=1;
|
|
}
|
|
}
|
|
if(!c==1)
|
|
{
|
|
printf("查无此人\n");
|
|
}
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void Modify(struct student*arr,int n)//xiugai
|
|
{
|
|
char number[20];
|
|
char password[10]={0};
|
|
int i;
|
|
printf("请输入密码:\n");
|
|
for(i = 0;i < 3;i++)
|
|
{
|
|
scanf("%s",password);
|
|
if(strcmp(password,"123456") == 0)
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
printf("密码错误,请输入密码:\n");
|
|
}
|
|
}
|
|
if(i == 3)
|
|
{printf("退出系统\n");}
|
|
else
|
|
int number;
|
|
printf("成功进入修改系统\n");//enter xiugai
|
|
printf("修改学生信息:\n");
|
|
printf("请输入学号:\n");
|
|
scanf("%d",&number);
|
|
for(i=0;i<n;i++)
|
|
{ int c;
|
|
if(!strcmp(number,arr[i].number))
|
|
{
|
|
printf("学生基本信息 学号 姓名 性别 年龄 备注\n");
|
|
printf("%12s%12s%12c%12d%12s",arr[i].number,arr[i].name,arr[i].sex,arr[i].age,arr[i].beizhu);
|
|
printf("请输入修改的信息");
|
|
scanf("%s%s%c%d%s",&arr[i].number,&arr[i].name,&arr[i].sex,&arr[i].age,&arr[i].beizhu);
|
|
save(arr,n);
|
|
c=1;
|
|
}
|
|
if(!c==1)
|
|
{
|
|
printf("查无此人");
|
|
}
|
|
}
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
void Search(struct student*arr,int n)//chaxun
|
|
{
|
|
int i,select,c;
|
|
printf("*********通过学号查询*********\n");
|
|
printf("*********通过姓名查询*********\n");
|
|
printf("*********通过性别查询*********\n");
|
|
printf("*********通过年龄查询*********\n");
|
|
printf("**********退出查询**********\n");
|
|
scanf("%d",&select);
|
|
switch(select)
|
|
{
|
|
case 1://学号hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
|
|
{
|
|
char num[20];
|
|
printf("请输入学号:\n");
|
|
scanf("%s",&num);
|
|
for(i=0;i<n;i++)
|
|
{
|
|
if(!strcmp(num,arr[i].number))
|
|
{
|
|
printf("%12s%12s%12c%12d%12s\n",arr[i].number,arr[i].name,arr[i].sex,arr[i].age,arr[i].beizhu);
|
|
c=1;
|
|
}
|
|
}
|
|
if(!c)
|
|
{
|
|
printf("查无此人\n");
|
|
}
|
|
} break;
|
|
case 2: //名字hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
|
|
{
|
|
char num[20];
|
|
printf("请输入姓名:\n");
|
|
scanf("%s",&num);
|
|
for(i=0;i<n;i++)
|
|
{
|
|
if(!strcmp(num,arr[i].name))
|
|
{
|
|
printf("%12s%12s%12c%12d%12s\n",arr[i].number,arr[i].name,arr[i].sex,arr[i].age,arr[i].beizhu);
|
|
c=1;
|
|
}
|
|
}
|
|
if(!c)
|
|
{
|
|
printf("查无此人\n");
|
|
}
|
|
} break;
|
|
case 3://性别hhhhhhhhhhhhhhhhhhhhhhhhh
|
|
{
|
|
char ch;
|
|
printf("请输入性别:\n");
|
|
scanf("%c",&ch);
|
|
for(i=0;i<n;i++)
|
|
{
|
|
if(ch==arr[i].sex)
|
|
{
|
|
printf("%12s%12s%12c%12d%12s\n",arr[i].number,arr[i].name,arr[i].sex,arr[i].age,arr[i].beizhu);
|
|
c=1;
|
|
}
|
|
}
|
|
if(!c)
|
|
{
|
|
printf("查无此人\n");
|
|
}
|
|
} break;
|
|
case 4://年龄hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
|
|
{
|
|
char age;
|
|
printf("请输入年龄:\n");
|
|
scanf("%d",&age);
|
|
for(i=0;i<n;i++)
|
|
{
|
|
if(age==arr[i].age)
|
|
{
|
|
printf("%12s%12s%12c%12d%12s\n",arr[i].number,arr[i].name,arr[i].sex,arr[i].age,arr[i].beizhu);
|
|
c=1;
|
|
}
|
|
}
|
|
if(!c)
|
|
{
|
|
printf("查无此人\n");
|
|
}
|
|
} break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
/*hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*/
|
|
int main()//zhuhanshu
|
|
{
|
|
struct student arr[N];
|
|
char password[10]={0};
|
|
int i,select;
|
|
printf("请输入密码:\n");
|
|
for(i = 0;i < 3;i++)
|
|
{
|
|
scanf("%s",password);
|
|
if(strcmp(password,"123456") == 0)
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
printf("密码错误,请输入密码:\n");
|
|
}
|
|
}
|
|
if(i == 3)
|
|
{printf("退出系统\n");}
|
|
else
|
|
int select;
|
|
printf("登录成功\n");//开始
|
|
menu();
|
|
printf("请输入你的选择");
|
|
scanf("%d",&select); //xuanze
|
|
while(select>0&&select<7)
|
|
{
|
|
switch(select)
|
|
{
|
|
case 1:Entry(arr,N);
|
|
menu();
|
|
break;
|
|
case 2:Display(arr,N);
|
|
menu();
|
|
break;
|
|
case 3: save(arr,N);
|
|
menu();
|
|
break;
|
|
case 4:Delete(arr,N);
|
|
menu();
|
|
break;
|
|
case 5:Modify(arr,N);
|
|
menu();
|
|
break;
|
|
case 6:Search(arr,N);
|
|
menu();
|
|
break;
|
|
case 7: exit(0); //如菜单返回值为7则程序结束
|
|
}
|
|
}
|
|
return 0;
|
|
}
|