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.
249 lines
6.6 KiB
249 lines
6.6 KiB
#include<stdio.h>
|
|
#include<string.h>
|
|
#include<stdlib.h>
|
|
|
|
void student_add();
|
|
void student_ll();
|
|
void student_xhcx();
|
|
void student_xmcx();
|
|
void student_xg();
|
|
void student_sc();
|
|
int flag=1;
|
|
int main()
|
|
{
|
|
int xuanze;
|
|
system("cls");
|
|
loop:
|
|
printf("\t\t\t\t********** 学生信息管理系统 **********");
|
|
printf("\n\n\n\n");
|
|
printf("\t\t\t\t 1.学生信息录入 \n");
|
|
printf("\t\t\t\t 2.学生信息浏览 \n");
|
|
printf("\t\t\t\t 3.学号查询系统 \n");
|
|
printf("\t\t\t\t 4.姓名查询系统 \n");
|
|
printf("\t\t\t\t 5.学生信息修改 \n");
|
|
printf("\t\t\t\t 6.学生信息删除 \n");
|
|
printf("\t\t\t\t 0.退出系统 \n");
|
|
printf("请你选择(0-6): \n");
|
|
scanf("%d",&xuanze);
|
|
switch(xuanze)
|
|
{
|
|
case 0:break;
|
|
case 1:student_add();break;
|
|
case 2:student_ll();break;
|
|
case 3:student_xhcx();break;
|
|
case 4:student_xmcx();break;
|
|
case 5:student_xg();break;
|
|
case 6:student_sc();break;
|
|
default:printf("你的选择有误!请重新选择!");goto loop;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
typedef struct student
|
|
{
|
|
char xuehao[20];
|
|
char xingming[20];
|
|
char nianling[20];
|
|
char xingbie[20];
|
|
char nianyue[20];
|
|
char dizhi[1000];
|
|
char dianhua[20];
|
|
char email[1000];
|
|
}stu;
|
|
|
|
void student_add()
|
|
{
|
|
int main();
|
|
FILE *fp;
|
|
struct student stu;
|
|
int n;
|
|
scanf("%d",&n);
|
|
system("cls");
|
|
fp=fopen("student.txt","a+");
|
|
if(fp==NULL)
|
|
printf("open file error!");
|
|
else
|
|
{
|
|
while(flag)
|
|
{
|
|
for(int i=1;i<=n;i++)
|
|
{
|
|
printf("请依次输入该同学的学号、姓名、年龄、性别、年月、地址、电话、电子邮箱:\n");
|
|
scanf("%s%s%s%s%s%s%s%s",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email);
|
|
fprintf(fp,"%s %s %s %s %s %s %s %s\n",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email);
|
|
printf(" press '1'to continue,'0' exit:");
|
|
scanf("%d",&flag);
|
|
}
|
|
}
|
|
}
|
|
fclose(fp);
|
|
main();
|
|
}
|
|
void student_ll()
|
|
{
|
|
char a[50],b[50],c[50],d[50],e[50],f[50],g[50],h[50];
|
|
system("cls");
|
|
freopen("student.txt","r",stdin);
|
|
printf("学号 姓名 年龄 性别 年月 地址 电话 电子邮箱\n");
|
|
while(scanf("%s%s%s%s%s%s%s%s",a,b,c,d,e,f,g,h)!=EOF)
|
|
{
|
|
printf("%s %s %s %s %s %s %s %s\n",a,b,c,d,e,f,g,h);
|
|
}
|
|
return ;
|
|
}
|
|
void student_xhcx()
|
|
{
|
|
FILE *fp;
|
|
struct student stu;
|
|
char xh[20];
|
|
system("cls");
|
|
printf("输入你想要查询的同学学号:\n");
|
|
scanf("%s",xh);
|
|
fp=fopen("student.txt","r");
|
|
if(fp==NULL)
|
|
printf("open file error!");
|
|
else
|
|
{
|
|
for(;!feof(fp);)
|
|
{
|
|
fscanf(fp,"%s%s%s%s%s%s%s%s",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email);
|
|
if(strcmp(xh,stu.xuehao)==0)
|
|
{
|
|
printf("以下是该同学的信息:\n");
|
|
printf("%s %s %s %s %s %s %s %s\n",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email);
|
|
}
|
|
if(strcmp(xh,stu.xuehao)!=0)
|
|
printf("没有你想要查看的同学的任何信息!请重新运行程序!\n");break;
|
|
}
|
|
}
|
|
fclose(fp);
|
|
}
|
|
void student_xmcx()
|
|
{
|
|
FILE *fp;
|
|
struct student stu;
|
|
char xm[40];
|
|
system("cls");
|
|
printf("输入你想要查询的同学姓名:\n");
|
|
scanf("%s",xm);
|
|
fp=fopen("student.txt","r");
|
|
if(fp==NULL)
|
|
printf("open file error!");
|
|
else
|
|
{
|
|
for(;!feof(fp);)
|
|
{
|
|
fscanf(fp,"%s%s%s%s%s%s%s%s",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email);
|
|
if(strcmp(xm,stu.xingming)==0)
|
|
{
|
|
printf("以下是该同学的信息:\n");
|
|
printf("%s %s %s %s %s %s %s %s\n",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email);
|
|
}
|
|
if(strcmp(xm,stu.xingming)!=0)
|
|
printf("没有你想要查看的同学的任何信息!请重新运行程序!\n");break;
|
|
}
|
|
}
|
|
fclose(fp);
|
|
}
|
|
void student_xg()
|
|
{struct student stu;
|
|
char xh[50],s[100],buf[100][50];
|
|
memset(buf,0,sizeof(buf));
|
|
printf("输入你想要修改的同学学号:\n");
|
|
scanf("%s",xh);int ok=0;
|
|
int cout,len=strlen(xh),i,p=0;
|
|
freopen("student.txt","r",stdin);
|
|
while(gets(s))
|
|
{cout=0;
|
|
for(i=0;i<strlen(xh);i++)
|
|
{
|
|
if(xh[i]==s[i])cout++;
|
|
}
|
|
if(cout==len){ok=1;break;}
|
|
}
|
|
freopen("CON","r",stdin);
|
|
freopen("CON","w",stdout);
|
|
if(ok)
|
|
{
|
|
char f[100];int op;
|
|
printf("输入你想修改的选项:1.地址 2.电话 3.电子邮箱\n");
|
|
scanf("%d",&op);
|
|
printf("输入你想修改的内容:\n");
|
|
scanf("%s",f);
|
|
freopen("student.txt","r",stdin);
|
|
while(scanf("%s%s%s%s%s%s%s%s\n",stu.xuehao,stu.xingming,stu.nianling,stu.xingbie,stu.nianyue,stu.dizhi,stu.dianhua,stu.email)!=EOF)
|
|
{
|
|
if(strcmp(stu.xuehao,xh)==0)//找到这个学生了
|
|
{
|
|
if(op==1)
|
|
{
|
|
strcpy(stu.dizhi,f);
|
|
|
|
}
|
|
else if(op==2)
|
|
{
|
|
strcpy(stu.dianhua,f);
|
|
}
|
|
else if(op==3)
|
|
{
|
|
strcpy(stu.email,f);
|
|
|
|
}
|
|
strcat(buf[p],stu.xuehao);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.xingming);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.nianling);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.xingbie);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.nianyue);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.dizhi);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.dianhua);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.email);buf[p][strlen(buf[p])]=' ';
|
|
p++;
|
|
}
|
|
else
|
|
{
|
|
strcat(buf[p],stu.xuehao);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.xingming);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.nianling);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.xingbie);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.nianyue);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.dizhi);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.dianhua);buf[p][strlen(buf[p])]=' ';
|
|
strcat(buf[p],stu.email);buf[p][strlen(buf[p])]=' ';
|
|
p++;
|
|
}
|
|
}
|
|
freopen("student.txt","w",stdout);
|
|
for(i=0;i<p;i++)
|
|
{
|
|
printf("%s\n",buf[i]);
|
|
}
|
|
freopen("CON","r",stdin);
|
|
freopen("CON","w",stdout);
|
|
}
|
|
else printf("没有找到该学生信息!\n");
|
|
}
|
|
void student_sc()
|
|
{
|
|
char s[100],a[100],b[300],buf[30][100];
|
|
printf("你要删除的学生学号:\n");
|
|
scanf("%s",s);
|
|
memset(buf,0,sizeof(buf));
|
|
freopen("student.txt","r",stdin);
|
|
int i=0,j;
|
|
while(scanf("%s",a)!=EOF)
|
|
{
|
|
|
|
gets(b);
|
|
if(strcmp(s,a)!=0)
|
|
{strcat(buf[i],a);
|
|
strcat(buf[i++],b);}
|
|
}
|
|
freopen("student.txt","w",stdout);
|
|
for(j=0;j<i;j++)
|
|
{
|
|
printf("%s\n",buf[j]);
|
|
}
|
|
freopen("CON","r",stdin);
|
|
freopen("CON","w",stdout);
|
|
}
|