?? evo03.cpp
字號:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <iostream>
#include <windows.h>
using namespace std;
FILE *fppw,*fpmsg,*fpinfo,*fpa,*fpcrcl,*fptch;
static char usn[20],rlname[11];
static int crcl_num,tch_num,stu_num,sj,stu_flag[100],crcl_stu[100][50],log_stu;
static float stu_score[100];
static struct curriculum
{
char cnum[10];
char cname[11];
float cscore;
char cteacher[11];
char croom[11];
char ckkr[11];
int cstat;
int ctotal;
int ccurrent;
}crcl[50];
static struct student
{
char un[20];
char name[9];
char num[11];
char sex[5];
char pro[11];
char pstat[11];
char jg[11];
char birth[11];
char tel[15];
char mail[50];
}stu[101];
static struct teacher
{
char un[20];
char name[9];
}tch[50];
static struct anc
{
char title[51];
char fbz[20];
int contentlen;
char content[10000];
char date[20];
}a[10];
static int st;
int pf();
int cjb();//
int loadinfo();//
int ancmnt();//
int login ();//
int menu();//
int chkinfo();//
int amdinfo();//
int chkcrcl();//
int xk();//
int amdcrcl();//
int msg();//
int acct();//學生部分未完成,刪除本身帳號未完成//
//-----------------------cmps----------------------//
int anccmp( const void *a ,const void *b)
{
return strcmp((*(anc *)b).date,(*(anc *)a).date);
}
int cmp_save( const void *a ,const void *b)
{
return strcmp(((student *)a)->un,((student *)b)->un);
}
int cmpn( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->name,((student *)b)->name);
}
int cmpu( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->num,((student *)b)->num);
}
int cmps( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->sex,((student *)b)->sex);
}
int cmpp( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->pro,((student *)b)->pro);
}
int cmpo( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->pstat,((student *)b)->pstat);
}
int cmpj( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->jg,((student *)a)->jg);
}
int cmpb( const void *a ,const void *b)
{
return sj*strcmp(((student *)a)->birth,((student *)a)->birth);
}
//-----------------------cmps----------------------//
int main ()
{
while(st=login (),st==3)
;
menu();
return 0;
}
int login ()
{
char c,psw[30],usnl[20],pswl[30],pw_num;
int i,j,st=3,rst;
while (st==3)
{
fppw=fopen("data\\pw.txt","r+");
if (fppw==NULL)
{
system("mkdir data");
system("mkdir data\\msg");
fppw=fopen("data\\pw.txt","w+");
fprintf(fppw,"1\n$admin$123456$0$\n");
rewind(fppw);
system("CLS");
cout<<"\n\n 歡迎使用學習本管理系統,初始化軟件 \n\n 管理員帳號admin 密碼123456 \n\n\n ";
system("pause");
}
system ("CLS");
for (i=0;i<6;i++)
cout<<"\n";
cout<<" 學 籍 管 理 系 統 \n\n\n\n";
cout<<" 帳號:";
gets(usn);
cout<<"\n\n 密碼:";
for (i=0;;)
{
c=getch();
if (c==13)
{
psw[i]='\0';
break;
}
if (c=='\b')
{
if (i>0)
{
printf ("\b \b");
i--;
}
else ;
}
else
{
printf ("*");
psw[i++]=c;
}
}
fscanf(fppw,"%d",&pw_num);
j=0;
while(j++<pw_num)
{
fscanf(fppw," $%[^$]$%[^$]$%d$",usnl,pswl,&rst);
if (strcmp(usn,usnl)==0&&strcmp(psw,pswl)==0)
{
loadinfo();
fclose(fppw);
st=rst;
return rst;
}
}
fclose(fppw);
if (st<3)
return st;//0 ad,1 tc,2 stu,3 again
else
{
system("CLS");
cout<<"\n\n\n\n\n\n\n\n 輸入的帳號或密碼或錯誤,或者用戶不存在!\n\n\n\n ";
system("pause");
}
}
}
int loadinfo()
{
int i;
char c;
fpinfo=fopen("data\\info.txt","r+");
if (fpinfo==NULL)
{
fpinfo=fopen("data\\info.txt","w+");
fprintf (fpinfo,"0\n");
rewind(fpinfo);
}
fscanf (fpinfo,"%d",&stu_num);
for (i=0;i<stu_num;i++)
{
fscanf (fpinfo," $%[^$]$%[^$]$%[^$]$%[^$]$%[^$]$%[^$]$%[^$]$%[^$]$%[^$]$%[^$]$",&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);
if (st==2&&strcmp(usn,stu[i].un)==0)
log_stu=i;
}
fclose(fpinfo);
fptch=fopen("data\\teacher.txt","r+");
if (fptch==NULL)
{
fptch=fopen("data\\teacher.txt","w+");
fprintf(fptch,"0\n");
rewind(fptch);
}
fscanf(fptch,"%d",&tch_num);
for (i=0;i<tch_num;i++)
{
fscanf(fptch," $%[^$]$%[^$]$",tch[i].un,tch[i].name);
if (strcmp(usn,tch[i].un)==0)
strcpy(rlname,tch[i].name);
}
fclose(fptch);
fpcrcl=fopen("data\\crcl.txt","r+");
if (fpcrcl==NULL)
{
fpcrcl=fopen("data\\crcl.txt","w+");
fprintf(fpcrcl,"0\n");
rewind(fpcrcl);
}
fclose(fpcrcl);
if (st==0)
strcpy(rlname,"管理員");
return 0;
}
int ancmnt()
{
SYSTEMTIME time,*t;
int i,j,an,flag,temp,inputflag;
char c,c1,c2,cinput;
FILE *tpt[10][2];
fpa=fopen("data\\ancmnt.txt","r+");
if (fpa==NULL)
{
fpa=fopen("data\\ancmnt.txt","w+");
fprintf (fpa,"0\n");
rewind(fpa);
}
fscanf (fpa,"%d",&an);
for (i=0;i<an;i++)
{
fscanf(fpa," $%[^$]$%[^$]$%[^$]$%d\n",a[i].title,a[i].fbz,a[i].date,&a[i].contentlen);
tpt[i][0]=tpt[i][1]=fpa;
for (j=0;j<a[i].contentlen;j++)
a[i].content[j]=fgetc(fpa);
}
for (i=an;i<10;i++)
strcpy(a[i].date,"0000-00-00");
while (1)
{
system("CLS");
cout<<" 公 告 欄\n";
cout<<" _____________________________________\n\n";
for (i=0;i<an;i++)
{
printf ("%d. %s (%s,%s)\n",i,a[i].title,a[i].fbz,a[i].date);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -