基于c语言的学生档案管理系统设计实现

#include<stdio.h>
#include<string.h>
struct Student//声明结构体类型
{
int num;
char name[20]; char sex; int age; char beizhu[100]; 13
};
void main()
{
int count=0,i; char m[10]={"ray"};//定义密码 char n[20],t,l,p,q,d;
struct Student a[10];
FILE * fp; //定义一个指向文件的指针变量fp
fp=fopen("r","w+");//将fopen函数返回值赋给指针变量fp { fscanf(fp,"%d\n",&count);
for(i=0;i<count;i++)
{ fscanf(fp,"学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注:%s\n",
&a[i].num,a[i].name,&a[i].sex,&a[i].age,&a[i].beizhu);//用格式化方式写入文件
}
fclose(fp);//用fclose函数关闭数据文件
} printf("是否进入该系统?Y/N\n"); scanf("%c",&q); scanf("%c",&p); if(q=='Y') { while(1) {
if(t=='g')
break;
printf("请输入密码\n"); gets(n); if(strcmp(m,n)==0)//字符串比较函数 { while(1)
{
printf("a.学生基本信息录入\n");
printf("b.学生基本信息显示\n");
printf("c.学生基本信息保存\n");
printf("d.学生基本信息删除\n");
printf("e.学生基本信息修改\n");
printf("f.学生基本信息查询\n (1).按学号查询\n (2).按姓名查询\n
(3).按性别查询\n (4).按年龄查询\n");
printf("g.退出系统\n");
printf("输入选择:");
scanf("%d",&t);
t=getchar();
if(t=='a')
{
for(i=count;i<5;i++) { printf("请输入学生%d的信息:学号、姓名、性别、年龄、备注\n",(count+1));
scanf("%d %s %c %d %s",&a[i].num,a[i].name,&a[i].sex,&a[i].age,&a
[i].beizhu);
count++; printf("是否继续输入?Y/N\n"); scanf("%c",&d); if(d!='Y')
break; }
}
else if(t=='b') { for(i=0;i<count;i++)
{
printf("学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注:%s\n", a[i].num,a[i].name,a[i].sex,a[i].age,a[i].beizhu); }
else if(t=='c') { FILE * fp; fp=fopen("学生信息","w+"); fprintf(fp,"%d\n",count);//用格式化方式读入文件 }
for(i=0;i<count;i++)
{
fprintf(fp,"学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注:%s\n",
a[i].num,a[i].name,a[i].sex,a[i].age,a[i].beizhu); }
printf("保存成功\n");
fclose(fp);//用fclose函数关闭数据文件
else if(t=='d')
{ }
int xuehao,i1,flag=0;
printf("请输入要删除学生的学号:\n"); scanf("%d",&xuehao);
for(i=0;i<count;i++)
{
if(xuehao==a[i].num)
{
flag=1;
for(i1=i;i1<count-1;i1++) {
a[i1]=a[i1+1];
}
}
}
if(flag=0)
printf("查无此人\n");
if(flag=1)
{
count=count-1;
printf("删除成功\n");
}
}
else if(t=='e')
{
char n1[20],c2;
int c1,k;
printf("请输入密码:\n");
scanf("%s",n1);
if(strcmp(m,n1)==0)//字符串比较函数 {
printf("请输入要修改学生的学号:");
scanf("%d",&c1);
 for(i=0;i<count;i++) {
 if(a[i].num==c1)
{ while(1)
 { if(k==5) break;
 printf("1.修改姓名\n"); 修改年龄\n"); 修改性别\n"); 修改备注\n"); 退出\n"); printf("请输入你的选择:"); scanf("%d",&k); switch(k) { case 1:printf("请输入新姓名:"); scanf("%s",n1); strcpy(a[i].name,n1);break;//字符串复制函 case 2:printf("请输入新年龄:"); scanf("%d",&c1); a[i].age=c1;break; 请输入新性别:"); scanf("%c",&c2); a[i].sex=c2;break; 请输入新备注:"); scanf("%s",n1);
strcpy(a[i].beizhu,n1);break;
case 5:break; }
default:printf("无此项操作\n"); } }
}
} else }
printf("密码错误\n");
else if(t=='f') {
int x;
printf(" (1).按学号查询\n (2).按姓名查询\n (3).按性别查询\n
(4).按年龄查询\n");
printf("请选择:");
scanf("%d",&x);
if(x==1) {
int b1;
printf("请输入学号:");
scanf("%d",&b1); for(i=0;i<count;i++)
{
if(b1==a[i].num)
break;
}
if(i>=count)
printf("查无此人\n");
else
printf("学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注
\n",
a[i].num,a[i].name,a[i].sex,a[i].age,a[i].beizhu); }
else if(x==2) {
int j=0;
char name1[20];
printf("请输入姓名:");
scanf("%c",&l); gets(name1);
for(i=0;i<count;i++) {
if(strcmp(name1,a[i].name)==0)
printf("学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注%s\n",
a[i].num,a[i].name,a[i].sex,a[i].age,a[i].beizhu);
j=1; } if(j==0)
printf("查无此人\n");
}
else if(x==3) {
char sex1;
printf("请输入性别:");
scanf("%d",&l); scanf("%c",&sex1);
for(i=0;i<count;i++)
{
if(sex1==a[i].sex)
printf("学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注%s\n",
a[i].num,a[i].name,a[i].sex,a[i].age,a[i].beizhu); } }
else if(x==4) {
int y;
printf("请输入年龄:");
scanf("%d",&y);
for(i=0;i<count;i++)
{
if(y==a[i].age)
printf("学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n备注%s\n",
else if(t=='g') { } else }
printf("无此项操作\n"); printf("退出系统\n"); break; }
a[i].num,a[i].name,a[i].sex,a[i].age,a[i].beizhu); } } else
printf("无此项操作\n");
} else
printf("密码错误\n");
} }
} else
printf("该程序结束\n");

 

posted @ 2019-09-30 09:31  JackieDYH  阅读(20)  评论(0编辑  收藏  举报  来源