|
|
#include <stdio.h>
|
|
|
#include <string.h>
|
|
|
#include <conio.h>
|
|
|
#include <STDLIB.H>
|
|
|
#include <stdlib.h>
|
|
|
int N=0;
|
|
|
struct stu
|
|
|
{
|
|
|
long int xuehao; /*学号*/
|
|
|
char name[10]; /*姓名*/
|
|
|
char sex[4]; /*性别*/
|
|
|
int age; /*年龄*/
|
|
|
char birth[10]; /*出生年月*/
|
|
|
char address[10]; /*地址*/
|
|
|
char phone[15]; /*电话号码*/
|
|
|
char mail[20]; /*mail*/
|
|
|
}s[40];
|
|
|
|
|
|
void READ()
|
|
|
{
|
|
|
FILE *fp;
|
|
|
fp=fopen("xsxxk.txt","r");
|
|
|
while( fscanf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",&s[N].xuehao,s[N].name,s[N].sex,&s[N].age,s[N].birth,s[N].address,s[N].phone,s[N].mail)!=EOF) N++;
|
|
|
fclose(fp);
|
|
|
}
|
|
|
|
|
|
void WRITE()
|
|
|
{
|
|
|
int i;
|
|
|
FILE *fp;
|
|
|
fp=fopen("newstudk.txt","w");
|
|
|
for(i=0;i<N;i++)
|
|
|
fprintf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[i].xuehao,s[i].name,s[i].sex,s[i].age,s[i].birth,s[i].address,s[i].phone,s[i].mail);
|
|
|
fclose(fp);
|
|
|
}
|
|
|
|
|
|
|
|
|
void Display() /*显示模块*/
|
|
|
{
|
|
|
system ("color 9F");
|
|
|
int i=0;
|
|
|
FILE *fp; /*定义文件结构类指针*/
|
|
|
fp=fopen("xsxxk.txt","r");
|
|
|
system("cls"); /*清屏*/
|
|
|
printf(" 学号 | 姓名 | 性别 | 年龄 | 出生年月 | 地址 | 电话号码 | mail\n");
|
|
|
printf(" | | | | | | | \n ");
|
|
|
while(fscanf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",&s[i].xuehao,s[i].name,s[i].sex,&s[i].age,s[i].birth,s[i].address,s[i].phone,s[i].mail)!=EOF)
|
|
|
{
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",s[i].xuehao,s[i].name,s[i].sex,s[i].age,s[i].birth,s[i].address,s[i].phone,s[i].mail);
|
|
|
i++;
|
|
|
}
|
|
|
fclose(fp);
|
|
|
}
|
|
|
|
|
|
|
|
|
void Add() /*追加模块*/
|
|
|
{
|
|
|
system ("color CF");
|
|
|
int n,i,a=1,j;
|
|
|
FILE *fp;
|
|
|
while(a==1)
|
|
|
{
|
|
|
system("cls"); /*清屏*/
|
|
|
printf(" ****************************\n");
|
|
|
printf(" * *\n");
|
|
|
printf(" * *\n");
|
|
|
printf(" * 请输入添加个数n: *\n");
|
|
|
printf(" * *\n");
|
|
|
printf(" * *\n");
|
|
|
printf(" ****************************\n");
|
|
|
scanf("%d",&n);
|
|
|
for(i=0;i<n;i++)
|
|
|
{
|
|
|
printf("学号:");scanf("%ld",&s[N].xuehao);
|
|
|
printf("名字:");scanf("%s",s[N].name);
|
|
|
printf("性别:");scanf("%s",s[N].sex);
|
|
|
printf("年龄:");scanf("%d",&s[N].age);
|
|
|
printf("出生日期:");scanf("%s",s[N].birth);
|
|
|
printf("地址:");scanf("%s",s[N].address);
|
|
|
printf("电话号码:");scanf("%s",s[N].phone);
|
|
|
printf("mail:");scanf("%s",s[N].mail);
|
|
|
if(n>1)
|
|
|
{
|
|
|
printf("\n\n 前一组值已输入完毕,请接着输入下一组值!\n");
|
|
|
}
|
|
|
fp=fopen("xsxxk.txt","w");
|
|
|
for(j=0;j<=N;j++)
|
|
|
{
|
|
|
fprintf(fp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[j].xuehao,s[j].name,s[j].sex,s[j].age,s[j].birth,s[j].address,s[j].phone,s[j].mail);
|
|
|
}
|
|
|
fclose(fp);
|
|
|
N++;
|
|
|
}
|
|
|
system("cls"); /*清屏*/
|
|
|
printf(" |==========================|\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 是否继续增加? |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 1.是 2.否 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" |==========================|\n");
|
|
|
printf(" 请选择1-2:");
|
|
|
scanf("%d",&a);
|
|
|
if(a==2)
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void xiugai() /*修改模块*/
|
|
|
{
|
|
|
system ("color 5F");
|
|
|
int lgl=1;
|
|
|
int x,i=0,k;
|
|
|
long int xuehao;
|
|
|
char name[10];
|
|
|
struct stu *p;
|
|
|
FILE *tp;
|
|
|
int lgl1=1;
|
|
|
while(lgl1==1)
|
|
|
{
|
|
|
system("cls"); /*清屏*/
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" | 请选择修改的人 |\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" | 1.学号 2.姓名 |\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" | 3.取消 |\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" 请选择:");
|
|
|
scanf("%d",&x);
|
|
|
switch(x)
|
|
|
{case 1:
|
|
|
printf("请输入要修改的学生学号:");
|
|
|
scanf("%ld",&xuehao);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{if(p->xuehao==xuehao)
|
|
|
{
|
|
|
i=1;
|
|
|
int j; //菜单选择项//
|
|
|
while(lgl==1)
|
|
|
{
|
|
|
system("cls"); /*清屏*/
|
|
|
printf("\n\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
printf(" | 请选择要修改的项目: |\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
printf(" | 1.性别 2.年龄 |\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
printf(" | 3.出生日期 4.地址 |\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
printf(" | 5.电话号码 6.mail |\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
printf(" | 7.取消 |\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
printf("请选择想要修改的项目1-7:");
|
|
|
scanf("%d",&j);
|
|
|
switch(j)
|
|
|
{ case 1: printf("新性别:"); scanf("%s",p->sex); break;
|
|
|
case 2: printf("新年龄:"); scanf("%d",&p->age); break;
|
|
|
case 3: printf("新出生日期:"); scanf("%s",p->birth); break;
|
|
|
case 4: printf("新地址:"); scanf("%s",p->address); break;
|
|
|
case 5: printf("新电话号码:"); scanf("%s",p->phone); break;
|
|
|
case 6: printf("新mail:"); scanf("%s",p->mail); break;
|
|
|
case 7: break;
|
|
|
}
|
|
|
printf("修改后数据如下:\n");
|
|
|
printf("% 6ld% 8s% 6s% 6d% 10s% 10s% 15s% 20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
tp=fopen("xsxxk.txt","w");
|
|
|
for(k=0;k<N;k++)
|
|
|
fprintf(tp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[k].xuehao,s[k].name,s[k].sex,s[k].age,s[k].birth,s[k].address,s[k].phone,s[k].mail);
|
|
|
fclose(tp);
|
|
|
printf("修改已成功!是否继续修改此项目的其他数据:(Y/N)");
|
|
|
char a; scanf("%s",&a);
|
|
|
if(a=='y'||a=='Y') lgl=1;
|
|
|
if(a=='n'||a=='N') lgl=0;
|
|
|
}
|
|
|
printf("是否返回修改其他数据:(Y/N)");
|
|
|
char b;
|
|
|
scanf("%s",&b);
|
|
|
if(b=='y'||b=='Y') lgl1=1;lgl=1;
|
|
|
if(b=='n'||b=='N') lgl1=0;
|
|
|
}}
|
|
|
if(i==0)
|
|
|
{
|
|
|
printf("\n\n对不起!您查询的数据不存在!\n是否返回菜单继续选择修改:(Y/N)");
|
|
|
char c;
|
|
|
scanf("%s",&c);
|
|
|
if(c=='y'||c=='Y') lgl1=1;
|
|
|
if(c=='n'||c=='N') lgl1=0;}
|
|
|
break;
|
|
|
case 2:
|
|
|
printf("请输入要修改的学生姓名:");
|
|
|
scanf("%s",name);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{
|
|
|
if(strcmp(p->name,name)==0)
|
|
|
{i=1;
|
|
|
int j; //菜单选择项
|
|
|
while(lgl==1)
|
|
|
{system("cls"); /*清屏*/
|
|
|
printf("\n\n");
|
|
|
printf(" |============================|\n");
|
|
|
printf(" |============================|\n");
|
|
|
printf(" | 请选择要修改的项目: |\n");
|
|
|
printf(" |============================|\n");
|
|
|
printf(" | 1.性别 2.年龄 |\n");
|
|
|
printf(" |============================|\n");
|
|
|
printf(" | 3.出生日期 4.地址 |\n");
|
|
|
printf(" |============================|\n");
|
|
|
printf(" | 5.电话号码 6.mail |\n");
|
|
|
printf(" |============================|\n");
|
|
|
printf(" | 7.取消 |\n");
|
|
|
printf(" |============================\n");
|
|
|
printf(" |===========================|\n");
|
|
|
printf("请选择想要修改的项目1-7:");
|
|
|
scanf("%d",&j);
|
|
|
switch(j)
|
|
|
{ case 1: printf("新性别:"); scanf("%s",p->sex); break;
|
|
|
case 2: printf("新年龄:"); scanf("%d",&p->age); break;
|
|
|
case 3: printf("新出生日期:"); scanf("%s",p->birth); break;
|
|
|
case 4: printf("新地址:"); scanf("%s",p->address); break;
|
|
|
case 5: printf("新电话号码:"); scanf("%s",p->phone); break;
|
|
|
case 6: printf("新mail:"); scanf("%s",p->mail); break;
|
|
|
case 7: break;
|
|
|
}
|
|
|
printf("修改后如下:\n");
|
|
|
printf("% 6ld% 8s% 6s% 6d% 10s% 10s% 15s% 20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
tp=fopen("xsxxk.txt","w");
|
|
|
for(k=0;k<N;k++)
|
|
|
fprintf(tp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[k].xuehao,s[k].name,s[k].sex,s[k].age,s[k].birth,s[k].address,s[k].phone,s[k].mail);
|
|
|
fclose(tp);
|
|
|
printf("修改已成功!是否继续修改此项目的其他数据:(Y/N)");
|
|
|
char d; scanf("%s",&d);
|
|
|
if(d=='y'||d=='Y') lgl=1;
|
|
|
if(d=='n'||d=='N') lgl=0;}
|
|
|
printf("是否返回修改其他数据:(Y/N)");
|
|
|
char e; scanf("%s",&e);
|
|
|
if(e=='y'||e=='Y') lgl1=1; lgl=1;
|
|
|
if(e=='n'||e=='N') lgl1=0;
|
|
|
}}
|
|
|
if(i==0)
|
|
|
{printf("\n\t对不起!您查询的数据不存在!\n是否返回菜单继续选择修改:(Y/N)");
|
|
|
char m; scanf("%s",&m);
|
|
|
if(m=='y'||m=='Y') lgl1=1;
|
|
|
if(m=='n'||m=='N') lgl1=0;}
|
|
|
|
|
|
break;
|
|
|
case 3:
|
|
|
system("cls");
|
|
|
lgl1=0; break;
|
|
|
}}
|
|
|
}
|
|
|
|
|
|
void shanchu() /*删除模块*/
|
|
|
{
|
|
|
system ("color 5F");
|
|
|
int i,j=1,k=0,m=1, scxuehao;
|
|
|
char scxm[8];
|
|
|
struct stu *p;
|
|
|
FILE *tp;
|
|
|
p=s;
|
|
|
system("cls"); /*清屏*/
|
|
|
while(m){
|
|
|
printf(" |===========================|\n");
|
|
|
printf(" | 删除方式 |\n");
|
|
|
printf(" | | |\n");
|
|
|
printf(" | 1:学号 | 2:姓名 |\n");
|
|
|
printf(" | | |\n");
|
|
|
printf(" |===========================|\n");
|
|
|
printf("请选择删除的类型1-2:");
|
|
|
scanf("%d",&i);
|
|
|
switch(i)
|
|
|
{case 1:
|
|
|
printf("请输入删除的学生学号:");
|
|
|
scanf("%16d",&scxuehao);
|
|
|
for (k=0;k<N;k++)
|
|
|
{if(scxuehao==p[k].xuehao)
|
|
|
{j=0;
|
|
|
for(;k<N;k++)
|
|
|
p[k]=p[k+1];
|
|
|
N--;
|
|
|
printf("删除成功!");}}
|
|
|
if (j==1)
|
|
|
{printf("没有找到要删除的信息!是否继续删除【Y/N】:"); char sf; scanf("%s",&sf);if(sf=='Y'||sf=='y') m=1;if(sf=='N'||sf=='n') m=0;}
|
|
|
if (j==0)
|
|
|
{printf("是否继续删除【Y/N】");char sf; scanf("%s",&sf); if(sf=='Y'||sf=='y') m=1;if(sf=='N'||sf=='n') m=0;}
|
|
|
break;
|
|
|
case 2:
|
|
|
printf("请输入删除的姓名:");
|
|
|
scanf("%s",scxm);
|
|
|
for (k=0;k<N;k++)
|
|
|
{if(strcmp(scxm,s[k].name)==0)
|
|
|
{j=0;
|
|
|
for(;k<N;k++)
|
|
|
p[k]=p[k+1];
|
|
|
N--;
|
|
|
printf("删除成功!\n");}}
|
|
|
if (j==1)
|
|
|
{printf("没有找到要删除的信息!是否继续删除【Y/N】:"); char sf; scanf("%s",&sf); if(sf=='Y'||sf=='y') m=1;if(sf=='N'||sf=='n') m=0;}
|
|
|
if (j==0)
|
|
|
{printf("是否继续删除【Y/N】");char sf; scanf("%s",&sf); if(sf=='Y'||sf=='y') m=1;if(sf=='N'||sf=='n') m=0;}
|
|
|
}}
|
|
|
tp=fopen("xsxxk.txt","w");
|
|
|
for(i=0;i<N;i++)
|
|
|
fprintf(tp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[i].xuehao,s[i].name,s[i].sex,s[i].age,s[i].birth,s[i].address,s[i].phone,s[i].mail);
|
|
|
fclose(tp);
|
|
|
}
|
|
|
|
|
|
void Found() /*查询模块*/
|
|
|
{
|
|
|
system("color CF");
|
|
|
int j=0;
|
|
|
long int xuehao; /*学号*/
|
|
|
char name[10]; /*姓名*/
|
|
|
char sex[4]; /*性别*/
|
|
|
int age; /*年龄*/
|
|
|
char birth[10]; /*出生年月*/
|
|
|
char address[10]; /*地址*/
|
|
|
struct stu *p;
|
|
|
int x;
|
|
|
int lgl=1;
|
|
|
while(lgl==1)
|
|
|
{
|
|
|
int xs=0; //控制查询到的信息显示//
|
|
|
system("cls"); /*清屏*/
|
|
|
printf("\n\n\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" | 请选择要查询的项目: |\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" | 1.学号 2.姓名 |\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" | 3.性别 4.年龄 |\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" | 5.出生日期 6.地址 |\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" | 7.取消 |\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf(" |=============================|\n");
|
|
|
printf("请选择想要查询的项目1-7:");
|
|
|
scanf("%d",&x);
|
|
|
switch(x)
|
|
|
{
|
|
|
case 1:
|
|
|
printf("请输入查询学号:");
|
|
|
scanf("%ld",&xuehao);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{if (p->xuehao==xuehao)
|
|
|
{j=1;
|
|
|
if(xs==0)
|
|
|
{printf("查询到的信息如下:\n");
|
|
|
xs++;
|
|
|
printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");}
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
}
|
|
|
}
|
|
|
if(j==0)
|
|
|
{
|
|
|
printf("\n\n查无此人!\n是否继续查询:(Y/N)");
|
|
|
char a;
|
|
|
scanf("%s",&a);
|
|
|
if(a=='y'||a=='Y') lgl=1;
|
|
|
if(a=='n'||a=='N') lgl=0;
|
|
|
}
|
|
|
if(j==1)
|
|
|
{
|
|
|
j=0; printf("是否继续查询:(Y/N)");
|
|
|
char b;
|
|
|
scanf("%s",&b);
|
|
|
if(b=='y'||b=='Y') lgl=1;
|
|
|
if(b=='n'||b=='N') lgl=0;
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
printf("请输入学生姓名:");
|
|
|
scanf("%s",&name);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{
|
|
|
if (strcmp(p->name,name)==0)
|
|
|
{j=1;
|
|
|
if(xs==0)
|
|
|
{printf("查询到的信息如下:\n");
|
|
|
xs++;
|
|
|
printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");}
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
}}
|
|
|
if(j==0)
|
|
|
{
|
|
|
printf("\n\n查无此人!\n是否继续查询:(Y/N)");
|
|
|
char c;
|
|
|
scanf("%s",&c);
|
|
|
if(c=='y'||c=='Y') lgl=1;
|
|
|
if(c=='n'||c=='N') lgl=0;
|
|
|
}
|
|
|
if(j==1)
|
|
|
{
|
|
|
j=0;
|
|
|
printf("是否继续查询:(Y/N)");
|
|
|
char d;
|
|
|
scanf("%s",&d);
|
|
|
if(d=='y'||d=='Y') lgl=1;
|
|
|
if(d=='n'||d=='N') lgl=0;
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
printf("请输入学生性别:");
|
|
|
scanf("%s",sex);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{
|
|
|
if (strcmp(p->sex,sex)==0)
|
|
|
{j=1;
|
|
|
if(xs==0)
|
|
|
{
|
|
|
printf("查询到的信息如下:\n");
|
|
|
xs++;
|
|
|
printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");}
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
}}
|
|
|
if(j==0)
|
|
|
{
|
|
|
printf("\n\n查无此人!\n是否继续查询:(Y/N)");
|
|
|
char e;
|
|
|
scanf("%s",&e);
|
|
|
if(e=='y'||e=='Y') lgl=1;
|
|
|
if(e=='n'||e=='N') lgl=0;
|
|
|
}
|
|
|
if(j==1)
|
|
|
{
|
|
|
j=0;
|
|
|
printf("是否继续查询:(Y/N)");
|
|
|
char l;
|
|
|
scanf("%s",&l);
|
|
|
if(l=='y'||l=='Y') lgl=1;
|
|
|
if(l=='n'||l=='N') lgl=0;
|
|
|
}
|
|
|
break;
|
|
|
case 4:
|
|
|
printf("请输入学生年龄:");
|
|
|
scanf("%d",&age);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{
|
|
|
if (p->age==age)
|
|
|
{j=1;
|
|
|
|
|
|
if(xs==0)
|
|
|
{
|
|
|
printf("查询到的信息如下:\n");
|
|
|
xs++;
|
|
|
printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");}
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
}}
|
|
|
if(j==0)
|
|
|
{
|
|
|
printf("\n\n查无此人!\n是否继续查询:(Y/N)");
|
|
|
char u;
|
|
|
scanf("%s",&u);
|
|
|
if(u=='y'||u=='Y') lgl=1;
|
|
|
if(u=='n'||u=='N') lgl=0;
|
|
|
}
|
|
|
if(j==1)
|
|
|
{
|
|
|
j=0;
|
|
|
printf("是否继续查询:(Y/N)");
|
|
|
char q;
|
|
|
scanf("%s",&q);
|
|
|
if(q=='y'||q=='Y') lgl=1;
|
|
|
if(q=='n'||q=='N') lgl=0;
|
|
|
}
|
|
|
break;
|
|
|
case 5:
|
|
|
printf("请输入学生出生日期:");
|
|
|
scanf("%s",birth);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{
|
|
|
if (strcmp(p->birth,birth)==0)
|
|
|
{j=1;
|
|
|
if(xs==0)
|
|
|
{
|
|
|
printf("查询到的信息如下:\n");
|
|
|
xs++;
|
|
|
printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");}
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
}
|
|
|
}
|
|
|
if(j==0)
|
|
|
{
|
|
|
printf("\n\n查无此人!\n是否继续查询:(Y/N)");
|
|
|
char a;
|
|
|
scanf("%s",&a);
|
|
|
if(a=='y'||a=='Y') lgl=1;
|
|
|
if(a=='n'||a=='N') lgl=0;
|
|
|
}
|
|
|
if(j==1)
|
|
|
{
|
|
|
j=0;
|
|
|
printf("是否继续查询:(Y/N)");
|
|
|
char b;
|
|
|
scanf("%s",&b);
|
|
|
if(b=='y'||b=='Y') lgl=1;
|
|
|
if(b=='n'||b=='N') lgl=0;
|
|
|
}
|
|
|
break;
|
|
|
case 6:
|
|
|
printf("请输入学生地址:");
|
|
|
scanf("%s",address);
|
|
|
for(p=s;p<s+N;p++)
|
|
|
{
|
|
|
if (strcmp(p->address,address)==0)
|
|
|
{j=1;
|
|
|
system("cls");
|
|
|
if(xs==0)
|
|
|
{
|
|
|
printf("查询到的信息如下:\n");
|
|
|
xs++;
|
|
|
printf(" 学号 姓名 性别 年龄 出生年月 地址 电话号码 mail\n");}
|
|
|
printf("% -10ld% -9s% -5s% -6d% -11s% -11s% -15s% -20s\n",p->xuehao,p->name,p->sex,p->age,p->birth,p->address,p->phone,p->mail);
|
|
|
}}
|
|
|
if(j==0)
|
|
|
{
|
|
|
printf("\n\n查无此人!\n是否继续查询:(Y/N)");
|
|
|
char a;
|
|
|
scanf("%s",&a);
|
|
|
if(a=='y'||a=='Y') lgl=1;
|
|
|
if(a=='n'||a=='N') lgl=0;
|
|
|
}
|
|
|
if(j==1)
|
|
|
{
|
|
|
j=0;
|
|
|
printf("是否继续查询:(Y/N)");
|
|
|
char b;
|
|
|
scanf("%s",&b);
|
|
|
if(b=='y'||b=='Y') lgl=1;
|
|
|
if(b=='n'||b=='N') lgl=0;
|
|
|
}
|
|
|
break;
|
|
|
case 7: lgl=0;
|
|
|
break;
|
|
|
}}
|
|
|
}
|
|
|
void paixu() /*排序模块*/
|
|
|
{
|
|
|
system("color 30");
|
|
|
int i,j;
|
|
|
FILE *tp;
|
|
|
struct stu temp;
|
|
|
for(i=0;i<N-1;i++)
|
|
|
{
|
|
|
for(j=i+1;j<N;j++)
|
|
|
{
|
|
|
if(s[i].xuehao>s[j].xuehao)
|
|
|
{
|
|
|
temp=s[j];
|
|
|
s[j]=s[i];
|
|
|
s[i]=temp;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
tp=fopen("xsxxk.txt","w");
|
|
|
for(i=0;i<N;i++)
|
|
|
fprintf(tp,"%ld\n%s\n%s\n%d\n%s\n%s\n%s\n%s\n",s[i].xuehao,s[i].name,s[i].sex,s[i].age,s[i].birth,s[i].address,s[i].phone,s[i].mail);
|
|
|
fclose(tp);
|
|
|
}
|
|
|
|
|
|
void Exit()
|
|
|
{
|
|
|
system ("color 3F");
|
|
|
system("cls");
|
|
|
printf(" ========================================|\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 学生信息管理系统 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 制作人:周韬 周远航 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 期待您的再次使用 ! |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 湖南工业大学通信1803 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" |=======================================|\n");
|
|
|
}
|
|
|
void help()
|
|
|
{
|
|
|
system("color 57");
|
|
|
system("cls");
|
|
|
printf("| 您好! |\n");
|
|
|
printf("|=========================================================================|\n");
|
|
|
printf("| |\n");
|
|
|
printf("| 欢迎进入学生信息管理系统! |\n");
|
|
|
printf("| |\n");
|
|
|
printf("| 请按照提示输入数字选择你要进行的操作! |\n");
|
|
|
printf("| |\n");
|
|
|
printf("| 改变学生信息会自动保存! |\n");
|
|
|
printf("| |\n");
|
|
|
printf("| 感谢您的使用! |\n");
|
|
|
printf("| |\n");
|
|
|
printf("|=========================================================================|\n");
|
|
|
}
|
|
|
int main()
|
|
|
{
|
|
|
system("color 9F");
|
|
|
int k;
|
|
|
READ();
|
|
|
k=1;
|
|
|
while(k)
|
|
|
{
|
|
|
system("cls"); /*清屏*/
|
|
|
printf("\n\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 欢迎使用学生信息管理系统 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 湖南工业大学 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 请选择你要进行的操作 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 1:帮助 2:添加信息 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 3:修改信息 4:删除信息 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 5:查询信息 6:显示所有信息 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 7.排序 8.退出 |\n");
|
|
|
printf(" | |\n");
|
|
|
printf(" | 2019.1.05 |\n");
|
|
|
printf(" |==========================================|\n");
|
|
|
printf("\n\n 请输入您的选择: ");
|
|
|
scanf("%d",&k);
|
|
|
switch(k)
|
|
|
{
|
|
|
case 1:help();break;
|
|
|
case 6:Display(); break;
|
|
|
case 2:Add(); Display(); break;
|
|
|
case 3:xiugai(); Display(); break;
|
|
|
case 4:shanchu(); Display(); break;
|
|
|
case 5:Found();break;
|
|
|
case 7:paixu(); Display(); break;
|
|
|
case 8:Exit(); k=0; break;
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
printf("\n\n按任意键继续!\n");
|
|
|
getch();
|
|
|
}
|
|
|
WRITE();
|
|
|
}
|
|
|
|