C语言 学生管理系统 酷炫版 支持codeblocks编译

来源:互联网 发布:php开发手册 中文 编辑:程序博客网 时间:2024/05/19 13:28
#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<windows.h>#include<string.h>#include<time.h>#define MAX 30void welcome();void login();void menu();void add();void dlt();void chk();void alt();void ext();void orderlist();void store();void open();typedef struct{    char name[20];    char number[10];    int grade;    int Class;    int english;    int math;    int chinese;    int chemistry;    int biology;    int phsicle;    int sum;} student;student work[MAX];student order[MAX];int count=0;void go(int x,int y){    COORD pos;    pos.X = x;    pos.Y = y;    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}void color(int n){    switch(n)    {    case 1:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE | FOREGROUND_GREEN|FOREGROUND_INTENSITY|FOREGROUND_GREEN);        break;    case 2:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE | FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_GREEN);        break;    case 3:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN|FOREGROUND_INTENSITY|FOREGROUND_GREEN);        break;    case 4:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_GREEN);        break;    case 5:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE | FOREGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_INTENSITY);        break;    case 6:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE | FOREGROUND_GREEN|FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_INTENSITY);        break;    case 7:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_INTENSITY);    case 8:        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|BACKGROUND_INTENSITY|BACKGROUND_BLUE|BACKGROUND_GREEN);        break;    }}void line(){        static int i=3,j=0;        Sleep(500);        i=3;        go(5,i++);        color(4);        printf("卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i);        color(j%7+1);        printf("卍");        go(49,i++);        color((j++)%7+1);        printf("卍");        go(5,i++);        color(4);        printf("卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍卍");}void welcome(){    static int i=3,j=0,t=1;   // ShellExecuteA(0,"open","F:\\音乐\\2010 - 世界杯.mp3",0,0,0);    while(1)    {        line();        if(t)        {            go(20,10);            color(4);            printf("学生信息管理系统");            go(23,13);            color(4);            printf("热烈欢迎");            go(30,20);            color(4);            printf("作者:rubik");            go(30,22);            color(4);            printf("版本:1.0");        }        if(kbhit())        {            char a=getch();            char str[]={'1','2','3','4','5',81};            if(!t)            {                if(strchr(str,a)!=NULL)                {                    switch(a)                    {                    case '1':                        add();                        break;                    case '2':                        dlt();                        break;                    case '3':                        chk();                        break;                    case '4':                        alt();                        break;                    case '5':                        ext();store();                        break;                    case '6':                        open();                        break;                    case 81:                        orderlist();                        break;                    }                }            }            else if(a==13&&t)            {                login();                t=0;            }        }    }}void cls(){    int i=3;    while(i<27){        go(0,i++);printf("   ");    }    go(12,8);    printf("\t\t\t\t\t");    go(12,10);    printf("\t\t\t\t\t");    go(12,12);    printf("\t\t\t\t\t");    go(12,14);    printf("\t\t\t\t\t");    go(12,16);    printf("\t\t\t\t\t");    go(12,18);    printf("\t\t\t  ");    go(12,20);    printf("\t\t\t  ");    go(12,22);    printf("\t\t\t  ");}void add(){    cls();    go(15,8);    printf("请按照要求输入");    go(12,10);    printf("姓名:");    go(30,10);    printf("学号:");    go(12,12);    printf("年级:");    go(30,12);    printf("班级:");    go(12,14);    printf("英语:");    go(30,14);    printf("数学:");    go(12,16);    printf("语文:");    go(30,16);    printf("物理:");    go(12,18);    printf("化学:");    go(12,20);    printf("生物:");    fflush(stdin);    go(17,10);    scanf("%s",work[count].name);    fflush(stdin);    go(35,10);    scanf("%s",work[count].number);    fflush(stdin);    go(17,12);    scanf("%d",&work[count].grade);    fflush(stdin);    go(35,12);    scanf("%d",&work[count].Class);    fflush(stdin);    go(17,14);    scanf("%d",&work[count].english);    fflush(stdin);    go(35,14);    scanf("%d",&work[count].math);    fflush(stdin);    go(17,16);    scanf("%d",&work[count].chinese);    fflush(stdin);    go(35,16);    scanf("%d",&work[count].phsicle);    fflush(stdin);    go(17,18);    scanf("%d",&work[count].chemistry);    fflush(stdin);    go(17,20);    scanf("%d",&work[count].biology);    fflush(stdin);    work[count].sum=work[count].english+work[count].math+work[count].chinese+work[count].phsicle+work[count].chemistry+work[count].biology;    count++;    color(5);    int i;    for(i=0;i<=100;i+=10){        go(17,22);        printf("载入:%d%%",i);        Sleep(100);    }    Sleep(1000);    cls();    menu();}void dlt(){    int i=0,j;    char a;    if(count<1){        cls();go(12,14);        printf("数据为空");        Sleep(500);        menu();        welcome();    }    else {        cls();    go(12,8);    printf("上下翻页 左右翻页 退格删除  %d/%d",i+1,count);    go(12,10);    printf("姓名:%s",work[i].name);    go(25,10);    printf("学号:%s",work[i].number);    go(12,12);    printf("年级:%d",work[i].grade);    go(25,12);    printf("班级:%d",work[i].Class);    go(12,14);    printf("英语:%d",work[i].english);    go(25,14);    printf("数学:%d",work[i].math);    go(12,16);    printf("语文:%d",work[i].chinese);    go(25,16);    printf("物理:%d",work[i].phsicle);    go(12,18);    printf("化学:%d",work[i].chemistry);    go(25,18);    printf("生物:%d",work[i].biology);    go(12,20);    printf("总分:%d",work[i].sum);    }    while(1){        line();        if(kbhit()){        a=getch();        switch(a){        case 72:        case 75:if(i>0)i--;break;        case 80:        case 77:if(i<count-1)i++;break;        case 13:menu();welcome();break;        case 8:            for(j=i;j<count-1;j++)                work[j]=work[j+1];            count--;            if(count<1){        cls();go(12,14);        printf("数据为空");        Sleep(500);        menu();        welcome();    }            break;        }    cls();    go(12,8);    printf("上下翻页 左右翻页  退格删除 %d/%d",i+1,count);    go(12,10);    printf("姓名:%s",work[i].name);    go(25,10);    printf("学号:%s",work[i].number);    go(12,12);    printf("年级:%d",work[i].grade);    go(25,12);    printf("班级:%d",work[i].Class);    go(12,14);    printf("英语:%d",work[i].english);    go(25,14);    printf("数学:%d",work[i].math);    go(12,16);    printf("语文:%d",work[i].chinese);    go(25,16);    printf("物理:%d",work[i].phsicle);    go(12,18);    printf("化学:%d",work[i].chemistry);    go(25,18);    printf("生物:%d",work[i].biology);    go(12,20);    printf("总分:%d",work[i].sum);        }    }}void chk(){    int i=0;    char a;    if(count<1){        cls();go(12,14);        printf("数据为空");        Sleep(500);        menu();        welcome();    }         cls();    go(12,8);    printf("上下翻页 左右翻页   %d/%d",i+1,count);    go(12,10);    printf("姓名:%s",work[i].name);    go(25,10);    printf("学号:%s",work[i].number);    go(12,12);    printf("年级:%d",work[i].grade);    go(25,12);    printf("班级:%d",work[i].Class);    go(12,14);    printf("英语:%d",work[i].english);    go(25,14);    printf("数学:%d",work[i].math);    go(12,16);    printf("语文:%d",work[i].chinese);    go(25,16);    printf("物理:%d",work[i].phsicle);    go(12,18);    printf("化学:%d",work[i].chemistry);    go(25,18);    printf("生物:%d",work[i].biology);    go(12,20);    printf("总分:%d",work[i].sum);    while(1){        line();        if(kbhit()){        a=getch();        switch(a){        case 72:        case 75:if(i>0)i--;break;        case 80:        case 77:if(i<count-1)i++;break;        case 13:menu();welcome();break;        }    cls();    go(12,8);    printf("上下翻页 左右翻页   %d/%d",i+1,count);    go(12,10);    printf("姓名:%s",work[i].name);    go(25,10);    printf("学号:%s",work[i].number);    go(12,12);    printf("年级:%d",work[i].grade);    go(25,12);    printf("班级:%d",work[i].Class);    go(12,14);    printf("英语:%d",work[i].english);    go(25,14);    printf("数学:%d",work[i].math);    go(12,16);    printf("语文:%d",work[i].chinese);    go(25,16);    printf("物理:%d",work[i].phsicle);    go(12,18);    printf("化学:%d",work[i].chemistry);    go(25,18);    printf("生物:%d",work[i].biology);    go(12,20);    printf("总分:%d",work[i].sum);        }    }}void orderlist(){    int i,j;    for(i=0;i<count;i++)        order[i]=work[i];    for(i=1;i<count;i++){        student temp = order[i];        if(order[i].sum<order[i-1].sum){            j=i-1;            while(order[j].sum>temp.sum&&j>=0)            {                order[j+1]=order[j];                j--;            }            order[j+1]=temp;        }    }    i=0;    char a;    if(count<1){        cls();go(12,14);        printf("数据为空");        Sleep(500);        menu();        welcome();    }         cls();    go(12,8);    printf("上下翻页 左右翻页   %d/%d",i+1,count);    go(12,10);    printf("姓名:%s",order[i].name);    go(25,10);    printf("学号:%s",order[i].number);    go(12,12);    printf("年级:%d",order[i].grade);    go(25,12);    printf("班级:%d",order[i].Class);    go(12,14);    printf("英语:%d",order[i].english);    go(25,14);    printf("数学:%d",order[i].math);    go(12,16);    printf("语文:%d",order[i].chinese);    go(25,16);    printf("物理:%d",order[i].phsicle);    go(12,18);    printf("化学:%d",order[i].chemistry);    go(25,18);    printf("生物:%d",order[i].biology);    go(12,20);    printf("总分:%d",order[i].sum);    while(1){        line();        if(kbhit()){        a=getch();        switch(a){        case 72:        case 75:if(i>0)i--;break;        case 80:        case 77:if(i<count-1)i++;break;        case 13:menu();welcome();break;        }    cls();    go(12,8);    printf("上下翻页 左右翻页   %d/%d",i+1,count);    go(12,10);    printf("姓名:%s",order[i].name);    go(25,10);    printf("学号:%s",order[i].number);    go(12,12);    printf("年级:%d",order[i].grade);    go(25,12);    printf("班级:%d",order[i].Class);    go(12,14);    printf("英语:%d",order[i].english);    go(25,14);    printf("数学:%d",order[i].math);    go(12,16);    printf("语文:%d",order[i].chinese);    go(25,16);    printf("物理:%d",order[i].phsicle);    go(12,18);    printf("化学:%d",order[i].chemistry);    go(25,18);    printf("生物:%d",order[i].biology);    go(12,20);    printf("总分:%d",order[i].sum);        }    }}void alt(){}void ext(){    system("cls");    int count =0;    char s[19][60] = {    "000000000000000000000000000000000000000000000000000000000000",    "000000000000000000000000000000000000000000000000000000000000",    "000001111111111111111111000000000001111111111111110000000000",    "000000000000011000000000000000000001100000000000110000000000",    "000000000000011000000000000000000001100000000000110000000000",    "000000000000011000000000000000000001100001110000110000000000",    "000000000000011000000000000000000001100001110000110000000000",    "000001111111111111111110000000000001100001110000110000000000",    "000001100000011000000110000000000001100001110000110000000000",    "000001100000011000000110000000000001100001110000110000000000",    "000001111111111111111110000000000000000001110000000000000000",    "000001100000011000000110000000000000000001110000000000000000",    "000001100000011000000110000000000000000011111000000000000000",    "001111111111111111111111110000000000000111011100000000000000",    "000001100000000000000110000000000000001110001110000000000000",    "000001100000000000000110000000000000011100000111000000000000",    "000001100000000000000110000000011111111000000011111111100000",    "000000000000000000000000000000000000000000000000000000000000",    "000000000000000000000000000000000000000000000000000000000000"    };    srand(time(NULL));    go(10,8);    while(count!=227){        int x=rand()%19;        int y=rand()%60;        if(s[x][y]=='1'){            go(y+1,x+2);            color((x+y)%5);            putchar('#');            Sleep(10);            s[x][y]='0';            count++;        }    }    go(0,24);system("taskkill /f /im kugou.exe");    go(0,23);    store();    exit(0);}void login(){    go(20,10);    printf("\t\t\t");    go(23,13);    printf("\t\t");    go(35,18);    printf("卍卍卍卍卍卍卍卍");    go(35,19);    printf("卍");    go(30,20);    printf("\t\t");    go(35,20);    color(4);    printf("卍 作者:rubik");    go(35,21);    printf("卍");    go(30,22);    printf("\t\t");    go(35,22);    color(4);    printf("卍 版本:1.0");    go(35,23);    printf("卍");    menu();}void menu(){    cls();    go(12,10);    color(5);    printf("1:添加数据");    go(12,12);    color(5);    printf("2:删除数据");    go(12,14);    color(5);    printf("3:查看数据     Shift 3 按名次查询");    go(12,16);    color(5);    printf("4:修改数据");    go(12,18);    color(5);    printf("5:退出");    go(12,20);    color(5);    printf("6:读取");}void open(){   FILE *fp;   static int t = 0;   if(t){        cls();    go(12,18);    printf("已经读取过了");    Sleep(1000);    menu();    return;   }   int temp = count;    if((fp=fopen("111.txt","r"))!=NULL){        while(!feof(fp)&&fread(&work[count],sizeof(student),1,fp)==1){            count++;            }      t++;    }    fclose(fp);    cls();    go(12,18);    if(temp == count)        printf("数据读取失败");    else printf("数据读取成功");    Sleep(1000);    menu();}void store(){    FILE *fp;int i;    if((fp=fopen("111.txt","w"))!=NULL){        for(i=0;i<count;i++){            fwrite(&work[i],sizeof(student),1,fp);        }    }    fclose(fp);}main(){    welcome();    go(5,26);    getch();    login();    go(5,25);}

原创粉丝点击