栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言学生成绩管理系统源码

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言学生成绩管理系统源码

#include 
#include 
#include 
#include 
#include
#include
#include
#include 
#define LEN 25
#define T double
#define USER_NAME "202031774201"
#define PASSWORD "202031774201"
using namespace std;

struct score
{
	char snum[20];
	char sname[11];
	int c;          //c语言成绩
	int math;       //数学成绩
	int english;    //英语成绩
	int sumcj;      //成绩总数
	int rank;       //排名
};

//函数声明
void teacher();      //教师登录界面
void student();      //学生登录界面
int  change(int);           //修改成绩
void record(int);         //录入成绩
void cxcj(int);         //查询成绩
void xhcx(int);       //学号查询
void xmcx(int n);     //姓名查询
void allrankcx(int);  //排名查询
void showcxmenu(void);//查询菜单
void cjxs(int);         //成绩显示
void jspm(int);       //计算排名
int  sccj(int);         //删除成绩
void bccj(void);      //保存成绩并退出
void User_login();     //登录系统
int recog_pwd(char name[20],char pwd[20]);      //存储学生账号
void HideCursor();                         //进度条
void Gotoxy(int x, int y);                 //进度条
void DrawBox();                            //进度条
int putin();                               //邀请码


//小猪佩奇
T c(T x,T y,T r){return sqrt(x*x+y*y)-r;}
T u(T x,T y,T t){return x*cos(t)+y*sin(t);}
T v(T x,T y,T t){return y*cos(t)-x*sin(t);}
T fa(T x,T y){return fmin(c(x,y,0.5),c(x*0.47+0.15,y+0.25,0.3));}
T no(T x,T y){return c(x*1.2+0.97,y+0.25,0.2);}
T nh(T x,T y){return fmin(c(x+0.9,y+0.25,0.03),c(x+0.75,y+0.25,0.03));}
T ea(T x,T y){return fmin(c(x*1.7+0.3,y+0.7,0.15),c(u(x,y,0.25)*1.7,v(x,y,0.25)+0.65,0.15));}
T ey(T x,T y){return fmin(c(x+0.4,y+0.35,0.1),c(x+0.15,y+0.35,0.1));}
T pu(T x,T y){return fmin(c(x+0.38,y+0.33,0.03),c(x+0.13,y+0.33,0.03));}
T fr(T x,T y){return c(x*1.1-0.3,y+0.1,0.15);}
T mo(T x,T y){return fmax(c(x+0.15,y-0.05,0.2),-c(x+0.15,y,0.25));}
T o(T x,T y,T(*f)(T,T),T i){T r=f(x,y);return fabs(r)<0.02?(atan2(f(x,y+1e-3)-r,f(x+1e-3,y)-r)+0.3)*1.273+6.5:r<0?i:0;}
T s(T x,T y,T(*f)(T,T),T i){return f(x,y)<0?i:0;}
T f(T x,T y){return o(x,y,no,1)?fmax(o(x,y,no,1),s(x,y,nh,12)):fmax(o(x,y,fa,1),fmax(o(x,y,ey,11),fmax(o(x,y,ea,1),fmax(o(x,y,mo,1),fmax(s(x,y,fr,13),s(x,y,pu,12))))));}


//main函数
int main(int a,char**b)
{
    system("color 07");
    printf("                                             欢迎使用成绩管理系统                                               ");
    //进度条 
    int len;
    HideCursor();
    for(len = 1; len <= LEN; len++)
    {
        Gotoxy(2 * len, 1    );
        printf("█");
        Gotoxy(21, 4);
        printf("已完成%d%%", 4 * len);
        Sleep(100);
    }
    //小猪佩奇 
    Gotoxy(21, 4);
    printf("加载成功!");
	system("cls");
	system("color 04");
	for(T y=-1,s=a>1?strtod(b[1],0):1;y<0.6;y+=0.05/s,putchar('n'))
		for(T x=-1;x<0.6;x+=0.025/s)
		putchar(" .|/=\|/=\| @!"[(int)f(u(x,y,0.3),v(x,y,0.3))]);
		printf("                                        欢迎使用成绩管理系统");
		Sleep(1000);
	system("cls");
	system("color 07");

	int flag,n=0,count=0;//flag标志位,count计数,当前总人数
	//-------------判断文件里面有多少条记录--------------------//
	FILE *fp;
	fp=fopen("cj.txt","a+");
    system("color 07");
	if(fp==NULL)
	{
		printf("打开文件失败,请重试!n");
		getch();
		fclose(fp);
		exit(0);
	}
	int c = 0;
	while(!feof(fp))
	{
		char cc = fgetc(fp);     //判断是否结束
		if(cc==EOF)
        {
        	break;
        }
        //输出字符
//        putchar(cc);
		c++;
	}
	count = c/14;
//	printf("%d", count);
//	getch();
	fclose(fp);
	//---------------------------------//

	printf("                                                    **  *****  *****n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *****  *****n");
	printf("                                                  ");
	system("color 07");
	printf("n");
	printf("                                                  请问你是否需要注册账号?");
	printf("n");
	printf("                                                   >>如果需要请输入1<<");
	printf("n");
	printf("                                                   >>如果不需要请输入2<<");
	printf("n");
	int p;
	scanf("%d",&p);
	if(p==1)
	{
    FILE *fp2;
    fp2=fopen("用户信息.txt","w");
    if(fp2==NULL)
    {
    printf("文件打开失败,请重试");
     fclose(fp2);
     }
         char name[20];
         char pwd[20];
         printf("请输入账号n");
         scanf("%s",name);
         fprintf(fp2,"%s",name);
         printf("请输入密码n");
         fprintf(fp2," ");
         scanf("%s",pwd);
         fprintf(fp2,"%s",pwd);
         printf("账号注册成功");
     fclose(fp2);
     }
    printf("n");
    system("cls");

//登录界面箭头 
   int i,j;
   for (i=0; i<3; i++)
   {
      for (j=4;j>i ; j--)
       {
          printf(" ");
      }
      for (j=0; j<2*i+1; j++)
       {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<4; i++)
   {
      for (j=4; j>i; j--)
       {
          printf(" ");
      }
      for (j=0; j<2*i+1; j++)
       {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<5; i++)
   {
      for (j=4; j>i; j--)
      {
          printf(" ");
      }
      for (j=0; j<2*i+1; j++)
      {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<5; i++)
   {
      for(j=0;j<3;j++)
      {
          printf(" ");
      }
      for (j=0; j<3;j++ )
       {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<2; i++)
   {
      for (j=0; j<10; j++)
       {
          printf("*");
      }
      printf("n");
  }


	User_login();          //登录界面
    int f;
	printf("请输入你的身份,老师输入1,学生输入2n");
    scanf("%d",&f);
    system("cls");
    if(f==1)
    putin();              //教师需要输入邀请码
	do
	{
        if(f==1)
        {
        system("cls");
        teacher();
		scanf("%d",&flag);    //选择操作
		switch(flag)
		{
			case 1: printf("请输入您要录入的人数:");
					scanf("%d",&n);
				    record(n);
					count += n;break;
			case 2: count=sccj(count);break;
			case 3: change(count);break;
			case 4: cxcj(count);break;
			case 5: jspm(count);break;
		    case 6: cjxs(count);break;
		    case 0: bccj();break;
		    default:printf("输入错误,请重试!n");getch();
            }
		}

		if(f==2)
		{
        system("cls");
        student();
		scanf("%d",&flag);//选择操作
		switch(flag)
		{
			case 1: cxcj(count);break;
		    case 2: jspm(count);break;
		    case 3: cjxs(count);break;
		    default:printf("输入错误,请重试!n");getch();
             }
		}
	}
    while(flag!=0);
	getch();
	return 0;
}









//0显示菜单
void teacher ()
{
	system("cls");
    printf("                                                    **  *****  *****n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *****  *****n");

	printf("                                    *----------------------------------------------------*n");
	printf("                                    *               欢迎使用网工成绩管理系统             *n");
	printf("                                    *----------------------------------------------------*n");
	printf("                                    *               1: 录入成绩                         *n");
	printf("                                    *               2: 删除成绩                         *n");
	printf("                                    *               3: 修改成绩                         *n");
	printf("                                    *               4: 成绩查询                         *n");
	printf("                                    *               5: 成绩计算并排名                   *n");
	printf("                                    *               6: 显示成绩信息                     *n");
	printf("                                    *               0: 保存信息并退出系统               *n");
	printf("                                    *----------------------------------------------------*n");
	printf("                                                          选择操作<0-6>                   n");
	return;
}




void student ()
{
	system("cls");
    printf("                                                    **  *****  *****n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *   *  *   *n");
    printf("                                                    **  *****  *****n");

    printf ("                                   +----------------------------------------------------+n");
    printf ("                                   |                                                    |n");
    printf ("                                   |      欢迎使用网络工程学生信息查询系统              |n");
    printf ("                                   |                                                    |n");
    printf ("                                   +----------------------------------------------------+n");
    printf ("                                   *               1: 成绩查询                         *n");
    printf ("                                   *               2:成绩计算并排名                    *n");
    printf ("                                   *               3:显示成绩信息                      *n");
	printf ("                                   *----------------------------------------------------*n");
    printf ("                                                      选择操作<1-3>                      n");
    return;
}




//1录入成绩
void record(int n)
 {
 	struct score stu[100];
 	FILE *fp;
 	fp=fopen("cj.txt","a+");
 	if(fp==NULL)
 	{
		printf("打开文件失败,请重试!n");
		getch();
		fclose(fp);
		exit(0);
	}
 	printf("请输入全部学生的学号,姓名,c语言成绩,数学成绩,英语成绩;n");
 	int i;
 	for(i=0;i? ?_  ィ  │ //n");
	printf("                                                      / へ   / ?<| \\n");
	printf("                                                      ヽ_?  (_/  │//n");
	printf("                                                      7       |/n");
	printf("                                                      >―r ̄ ̄`?―_n");
	printf("                                    *----------------------------------------------------*n");
	printf("                                    *                    成绩查询菜单                    *n");
	printf("                                    *----------------------------------------------------*n");
	printf("                                    *               1: 按学号查询                       *n");
	printf("                                    *               2: 按姓名查询                       *n");
	printf("                                    *               3: 全班排名查询                     *n");
	printf("                                    *               0: 退出查询系统,返回主系统         *n");
	printf("                                    *----------------------------------------------------*n");
	printf("                                                          选择操作<0-3>                                         n");
}







//4.1学号查询
void xhcx(int n)
{
	struct score stu[100];
	char snum[9];
	printf("请输入你要查询学生的学号:");
	scanf("%s",&snum);
	FILE *fp;
	fp=fopen("cj.txt ","r");
	if(fp==NULL)
	{
		printf("打开文件失败!n");
		getch();
		exit(0);
	}
	int c = 0;
	while(!feof(fp))
    {
		fscanf(fp,"%s %s %d %d %d %d %dn",&stu[c].snum,&stu[c].sname,&stu[c].c,&stu[c].math,&stu[c].english,&stu[c].sumcj,&stu[c].rank);
		c++;
	}
	int i;
	for(i=0;i stu[j+1].sumcj)
                {
	                temp = stu[j];
	                stu[j] = stu[j+1];
	                stu[j+1] = temp;
	            }
	        }
	    }
	    printf("学号t姓名tc语言t数学t英语t总分t名次n");
	    for(i=0;ii ; j--)
       {
          printf(" ");
      }
      for (j=0; j<2*i+1; j++)
       {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<4; i++)
   {
      for (j=4; j>i; j--)
       {
          printf(" ");
      }
      for (j=0; j<2*i+1; j++)
       {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<5; i++)
   {
      for (j=4; j>i; j--)
      {
          printf(" ");
      }
      for (j=0; j<2*i+1; j++)
      {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<5; i++)
   {
      for(j=0;j<3;j++)
      {
          printf(" ");
      }
      for (j=0; j<3;j++ )
       {
          printf("*");
      }
      printf("n");
  }
  for (i=0; i<2; i++)
   {
      for (j=0; j<10; j++)
       {
          printf("*");
      }
      printf("n");
  }
	getch();
	return;
}




//登录函数
void User_login()
{
    char name[20];
    char pwd[20];
    int a=0;

    printf("请输入账号:");
    scanf("%s",name);
    printf("请输入密码:");
    scanf("%s",pwd);
    if((recog_pwd(name,pwd))==1)
    {
        printf("登陆成功n");
        //Main_user();
    }
    else
    {
    printf("登陆失败n"),a=1;
    }
    if(a==1)
    {
    printf("请重新登录n"),
    exit(0);
    }
}




//判断是否存在账号
int recog_pwd(char name[20],char pwd[20])
{
    FILE *fp1;
    char str[20];

    

    if((fp1=fopen("用户信息.txt","r"))==NULL)
    {
        printf("打开文件失败n");
        return 0;
    }
    
    while(!feof(fp1))
        {
            fscanf(fp1,"%s",str);
            if(strcmp(str,name)==0)
            {
                fscanf(fp1,"%s",str);
                if(strcmp(str,pwd)==0)
				{
					return 1;
				}
                else
                    {
                        fclose(fp1);
                        return 0;
                    }
            }
            fscanf(fp1,"%s",str);
        }
        fclose(fp1);
        return 0;
}




//隐藏光标
void HideCursor()
{
    CONSOLE_CURSOR_INFO cursor_info = {1, 0};//后边的0代表光标不可见
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}




//光标移动
void Gotoxy(int x, int y)
{
    HANDLE hout; //定义句柄变量hout
    COORD coord; //定义结构体coord
    coord.X = x;
    coord.Y = y;
    hout = GetStdHandle(STD_OUTPUT_HANDLE);//获得标准输出(屏幕)句柄
    SetConsoleCursorPosition(hout, coord);//移动光标
}



//画边框
void DrawBox()
{
    printf("╔═════════════════════════╗");
    putchar('n');
    printf("║                                                  ║");
    putchar('n');
    printf("╚═════════════════════════╝");
}



//教师需要输入邀请码
int putin()
{

	char userName[25];
	char passWord[25];
	printf("请输入邀请码:");
	scanf("%s",&userName);
    printf("请输入密码:");
	scanf("%s",&passWord);
	if(strcmp(userName,USER_NAME)!=0||strcmp(passWord,PASSWORD)!=0) {
	printf("登陆失败!n");
	exit(0);
	}
	if(strcmp(userName,USER_NAME)==0&&strcmp(passWord,PASSWORD)==0){
	printf("登录成功!n");
   }
	return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690814.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号