|
|
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;
|
|
|
}}
|
|
|
}
|