logo资料库

C教务信息管理系统,学生信息管理系统源码.doc

第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
资料共38页,剩余部分请下载后查看
#include "graphics.h" #include "stdio.h" #include "conio.h" #include "dos.h" #include "stdlib.h" #include "ctype.h" struct classes { /*班级*/ char no[20]; /*班级*/ int numa; /* 班上学生数*/ struct classes *next; struct students *ahead; /*学生链表的头指针*/ }*head,*p,*q,*last,*tail; struct students { char no[20]; char name[20]; char sex[10]; int numb; struct students *next; struct subjects *bhead; }*pp,*qq,*tail1; struct subjects { char no[20]; /*学生*/ /*学号*/ /*姓名*/ /*科目总数*/ /*学生*/ /*课程链表的头指针*/ /*科目*/ /*学号*/ char coursename[20]; float exammark; float float commark; finalmark; float credit; struct subjects *next; /*课程名称*/ /*学分*/ int aaaa; }*ppp,*qqq,*tail2; /* ? */ char c1,c2; FILE *fp,*fp1,*fp2; int t,t1,t2,t3,t4,t5,flag,flag1,flag2,n,mn; unsigned k,k1,k2; char name1[20]; char no1[20]; /*k1 是读学生链表用的*/
cursor(int x,int y,int color,int brush); scantextxy(int x,int y,int count,int color,int brush); outhzxy(int x,int y,int volumn,int MM,int color,char *s); textback(int n); text(int i); menu(void); load(int aa); void char* void void void int void void modify(int aa); delete(int aa); void void inquire(int aa); save(void); void lclass(void); void void lstudent(void); readf(FILE *myfp); void int help(void); void main() {int d=DETECT,m,step=0,step1=0; int ii,jj,ttt; char ch; initgraph(&d,&m,"e:\\tc\\bgi"); setbkcolor(DARKGRAY); setfillstyle(1,3); bar(50,150,550,350); outhzxy(100,200,34,50,5,"教务信息管理系统"); outhzxy(270,310,22,30,10,"计0506 XXX"); fp=fopen("e:\\tc\\myfile\\shuju.dat","rb"); readf(fp); getch(); markk1: while(1){ii=1; jj=0;
switch(step=menu()){ case 1: setfillstyle(SOLID_FILL,LIGHTGRAY); bar(30,22,120,95); setlinestyle(0,0,1); setcolor(WHITE); for(ttt=1;ttt<=4;ttt++){line(30,23+18*ttt,120,23+18*ttt);} outhzxy(40,24,11,20,11,"班级录入"); outhzxy(40,42,11,20,10,"学生录入"); outhzxy(40,60,11,20,10,"科目录入"); outhzxy(40,78,11,20,10,"成绩录入"); ch=getch(); while(ch!='\r'&&ch!=27){ jj=ii; ch=getch(); if(ch=='H') { ii--; if(ii==0) ii=4; } else if(ch=='P') { ii++; if(ii==5) ii=1; } else ; switch(jj){ case 1:outhzxy(40,24,11,20,10,"班级录入");break; case 2:outhzxy(40,42,11,20,10,"学生录入");break; case 3:outhzxy(40,60,11,20,10,"科目录入");break; case 4:outhzxy(40,78,11,20,10,"成绩录入");break; default : break; } switch(ii){ case 1:outhzxy(40,24,11,20,11,"班级录入");break; case 2:outhzxy(40,42,11,20,11,"学生录入");break; case 3:outhzxy(40,60,11,20,11,"科目录入");break; case 4:outhzxy(40,78,11,20,11,"成绩录入");break;
default :break; } } if(ch==27) goto markk1; else load(ii); break; case 2: setfillstyle(SOLID_FILL,LIGHTGRAY); bar(130,22,265,77); setlinestyle(0,0,1); setcolor(WHITE); for(ttt=1;ttt<=3;ttt++){line(130,23+18*ttt,265,23+18*ttt);} outhzxy(140,24,11,20,11,"学生信息修改"); outhzxy(140,42,11,20,10,"学生成绩修改"); outhzxy(140,60,11,20,10,"科目信息修改"); ch=getch(); while(ch!='\r'&&ch!=27){ jj=ii; ch=getch(); if(ch=='H') { ii--; if(ii==0) ii=3; } else if(ch=='P') { ii++; if(ii==4) ii=1; } else ; switch(jj){ case 1:outhzxy(140,24,11,20,10,"学生信息修改");break; case 2:outhzxy(140,42,11,20,10,"学生成绩修改");break; case 3:outhzxy(140,60,11,20,10,"科目信息修改");break; default : break; }
switch(ii){ case 1:outhzxy(140,24,11,20,11,"学生信息修改");break; case 2:outhzxy(140,42,11,20,11,"学生成绩修改");break; case 3:outhzxy(140,60,11,20,11,"科目信息修改");break; default :break; } } if(ch==27) goto markk1; else modify(ii); break; case 3: setfillstyle(SOLID_FILL,LIGHTGRAY); bar(230,22,320,77); setlinestyle(0,0,1); setcolor(WHITE); for(ttt=1;ttt<=3;ttt++){line(230,23+18*ttt,320,23+18*ttt);} outhzxy(240,24,11,20,11,"班级删除"); outhzxy(240,42,11,20,10,"学生删除"); outhzxy(240,60,11,20,10,"科目删除"); ch=getch(); while(ch!='\r'&&ch!=27){ jj=ii; ch=getch(); if(ch=='H') { ii--; if(ii==0) ii=3; } else if(ch=='P') { ii++; if(ii==4) ii=1; } else ; switch(jj){ case 1:outhzxy(240,24,11,20,10,"班级删除");break;
case 2:outhzxy(240,42,11,20,10,"学生删除");break; case 3:outhzxy(240,60,11,20,10,"科目删除");break; default : break; } switch(ii){ case 1:outhzxy(240,24,11,20,11,"班级删除");break; case 2:outhzxy(240,42,11,20,11,"学生删除");break; case 3:outhzxy(240,60,11,20,11,"科目删除");break; default :break; } } if(ch==27) goto markk1; else delete(ii); break; case 4: setfillstyle(SOLID_FILL,LIGHTGRAY); bar(330,22,420,77); setlinestyle(0,0,1); setcolor(WHITE); for(ttt=1;ttt<=3;ttt++){line(330,23+18*ttt,420,23+18*ttt);} outhzxy(340,24,11,20,11,"年级排名"); outhzxy(340,42,11,20,10,"班级排名"); outhzxy(340,60,11,20,10,"单科排名"); ch=getch(); while(ch!='\r'&&ch!=27){ jj=ii; ch=getch(); if(ch=='H') { ii--; if(ii==0) ii=3; } else if(ch=='P') { ii++; if(ii==4) ii=1;
} else ; switch(jj){ case 1:outhzxy(340,24,11,20,10,"年级排名");break; case 2:outhzxy(340,42,11,20,10,"班级排名");break; case 3:outhzxy(340,60,11,20,10,"单科排名");break; default : break; } switch(ii){ case 1:outhzxy(340,24,11,20,11,"年级排名");break; case 2:outhzxy(340,42,11,20,11,"班级排名");break; case 3:outhzxy(340,60,11,20,11,"单科排名");break; default :break; } } if(ch==27) goto markk1; else inquire(ii); break; case 5: while(help());break; case 6: save(); default :break; } if(step1==0) continue; if(step1==27) break; } } scantextxy(int x,int y,int count,int color,int brush) str[50]; input[2],ch; char* {char static char i=0; int a=0; int input[1]='\0'; cursor(x+15,y,LIGHTRED,brush); settextstyle(0,0,2); while(1){ a=bioskey(0);
if(a==3592&&i>0) {input[0]=str[--i]; setcolor(brush); outtextxy(x+i*15+15,y,input); continue; } break; if(a==3592&&i==0) continue; ch=((a<<8)>>8); if(ch=='\r') input[0]=ch; str[i++]=ch; if(i>count) setcolor(color); outtextxy(x+i*15,y,input); } str[i]='\0'; return break; str; } void cursor(int x,int y,int color,int brush) { while(!kbhit()){ setcolor(color); line(x,y,x,y+16); delay(300); setcolor(brush); line(x,y,x,y+16); delay(300); } setcolor(brush); line(x,y,x,y+16); setlinestyle(0,0,1); } void outhzxy(int x,int y,int volumn,int MM,int color,char *s) {int m=0,n=0,i=0,j=0,k=0; FILE *fphz=NULL; int ROW,COL; char buffer[32];
分享到:
收藏