?? evo03.cpp
字號(hào):
cin>>str;
for (i=0,j=0;i<stu_num;i++)
{
if (strcmp(stu[i].name,str)==0)
stu_flag[j++]=i;
}
findf=j;
if(j==0)
{
system("CLS");
cout<<"沒(méi)有找到相關(guān)姓名";
found=0;
}
}
else if(c=='u'||c=='U')
{
found=1;
cout<<"________________________________________________________________________________\n\n";
cout<<"請(qǐng)輸入你要查找的學(xué)號(hào)\n";
cin>>str;
for (i=0,j=0;i<stu_num;i++)
{
if (strcmp(stu[i].num,str)==0)
stu_flag[j++]=i;
}
findf=j;
if(j==0)
{
system("CLS");
cout<<"沒(méi)有找到相關(guān)學(xué)號(hào)";
found=0;
}
}
if(found==1)
{
flag=1;
while(flag)
{
system("CLS");
flr_flag=0;
flag=1;
while (flag)//10學(xué)生
{
if (flr_flag==0)
{
slct=0;
system("CLS");
printf ("%6s%10s%12s%6s%12s%12s%12s\n________________________________________________________________________________\n","序號(hào)","姓名","學(xué)號(hào)","性別","學(xué)院專(zhuān)業(yè)","政治面貌","籍貫");
for (i=0;i<findf;i++)
printf ("%6d%10s%12s%6s%12s%12s%12s\n",i,stu[stu_flag[i]].name,stu[stu_flag[i]].num,stu[stu_flag[i]].sex,stu[stu_flag[i]].pro,stu[stu_flag[i]].pstat,stu[stu_flag[i]].jg);
printf ("\n________________________________________________________________________________\n");
cout<<"用數(shù)字鍵選擇學(xué)生\n";
printf ("R=滾動(dòng)到右半頁(yè) X=回到主菜單\n");
while (c=getch(),c>'0'+j&&c<'0'&&c!='r'&&c!='R'&&c!='x'&&c!='X')
;
if (c=='r'||c=='R')
lr_flag=1;
if (c=='x'||c=='X')
{
system("CLS");
flag=0;
}
else
slct=1;
}
else
{
slct=0;
system("CLS");
printf ("%6s%10s%12s%16s%21s\n________________________________________________________________________________\n","序號(hào)","姓名","生日","宿舍電話","郵箱");
for (i=0;i<findf;i++)
printf ("%6d%10s%12s%16s%21s\n",i,stu[stu_flag[i]].name,stu[stu_flag[i]].birth,stu[stu_flag[i]].tel,stu[stu_flag[i]].mail);
printf ("\n________________________________________________________________________________\n");
cout<<"用數(shù)字鍵選擇學(xué)生\n";
printf ("L=滾動(dòng)到左半頁(yè) X=回到主菜單\n");
while (c=getch(),c>'0'+j&&c<'0'&&c!='l'&&c!='L'&&c!='x'&&c!='X')
;
if (c=='l'||c=='L')
flr_flag=0;
if (c=='x'||c=='X')
{
system("CLS");
flag=0;
}
else
slct=1;
}//end right
if (slct==1)
{
this_flag=stu_flag[c-'0'];
cflag=1;
thislr_flag=0;
while (cflag)
{
if (thislr_flag==0)
{
amdflag=0;
system("CLS");
printf ("%10s%12s%6s%12s%12s%12s\n________________________________________________________________________________\n","姓名","學(xué)號(hào)","性別","學(xué)院專(zhuān)業(yè)","政治面貌","籍貫");
printf ("%10s%12s%6s%12s%12s%12s\n",stu[this_flag].name,stu[this_flag].num,stu[this_flag].sex,stu[this_flag].pro,stu[this_flag].pstat,stu[this_flag].jg);
printf ("\n________________________________________________________________________________\n");
cout<<"A=修改\n";
printf ("R=滾動(dòng)到右半頁(yè) X=回到主菜單\n");
while (c=getch(),c!='x'&&c!='X'&&c!='r'&&c!='R'&&c!='a'&&c!='A')
;
if (c=='r'||c=='R')
thislr_flag=1;
if (c=='x'||c=='X')
{
system("CLS");
cflag=0;
}
if (c=='a'||c=='A')
amdflag=1;//1 for 修改
else if (c=='d'||c=='D')
amdflag=2;//2 for 刪除
}//end left
else
{
amdflag=0;
system("CLS");
printf ("%10s%12s%16s%21s\n________________________________________________________________________________\n","姓名","生日","宿舍電話","郵箱");
printf ("%10s%12s%16s%21s\n",stu[this_flag].name,stu[this_flag].birth,stu[this_flag].tel,stu[this_flag].mail);
printf ("\n________________________________________________________________________________\n");
cout<<"A=修改\n";
printf ("L=滾動(dòng)到左半頁(yè) X=回到主菜單\n");
while (c=getch(),c!='x'&&c!='X'&&c!='l'&&c!='L'&&c!='a'&&c!='A')
;
if (c=='l'||c=='L')
thislr_flag=0;
if (c=='x'||c=='X')
{
system("CLS");
return 0;
}
if (c=='a'||c=='A')
amdflag=1;//1 for 修改
else if (c=='d'||c=='D')
amdflag=2;//2 for 刪除
}//end right
if (amdflag==1)
{
amd_cflag=1;
while (amd_cflag)
{
cout<<"________________________________________________________________________________\n\n";
cout<<"N=修改姓名 U=修改學(xué)號(hào) S=修改性別 P=修改專(zhuān)業(yè)\n";
cout<<"O=修改政治面貌 J=修改籍貫 B=修改生日 H=修改電話\n";
cout<<"M=修改郵箱 X=取消\n";
while (c=getch(),c!='n'&&c!='N'&&c!='u'&&c!='U'&&c!='s'&&c!='S'&&c!='p'&&c!='P'
&&c!='o'&&c!='O'&&c!='j'&&c!='J'&&c!='b'&&c!='B'&&c!='h'&&c!='H'&&c!='m'&&c!='M'&&c!='x'&&c!='X')
;
if (c>='a')
c-=32;
switch (c)
{
case 'N':cout<<"請(qǐng)輸入名字\n";cin>>stu[this_flag].name;cout<<"\n修改成功\n\n";break;
case 'U':cout<<"請(qǐng)輸入學(xué)號(hào)\n";
cin>>str;
for (i=0,chongfu=0;i<stu_num;i++)
{
if (strcmp(str,stu[i].num)==0&&this_flag!=i) chongfu=1;
}
if (chongfu==1)
{
cout<<"該學(xué)號(hào)已存在,修改失敗!";
}
else
{
cout<<"\n修改成功\n\n";
strcpy(stu[i].num,str);
}
break;
case 'S':cout<<"請(qǐng)輸入性別\n";cin>>stu[this_flag].sex;cout<<"\n修改成功\n\n";break;
case 'P':cout<<"請(qǐng)輸入專(zhuān)業(yè)\n";cin>>stu[this_flag].pro;cout<<"\n修改成功\n\n";break;
case 'O':cout<<"請(qǐng)輸入政治面貌\n";cin>>stu[this_flag].pstat;cout<<"\n修改成功\n\n";break;
case 'J':cout<<"請(qǐng)輸入籍貫\n";cin>>stu[this_flag].jg;cout<<"\n修改成功\n\n";break;
case 'B':cout<<"請(qǐng)輸入生日\(chéng)n";cin>>stu[this_flag].birth;cout<<"\n修改成功\n\n";break;
case 'H':cout<<"請(qǐng)輸入電話\n";cin>>stu[this_flag].tel;cout<<"\n修改成功\n\n";break;
case 'M':cout<<"請(qǐng)輸入郵箱\n";cin>>stu[this_flag].mail;cout<<"\n修改成功\n\n";break;
case 'X':amd_cflag=0;break;
}
}
}//修改
else if (amdflag==2)
{
cout<<"確定要?jiǎng)h除該學(xué)生嗎?\nY=是 N=否\n";
while (c=getch(),c!='y'&&c!='Y'&&c!='n'&&c!='N')
;
if (c=='y'||c=='Y')
{
stu_num--;
strcpy(stu[this_flag].num,"zzzzzzzzzz");
deleteflag=1;
cout<<"刪除成功!\n";
}
else
deleteflag=0;
}//刪除
if (amdflag==1||(amdflag==2&&deleteflag==1))
{
qsort(stu,stu_num,sizeof(stu[0]),cmp_save);
fclose(fpinfo);
fpinfo=fopen("data\\info.txt","w");
fprintf(fpinfo,"%d\n",stu_num);
for (i=0;i<stu_num;i++)
fprintf (fpinfo,"$%s$%s$%s$%s$%s$%s$%s$%s$%s$%s$\n",stu[i].un,stu[i].name,stu[i].num,stu[i].sex,stu[i].pro,stu[i].pstat,
stu[i].jg,stu[i].birth,stu[i].tel,stu[i].mail);
}//保存
}//end while
}//end 1學(xué)生界面
}//end while
}//end 10學(xué)生界面
}//end 找到
}//end 姓名
}//end 查找
}
int chkcrcl()
{
int i,j,crcl_ccl,ef;
char c,c_stat[3][9]={"未開(kāi)通","開(kāi)通","停止選課"};
system("CLS");
fpcrcl=fopen("data\\crcl.txt","r+");
if (fpcrcl==NULL)
{
fpcrcl=fopen("data\\crcl.txt","w+");
fprintf(fpcrcl,"0\n");
rewind(fpcrcl);
}
fscanf(fpcrcl,"%d",&crcl_num);
for (i=0;i<crcl_num;i++)
fscanf(fpcrcl," $%[^$]$%[^$]$%f$%[^$]$%[^$]$%[^$]$%d$%d$%d$",crcl[i].cnum,crcl[i].cname,&crcl[i].cscore,crcl[i].cteacher
,crcl[i].croom,crcl[i].ckkr,&crcl[i].cstat,&crcl[i].ctotal,&crcl[i].ccurrent);
for (i=0;i<stu_num;i++)
{
fscanf(fpcrcl,"%f",&stu_score[i]);
for (j=0;j<crcl_num;j++)
fscanf(fpcrcl,"%d",&crcl_stu[i][j]);
}
crcl_ccl=1;
while (crcl_ccl)
{
system("CLS");
printf ("%6s%12s%12s%8s%12s%10s%20s\n","序號(hào)","班號(hào)","科目名","學(xué)分?jǐn)?shù)","任課老師","選課狀態(tài)","當(dāng)前學(xué)生數(shù)/學(xué)生上限");
printf ("________________________________________________________________________________\n");
for (i=0;i<crcl_num;i++)
printf ("%6d%12s%12s%8.1f%12s%10d%10d/%-3d\n",i+1,crcl[i].cnum,crcl[i].cname,crcl[i].cscore,crcl[i].cteacher,
c_stat[crcl[i].cstat],crcl[i].ccurrent,crcl[i].ctotal);
printf ("\n________________________________________________________________________________\n");
while (1)
{
cout<<"請(qǐng)輸入要查看的班的序號(hào),輸入0返回主菜單\n";
cin>>ef;
if (ef==0)
return 0;
if (ef<0||ef>crcl_num)
{
cout<<"無(wú)效的序號(hào),請(qǐng)?jiān)俅屋斎?quot;;
}
else
break;
}
ef--;
{
system("CLS");
printf("班號(hào):%16s12%s\n",crcl[ef].cnum,crcl[ef].cname);
printf("學(xué)分:%16.1f\n",crcl[ef].cscore);
printf("任課老師:%12s 上課課室:%12s\n",crcl[ef].cteacher,crcl[ef].croom);
printf("開(kāi)課人:%14s 開(kāi)課狀態(tài):%12s\n",crcl[ef].ckkr,c_stat[crcl[ef].cstat]);
printf("\n上課學(xué)生(%d)\n",crcl[ef].ccurrent);
printf("%12s%12s%6s%12s\n","學(xué)號(hào)","姓名","性別","專(zhuān)業(yè)");
printf("________________________________________________________________________________\n\n");
for (i=0;i<stu_num;i++)
{
if (crcl_stu[i][ef]==3)
printf ("%12s%12s%6s%12s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].pro);
}
printf("________________________________________________________________________________\n");
printf("按X鍵返回課程列表\n");
while(c=getch(),c!='X'&&c!='x')
;
}//進(jìn)入查看
}
}
int xk()
{
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -