[c]代码库
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
//定义结构体类型
typedef struct student
{
int num;//学号
char name[20];
char sex[3];
int age;
char sdept[20];
int score;
char phone[20];
}student;
student s;
FILE *fp;
//欢迎界面
void welcome()
{
int t=0;
for(int i=0;i<=100;i++)
{
printf("\n\n\n\n\t\t***************学生管理系统**********");
for(int j=0;j<=t;j++)
{
printf("|||");
}
t++;
if(t==7)t=0;
printf("\n\n%d%%\n",i);
for(int m=0;m<=9000000;m++);
system("cls");//清屏函数
}
}
//注册函数
void regist()
{
system("cls");
//打开文件
fp=fopen("学生管理系统.txt","ab+");
if(fp==NULL)
{
printf("打开失败\n");
return;
}//写内存
printf("请输入学员的学号:");
scanf("%d",&s.num);
printf("请输入学员的姓名:");
fflush(stdin);
gets(s.name);
printf("请输入学员的性别:");
fflush(stdin);
gets(s.sex);
printf("请输入学员的年龄:");
scanf("%d",&s.age);
printf("请输入学员的专业:");
fflush(stdin);
gets(s.sdept);
printf("请输入学员的成绩:");
scanf("%d",&s.score);
printf("请输入学员的联系方式:");
fflush(stdin);
gets(s.phone);
//写文件
fwrite(&s,sizeof(s),1,fp);
//关闭文件
fclose(fp);
printf("注册成功,学号为:%d\n",s.num);
getch();
}
//全部显示函数
void display()
{
system("cls");
//打开文件
fp=fopen("学生管理系统.txt","rb+");
if(fp==NULL)
{
printf("打开失败\n");
return;
}
printf("学号\t姓名\t性别\t年龄\t专业\t成绩\t联系\n");
//读到内存并显示
while(fread(&s,sizeof(s),1,fp))
{
printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\n",s.num,s.name,s.sex,s.age,s.sdept,s.score,s.phone);
}
//关闭文件
//关闭文件
fclose(fp);
getch();
}
//查找函数
void select()
{
system("cls");
//打开文件
fp=fopen("学生管理系统.txt","rb+");
if(fp==NULL)
{
printf("打开失败\n");
return;
}
int number,f=0;
printf("请输入要查找的学号:");
scanf("%d",&number);
//读到内存比较
while(fread(&s,sizeof(s),1,fp))
{
if(s.num==number)
{
f=1;
break;
}
}
if(f==1)
{
printf("学号\t姓名\t性别\t年龄\t专业\t成绩\t联系\n");
printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\n",s.num,s.name,s.sex,s.age,s.sdept,s.score,s.phone);
}
else
{
printf("查无此人\n");
}
//关闭文件
fclose(fp);
getch();
}
//修改函数
void update()
{
system("cls");
//打开文件
fp=fopen("学生管理系统.txt","rb+");
if(fp==NULL)
{
printf("打开失败\n");
return;
}
int number,f=0;
printf("请输入要查找的学号:");
scanf("%d",&number);
//读到内存比较
while(fread(&s,sizeof(s),1,fp))
{
if(s.num==number)
{
f=1;
break;
}
}
if(f==1)
{
printf("请输入要修改的成绩:");
scanf("%d",&s.score);
fseek(fp,-sizeof(s),1);
fwrite(&s,sizeof(s),1,fp);
}
else
{
printf("查无此人\n");
}
//关闭文件
fclose(fp);
getch();
}
//删除函数
void dele()
{
system("cls");
//打开文件
fp=fopen("学生管理系统.txt","rb+");
if(fp==NULL)
{
printf("打开失败\n");
return;
}
FILE *fq;
//打开文件
fq=fopen("stu.txt","ab+");
if(fq==NULL)
{
printf("打开失败\n");
return;
}
int number;
printf("请输入要删除的学号:");
scanf("%d",&number);
while(fread(&s,sizeof(s),1,fp))
{
if(s.num!=number)
{
fwrite(&s,sizeof(s),1,fq);
}
}
fclose(fp);
fclose(fq);
remove("学生管理系统.txt");
rename("stu.txt","学生管理系统.txt");
getch();
}
//主函数
int main()
{
welcome();
char xz;
while(1)
{
printf("\n\n\n\t\ta.学员注册\n");
printf("\n\t\tb.显示所有学员信息\n");
printf("\n\t\tc.查找学员信息\n");
printf("\n\t\td.修改学员信息\n");
printf("\n\t\te.删除学员信息\n");
printf("\n\t\tf.系统退出\n");
printf("\n\t\t请选择服务:");
fflush(stdin);//清除输入缓冲区的回车符函数
scanf("%c",&xz);
if(xz=='a'||xz=='A')
{
regist();
}
else if(xz=='b'||xz=='B')
{
display();
}
else if(xz=='c'||xz=='C')
{
select();
}
else if(xz=='d'||xz=='D')
{
update();
}else if(xz=='e'||xz=='E')
{
dele();
}
else if(xz=='F'||xz=='f')
{
exit(0);//系统正常退出函数
}
}
return 0;
}