精华内容
下载资源
问答
  • 虽然界面做的很简单,但是基本功能是很完善的!包括登录 添加专业 添加用户 删除信息等等 不过要注意:由于本例使用的数据库文件是基于Office 2007的,所以用户机器中应该事先安装Office 2007,否则注册新用户的...
  • 学籍管理系统主要功能是学生信息管理及相关查询。学生管理主要有添加新学生、学生信息修改。成绩管理包括成绩录入、查询、补考成绩管理。学籍管理系统作为计算机应用的一部分,使用管理信息系统对学生学籍进行管理,
  • 【C语言】学籍管理系统

    万次阅读 多人点赞 2018-06-03 22:34:28
    C语言 – 学籍管理系统 功能简介 链表实现基本的创建增删改查。 成绩分析,链表的冒泡排序。 分管理员,老师,学生三端管理,密码的修改,加密。 分班级管理老师学生。 方框界面,↑↓键控制,ENTER...

    功能简介

    • 链表实现基本的创建和增删改查。

    • 成绩分析,链表的冒泡排序。

    • 分管理员,老师,学生三端管理,密码的修改,加密。

    • 分班级管理老师学生。

    • 方框界面,↑↓键控制,ENTER键确认。

    界面功能展示

    主界面
    这里写图片描述
    管理员登录
    这里写图片描述

    管理老师信息
    这里写图片描述

    管理学生信息
    这里写图片描述

    添加学生
    这里写图片描述

    成绩查询
    这里写图片描述

    具体实现的方法

    1.界面

    界面实现由↑↓控制选择,ENTER键确认。

    这里用到了c语言光标移动函数gotoxy()。

    gotoxy()函数定义
    void gotoxy(int x, int y)
    { 
          COORD coord = {x, y};
         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
    }
    
    

    命令行的列为x轴,行为y轴。
    例如使用 gotoxy(10,5); 语句表示将光标移动到第十列,第五行。

    先在第一个选项上打印出白框。
    这里写图片描述
    然后用getch();无缓冲读取用户的键盘输入。

    用if判断,如果读取值的为↓键的ASCII码,则分别调用gotoxy(int x, int y)让光标跳到该白框的上面部分,中间部分和下面的部分的开头,打印一串空格覆盖掉白框,然后再调用gotoxy(int x, int y)让光标移动到下一个选项,分别打印出白框。除此之外还需再定义一个开关值,int key = 1, 然后每读取一次↓键,则key++,记录选中的选项,最后根据key的值再调用不同的函数。

    如果判断为↑键,则同理。

    还可以利用key值做特殊的判断,如果key的值为1且读入↑键,则让光标跳到最下面的选项打印白框,可以让白框循环移动。或者可以用取余数的办法, 例如一共有5个选项,则可以将每次key的值余6,便可使选框框循环移动。

    附上一小段界面代码
    按自己的思路写的,有点乱。仅供参考。

    void zhujie() {
        char c;                                     // 用来读取键盘的输入
    	int key = 1, x = 38 , y = 7;                // key值记录选项, x,y为初始的坐标,可根据自己系统具体而确定。
                                            	/*   打印界面  */
    	printf("     --------------------------------------------------------------------------------------------------------------\n");
    	printf("     |                                           学生信息管理系统                                                 |\n");
    	printf("     --------------------------------------------------------------------------------------------------------------\n");
    	printf("     |           请选择身份:                                                                                     |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                     ============================                                           |\n");
    	printf("     |                                     |         1.管理员         |                                           |\n");
    	printf("     |                                     ============================                                           |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                               2.老师                                                       |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                               3.学生                                                       |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                               4.退出程序                                                   |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                                                            |\n");
    	printf("     |                                                                   ↑↓控制       ENTER  确认               |\n");
    	printf("     --------------------------------------------------------------------------------------------------------------\n");
    	c = getch();          // 先从键盘读取一个指令                    
    	while( c != 13) {     //  如果不是回车循环进行,如果是回车的话直接跳出循环进行下一步判断 。
    		if (c == 80 && key <= 4) {       // 判断如果读取的是↓键
    			if(key == 4)                 // 如果已经是最后一个选项,又按了↓键,则跳到最上面
    			key = 0;                     // 让key = 0 之后key会自增,就循环记录了第一个选项。
    			gotoxy(43, y);               // 下面是打印空格替换先前的白框,
        		puts("                             ");
        		gotoxy(43, y+1);
        		puts(" ");
        		gotoxy(70, y+1);
        		puts(" ");
        		gotoxy(43, y+2);
        		puts("                             ");
    		    if(key == 0)                 // 这里如果key等于0 则说明要从最后一行跳到第一行,让y等于4跳到第一行。
    				y = 4;               
        		gotoxy(43, y+3);             //打印白框
        		puts("============================");
        		gotoxy(43, y+4);
        		puts("|");
        		gotoxy(70, y+4);
        		puts("|");
        		gotoxy(43, y+5);
        		puts("============================");
    			key++;                      // 因为判断为↓键,所以开关值加一,记录到下一个选项。
    			y += 3;                     // 坐标跳到下一个白框位置
    			gotoxy(0,28);
    		}
    		if (c == 72 && key >= 1){       //判断如果是↑键, 与上面同理。
    			if(key == 1)
    				key = 5;
    			gotoxy(43, y);
        		puts("                             ");
        		gotoxy(43, y+1);
        		puts(" ");
        		gotoxy(70, y+1);
        		puts(" ");
        		gotoxy(43, y+2);
        		puts("                             ");
        		if(key == 5)
    				y = 19;
        		gotoxy(43, y-1);
        		puts("============================");
        		gotoxy(43, y-2);
        		puts("|");
        		gotoxy(70, y-2);
        		puts("|");
        		gotoxy(43, y-3);
        		puts("============================");
    			key--;
    			y -= 3;
    			gotoxy(0,28);
    		}
    		c = getch();           //最后再读取一次键盘,循环判断,直到是回车(ASCII码为13)为止。
    	}
    	if (key == 1) denglu1();  // 这里跳出while 根据开关量决定进入哪个函数。
    	if (key == 2) denglu2();
    	if (key == 3) denglu3();
    	if (key == 4) {
    	gotoxy(0, 80);
    	exit(0) ; 
    	}
    }
    

    其他界面的实现可参考这个,都用的是gotoxy()函数。

    2.多文件管理

    可建立一个工程,分多文件来写管理系统,每个模块写一个文件,并添加一个头文件,方便管理查询。

    分多文件管理

    这里写图片描述

    头文件

    这里写图片描述
    这里写图片描述

    3.链表

    数据结构
    /*学生链表*/
    struct ms {                                 // 学生信息和成绩 (数据域)
    	char name[100];
    	char sex[10];
    	char number[10];
    	int lisan;
    	int math;
    	int english;
    	int c;
    	int sum;
    	int ban;
    	char m[10]; 
    	float avrg;
    };
    typedef struct lian {                       // 链表结构
    	struct ms item ;                        // 数据域  这里分开两个域便于值的交换
    	struct lian * next ;                    // 指针域
    } lian;
    
    /* 老师链表*/
    struct tems {                               // 老师信息
    	char name[100];							
    	char z[21];
    	char m[21];
    	int ban;
    };
    
    typedef struct telian {						// 老师链表 
    	struct tems teitem;
    	struct telian * next;
    }telian;
    
    创建链表
    /*返回结构指针的函数,返回创建的结构指针。也可用结构指针的指针当做函数的参数来传递值 */
    lian * creat ()                             
     {                                          //创建学生链表 带头节点
    	struct lian   * current =  NULL;
    	current = (struct lian *)malloc(sizeof(struct lian));
    	current->next = NULL;
    	return current;
    }
    
    
    
    telian * creat2 () {                         //创建老师链表 带头结点
    	struct telian   * current =  NULL;
    	current = (struct telian *)malloc(sizeof(struct telian));
    	current->next = NULL;
    	return current;
    }
    
    按成绩排序查询

    这里用的是优化后的链表的冒泡排序。这里按照sum(总分)进行排序,更换sum即可以按其他科目排序。

    void sortsum() {	                          //冒泡排序链表
    		struct lian  * current =  head->next; // 带头结点的链表,head->next 为第一个节点
    		 /* 这里头指针head是在所有函数外声明的,具有文件作用域,可以再任意函数里直接使用 */
    		struct lian t;                        // 用于赋值交换
    		int ch = 1 , y=7;                     // ch为优化后的冒泡的开关量。
    		if ( current == NULL )                // 判断链表是否为空
    		{
    				/* 这里打印提示信息, 说明链表没有成员。*/
    		 }
    
    		while (ch) {                         //冒泡排序,ch判断有无交换。
    			ch = 0;
    			while (current->next != NULL) {  // 节点遍历比较
    				if ( current->item.sum < current->next->item.sum)
    				{
    					t.item = current->item;  // 结构可直接赋值, 交换
    					current->item = current->next->item;
    					current->next->item = t.item ;
    					ch = 1;                 // 标记交换,还需继续循环
    				}
    				current = current->next ;
    			}
    		}
    }
    

    4. 文件存储

    这里是用fwrite和fread以二进制一次性存储链表和读取链表,其他的增删改查操作都是用链表实现的。

    void cun() {
    	struct lian * current =  head->next;
    	FILE * fp;
    	fp = fopen("lian.txt","w");  
    	if (fp == NULL) {
    
    	}
    	while (current != NULL) {
    		fwrite(current,sizeof(struct ms),1,fp);    //二进制依次写入
    		current = current->next;
    	} 
    
    	fclose(fp);
    }
    
    
    }
    
    void cun2() {
    	struct telian * current =  head2->next;
    	FILE * fp;
    	fp = fopen("laolian.txt","w");
    	if (fp == NULL) {
    
    	}
    	while (current != NULL) {
    		fwrite(current,sizeof(struct tems),1,fp);
    		current = current->next;
    	} 
    
    	fclose(fp);
    }
    
    
    void du() {
    	struct lian  * prev = head, * current =  NULL;
    	int shu = 0;
    	FILE * fp;
    	fp = fopen("shu.txt","r");  
    	/* 这个文件存的是链表节点,也就是成员的数量,因为fread读取时要输入数量,所以单独存一下。*/
    		if (fp == NULL) {
    		/*这里写打开失败的提示*/
    	}
    	fscanf(fp,"%d",&shu);
    	fclose(fp); 
    	fp = fopen("lian.txt","r");    // 打开存链表的文件
    	
    	if (fp == NULL) {
    		/* 打开失败的提示 */
    	}
    	while(shu--){                                            //  读的次数。
    		current = (struct lian *)malloc(sizeof(struct lian));//  添加节点。
    	    fread(current,sizeof(struct ms),1,fp);               //  读取,一次读取一个节点。
    	    prev->next = current; 
    	    current->next = NULL;
    	    prev = current;
    	}
    	fclose(fp);
    }
    
    
    

    5. 加密

    这里的管理员不能从程序里更改,需要自行更改文件目录里的文件。
    一个简单的根据ASCII码加密解密的函数

    注: 自己实现的并不是很规范,可以去网上了解MD5加密算法。

    void jiami(char x[]) {
    	for (int i = 0; i < strlen(x); i++) {
    		x[i] = x[i] + 10 + i; 
    	}
    	
    }
    void jiemi(char x[]) {
    	for (int i = 0; i < strlen(x); i++) {
    		x[i] = x[i] - 10 - i; 
    	}
    }
    

    单独写一个程序跑一下加密的函数,然后把结果复制到文件夹里的对应文件里就行了。

    账号密码用空格隔开

    这里管理员默认账号密码都为admin

    附录

    github-项目代码

    展开全文
  • 学籍管理系统

    2015-04-23 15:05:56
    学籍管理系统包括源代码、文档、数据库,基本功能实现
  • c学籍管理系统

    2018-06-02 15:23:07
    大学经典期末题目,学籍管理系统功能全面,代码详细,有备注。
  • 开放式学籍管理系统 第1章 引言 4 1.1开放式数据库研究概况 4 1.1.1数据库研究概况 4 1.1.2 开放式数据库 5 1.2 学籍管理系统 6 1.3 研究内容与结构组织 7 1.4 小结 7 第2章 开放式学籍管理系统总体设计 8 2.1 系统...
  • 这里只是一个系统中的几个文件。后续会继续添加。
  • 由于数据库作业需要设计一个学籍管理系统并提供可视化接口,就做了这个超简陋版的学籍管理系统 功能 学生: 查看自己的信息 查看自己所选课程 选课 查看自己的成绩 教师: 查看报了自己课程的学生信息 修改学生成绩 ...
  • 学生学籍管理系统

    千次阅读 2020-03-04 16:44:09
    最近觉得得把自己学习到东西,给写出来,分享给大家。...我们小组设计的学籍管理系统,不仅可以对学生的基本信息进行查询管理,管理员还可以对系统的基础数据进行管理,对学籍信息进行维护等功能。...

    这是一个小小的学籍管理系统,分享给大家。本人是小白一枚,有什么问题大家可以提出来。
    #目的
    如今,学校的现代化管理下,学生的学籍管理显得至关重要。其中学籍内容也成为学校管理的一部分。因此,我们需要一个比较完善的学籍管理系统,为用户提供重要的信息和可查询的内容。我们小组设计的学籍管理系统,不仅可以对学生的基本信息进行查询管理,管理员还可以对系统的基础数据进行管理,对学籍信息进行维护等功能。

    开发平台:Microsoft Windows 10
    开发工具:采用数据库SQL SERVER和Visual Studio 2017来进行系统开发。
    2.3需求规定:
    该系统能基本完成学生学籍管理的基本要求。我们考虑一个学生学籍管理系统,应与题目相结合,具备支持两种不同用户,其中管理员可以对系统的基础数据进行管理,对学籍信息进行维护;学生用户可以维护个人信息,查询专业、成绩等信息。
    设计要求:

    1. 支持两种不同用户,学生和管理员
    2. 学生的功能包括:
      ①学生可以登录查看自己的个人信息、专业信息、院系信息、以及自己各个学期的课程成绩
      ②学生可以修改个人的部分信息,比如联系方式
      ③学生可以修改个人登录系统的密码
    3. 管理员的功能包括:
      ①管理员登录可以查看所有学生的信息
      ② 管理员可以对学生信息进行删除、添加、修改等操作
      ③ 学生成绩管理:管理员根据学生的成绩,以学号和姓名为条件,添加学生的成绩

    详细设计
    1.登录界面

    2.账号信息
    (1)用户名:从数据库导入相关数据与所输入匹配
    (2)密码: 从数据库导入相关数据与所输入匹配
    (3)验证码:随机生成验证码进行验证
    (4)人脸识别:利用百度云人脸识别函数进行验证登录。
    3.登录人类型
    (1)管理员:输入正确的信息后,跳转到管理员界面。
    (2)专业负责人:输入正确的信息后,跳转到专业负责人界面。
    (3)教师:输入正确的信息后,跳转到教师界面。
    (4)学生:输入正确的信息后,跳转到学生界面。
    4.功能按键
    (1)登录:跳转到相应的登录界面
    (2)取消:撤销跳转
    3. 系统设计
    3.1总体设计
    3.1.1基本思路:
    总体设计的目的就是要回答“概括地说,系统应该如何去实现?”对于这个问题,结合自身的选题,也就是需要我们设计出一个完善的模型,让程序员与软件设计人员清楚学生管理系统的系统结构和软件结构。
    在这里插入图片描述

    3.1.2遇到的问题:
    1.在使用数据库插入语句的时候,发现自己按所学的sql语句在sql编译器来插入有些不一样。
    解决办法:例如:“select * from YONGHU where LEIBIE=‘管理员’and YNO=’” + textBox1.Text.Trim() + “‘and YMIMA=’” + textBox2.Text.Trim() + “’”;极其要注意单双引号的输入匹配。我输错好几次。
    方法二:在web课时,跟林老师学了在vs中直接添加数据库,在解决方案组中直接创建数据库也可。随后给它创建表,以及添加相关属性。
    2.一开始自己不会如何用C#SQL连接数据库,弄了好久都不行,后面查阅相关资料才得以决,还有数据库我也不知如何设计,后面需参考数据库这本书。
    解决方法:参阅了网上的相关资料和这学期学的数据库这本书籍,慢慢发现它有一些方法与格式,模仿它就慢慢可以做出来。需要用心和仔细。如:SqlConnection conn = new SqlConnection(“Data Source=DESKTOP-B4TQ3K9(服务器);Initial Catalog=xueshengguanli(数据库名字);Integrated Security=True”);这是链接数据库的关键代码。
    3.还有自己想添加媒体文件播放。但是不知选择什么类型控件。后面查找相关资料发现直接添加window的播放器。同时得加上openFileDialog1这个控件。
    解决方法:添加了一个任务栏,有打开和退出的功能。

    private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            axWindowsMediaPlayer1.URL = openFileDialog1.FileName;
        }
    
    1. 还有想设计验证码来验证,我知道的运用用到图片的控件,在图片里面增加随机数或随机字母。后面肯定要到Random()方法。但是图片一开始加载不了随机数。
      解决方法:新增一个timer的控件用它来实现。

      private void timer1_Tick(object sender, EventArgs e)
      {
      Bitmap bmp = new Bitmap(120, 120);
      Graphics g = Graphics.FromImage(bmp);

          for (int i = 0; i < 5; i++)
          {
              String[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };//随机设置字体的样式
              Point p = new Point(i * 15, 0);
              Color[] colors = { Color.Red, Color.Pink, Color.Black, Color.Gray, Color.GreenYellow };//随机设置字体的颜色
              g.DrawString(arr[i].ToString(), new Font(fonts[r.Next(0, 5)], 20, FontStyle.Bold), new SolidBrush(colors[r.Next(0, 5)]), p);//画图
      
          }
          for (int i = 0; i < 100; i++)//画出声燥线
      
          {
              Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
              Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
              g.DrawLine(new Pen(Brushes.Green), p1, p2);
      
          }
          PictureBox1.Image = bmp;
      }
      

    3.2功能设计
    功能框图(流程图)

    1.数据处理与任务需求
    下面列出的是学生管理数据库应用应该支持的事务。

    (1) 数据应该能够支持下述维护事务。
    a) 创建和维护学校内学生的详细信息。
    b) 创建和维护学校内课程的详细信息。
    (2) 数据应该能够支持下述查询事务
    a) 以报表形式列出学生的姓名,学号及其他详细信息
    b) 以报表形式列出专业的名称、专业号及其他详细信息
    c) 以报表形式列出课程的名称、课程号及其他详细信息
    d) 列出某一给定学生的课程及成绩
    e) 列出某一专业的课程信息

    #功能设计
    在这里插入图片描述
    #测试页面
    <2>登录表界面窗口实现的功能。
    在这里插入图片描述

    智能人脸识别的功能实现,调用百度云智能的人脸识别函数,实现智能人脸识别,人脸识别库有学生,老师,管理员,专业负责人

    百度云人脸识别库的用户组如下:
    在这里插入图片描述
    在这里插入图片描述
    学生界面窗口实现的功能
    如查询成绩,查寻个人信息,修改密码的功能。最终显示在dataGridView中显示所查询的具体数据。
    在这里插入图片描述

    教师界面窗口实现的功能
    如查询成绩,用学号查询学生个人信息中的课程号和成绩等,查询教师本人信息,修改密码的功能。最终显示在dataGridView中显示所查询的具体数据。在这里插入图片描述

    管理员界面窗口实现的功能
    在学生栏(groupBox1)中实现学生注册和查询学生,修改信息、删除信息等功能。在教师栏(groupBox2)中实现教师注册和查询教师等功能,学生成绩管理(groupBox3)中对学生成绩的管理。最终显示在dataGridView中显示所查询的具体数据。
    在这里插入图片描述

    专业负责人界面窗口实现的功能
    如查询本专业课,本专业学生,本专业教师,专业负责人等功能,最终显示在dataGridView中显示所查询的具体数据。
    在这里插入图片描述

    满意度评测(Satisfaction)窗口和学校(School)窗口
    如有三幅图,好,一般,不好。可以点击它。三个次数不同触发能量条到满时,School窗口的彩蛋视频将会弹出。
    在这里插入图片描述
    在这里插入图片描述
    ##部分数据库截图
    <1>数据库上各个表的数据,下面所列的图在vs2017中截取。
    (1)学生表Student(学号SNO,姓名SNAME,性别TSEX,出生日期SBIRTHDAY,民族SNATIVE,所在专业编号SDEPTNO,指导老师编号STEACHERRNO,电话STEL,家庭住址SADDRESS,备注信息SNOTE)
    在这里插入图片描述
    #部分源码

    登录界面上验证码的关键实现与代码:
    From1的加载项:
    private void Form1_Load(object sender, EventArgs e)
            {
               
                for (int i = 0; i < 5; i++)
                {
                    int rn = r.Next(0, 10);
                    arr += rn;
                }
            }
    PictureBox1_Click的点击事件,也就是随机数显示的图
            private void PictureBox1_Click(object sender, EventArgs e)
            {
                arr = null;
                for (int i = 0; i < 5; i++)
                {
                    int rn = r.Next(0, 10);
                    arr += rn;
                }
            }
    用Timer1_Tick计时器的触发事件
    private void timer1_Tick(object sender, EventArgs e)
            {
                 Bitmap bmp = new Bitmap(120, 120);
                 Graphics g = Graphics.FromImage(bmp);
               
                for (int i = 0; i < 5; i++)
                {
                    String[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };//随机设置字体的样式
                    Point p = new Point(i * 15, 0);
                    Color[] colors = { Color.Red, Color.Pink, Color.Black, Color.Gray, Color.GreenYellow };//随机设置字体的颜色
                    g.DrawString(arr[i].ToString(), new Font(fonts[r.Next(0, 5)], 20, FontStyle.Bold), new SolidBrush(colors[r.Next(0, 5)]), p);//画图
    
                }
                for (int i = 0; i < 100; i++)//画出声燥线
    
                {
                    Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
                    Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
                    g.DrawLine(new Pen(Brushes.Green), p1, p2);
    
                }
                PictureBox1.Image = bmp;
            }
    ```csharp
    FORM1//学生信息管理系统登录界面
    namespace C
    {
        public partial class Form1 : Form
        {
            SqlConnection conn = new SqlConnection("Data Source=DESKTOP-B4TQ3K9;Initial Catalog=xueshengguanli;Integrated Security=True");
             
            static public string sn, sub;
            String arr = "";//全局变量
            Random r = new Random();//全局对象
            string str = "Data Source=DESKTOP-B4TQ3K9;Initial Catalog=xueshengguanli;Integrated Security=True";
            //创建连接对象的变量 
            public Form1()
            {
                InitializeComponent();
            }
            Form2 fr2 = new Form2(); Form3 fr3 = new Form3(); Form4 fr4 = new Form4(); Form5 fr5 = new Form5();
    
    
           
    
            private void dl_Click(object sender, EventArgs e)
            {
               
                SqlConnection conn = new SqlConnection(str);
                // 执行对数据表中数据的增加、删除、修改操作 
                conn.Open();
                if (textBox1.Text == "" || textBox2.Text == "")
                    MessageBox.Show("请不要遗漏信息!");
                if (arr != textBox_Code.Text.Trim())
                {
                    MessageBox.Show("验证码输入错误");
                }
               
                if (gly.Checked)
                {
                    string cstr = "select * from YONGHU where LEIBIE='管理员'and YNO='" + textBox1.Text.Trim() + "'and YMIMA='" + textBox2.Text.Trim() + "'";
                    SqlCommand comm = new SqlCommand(cstr, conn);
                    SqlDataReader dr = comm.ExecuteReader();//尽快可能对数据库进行查询并得到结果
                   
                  
                    if (dr.Read()&& arr == textBox_Code.Text.Trim())
                    {
                      
                        sn = textBox1.Text.Trim();
                       
                        Form4 fm = new Form4();
                        fm.Show();
                        fr4.Show(); this.Visible = false;
                    }
                    else
                    {
                        MessageBox.Show("输入有误,请重新输入!");
                        textBox1.Text = ""; textBox2.Text = "";textBox_Code.Text = "";
                    }
                }
                if (js.Checked)
                {
                    string cstr = "select * from YONGHU where LEIBIE='教师'and YNO='" + textBox1.Text.Trim() + "'and YMIMA='" + textBox2.Text.Trim() + "'";
                    SqlCommand comm = new SqlCommand(cstr, conn);
                    SqlDataReader dr = comm.ExecuteReader();
                    if (dr.Read() && arr == textBox_Code.Text.Trim())
                    { sn = textBox1.Text.Trim(); fr3.Show(); this.Visible = false; }
                    else
                    {
                        MessageBox.Show("输入有误,请重新输入!");
                        textBox1.Text = ""; textBox2.Text = ""; textBox_Code.Text = "";
                    }
                }
                if (xs.Checked)
                {
                    string cstr = "select * from YONGHU where LEIBIE='学生'and YNO='" + textBox1.Text.Trim() + "'and YMIMA='" + textBox2.Text.Trim() + "'";
                    SqlCommand comm = new SqlCommand(cstr, conn);
                    SqlDataReader dr = comm.ExecuteReader();
                    if (dr.Read() && arr == textBox_Code.Text.Trim())
                    { sn = textBox1.Text.Trim(); fr2.Show(); this.Visible = false; }
                    else
                    {
                        MessageBox.Show("输入有误,请重新输入!");
                        textBox1.Text = ""; textBox2.Text = ""; textBox_Code.Text = "";
                    }
                }
                if (zyfzr.Checked)
                {
                    string cstr = "select * from YONGHU where LEIBIE='专业负责人'and YNO='" + textBox1.Text.Trim() + "'and YMIMA='" + textBox2.Text.Trim() + "'";
                    SqlCommand comm = new SqlCommand(cstr, conn);
                    SqlDataReader dr = comm.ExecuteReader();
                    if (dr.Read() && arr == textBox_Code.Text.Trim())
                    { sn = textBox1.Text.Trim(); fr5.Show(); this.Visible = false; }
                    else
                    {
                        MessageBox.Show("输入有误,请重新输入!");
                        textBox1.Text = ""; textBox2.Text = ""; textBox_Code.Text = "";
                    }
                }
                conn.Close(); conn.Dispose();
            }
    
            private void qx_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
    
            
    
           
    
            private void Form1_Load(object sender, EventArgs e)
            {
               
                for (int i = 0; i < 5; i++)
                {
                    int rn = r.Next(0, 10);
                    arr += rn;
                }
               
            }
    
            private void PictureBox1_Click(object sender, EventArgs e)
            {
                arr = null;
                for (int i = 0; i < 5; i++)
                {
                    int rn = r.Next(0, 10);
                    arr += rn;
                }
            }
    
            private void pictureBox2_Click(object sender, EventArgs e)
            {
                Satisfaction satisfaction = new Satisfaction();
                satisfaction.Show();
               
            }
    
            private void buttonface_Click(object sender, EventArgs e)
            {
                useCamera useCamera = new useCamera();
                useCamera.Show();
             
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                 Bitmap bmp = new Bitmap(120, 120);
                 Graphics g = Graphics.FromImage(bmp);
               
                for (int i = 0; i < 5; i++)
                {
                    String[] fonts = { "微软雅黑", "宋体", "黑体", "隶书", "仿宋" };//随机设置字体的样式
                    Point p = new Point(i * 15, 0);
                    Color[] colors = { Color.Red, Color.Pink, Color.Black, Color.Gray, Color.GreenYellow };//随机设置字体的颜色
                    g.DrawString(arr[i].ToString(), new Font(fonts[r.Next(0, 5)], 20, FontStyle.Bold), new SolidBrush(colors[r.Next(0, 5)]), p);//画图
    
                }
                for (int i = 0; i < 100; i++)//画出声燥线
    
                {
                    Point p1 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
                    Point p2 = new Point(r.Next(0, bmp.Width), r.Next(0, bmp.Height));
                    g.DrawLine(new Pen(Brushes.Green), p1, p2);
    
                }
                PictureBox1.Image = bmp;
            }
        }
    }
    
    `
    
    

    #END
    好好学习吧,利用好平时课余时间,慢慢补上来,一些不懂的知识,还有需要了解更多的前沿知识。

    附上小视频

    学生学籍管理系统

    展开全文
  • 学籍管理系统.xmind

    2021-01-05 18:20:20
    本资源是Java课程设计《学籍管理系统》,其功能有增,删,改,查,导出EXcel 最为经典的功能就是能够导出Excel表格
  • 关于c#学籍管理系统

    2015-05-04 21:55:41
    本文件是基于c#的学籍管理系统,有代码,能够实现学籍管理系统基本功能,是很好的借鉴材料
  • 学籍管理系统000001

    2019-12-23 12:28:28
    简单的学期课程设计,基于Java链接数据库学籍管理系统主要功能:1、登录:教师或学生可以在登录界面输入自己的账号和密码进行登录。2、录入成绩:教师可以录入自己所教授课程的成绩。3、查询成绩:学生可以查询自己...
  • C学籍管理系统.docx

    2020-11-28 07:08:27
    C++ 学生学籍管理系统 1 基本要求 为方便管理一个班同学的学籍编写一个学籍管理系统软件系统记录必须 包括学生姓名学号数学物理化学英语网络等课程成绩 2 基本管理功能 1 添加增加一个同学的记录到管理系统中 2 查询...
  • C#学籍管理系统

    2013-07-02 19:24:02
    学籍管理系统,包括学生,教师,管理员三种用户的功能,很详细呢
  • C++学籍管理系统.pdf

    2020-06-26 16:11:24
    标准文案 C++ 学生学籍管理系统 1 基本要求 为方便管理一个班同学的学籍编写一个学籍管理系统软件系统记录必须 包括学生姓名学号数学物理化学英语网络等课程成绩 2 基本管理功能 1 添加增加一个同学的记录到管理系统...
  • java学籍管理系统

    2015-01-13 21:31:52
    java 学籍管理系统 课程设计 实现功能 1录入学生基本信息的功能(允许一次开多个窗口同时录入) 2修改学生基本信息的功能 3查询学生基本信息的功能 4删除学生基本信息的功能(允许一次开多个窗口删除)
  • c++学籍管理系统.pdf

    2020-05-13 06:17:38
    C++学生学籍管理系统 1基本要求为方便管理一个班同学的学籍编写一个学籍管理系统软件系统记录必 包括学生姓名学号数学物理化学英语网络等课程成绩 2基本管理功能 1 添加增加一个同学的记录到管理系统中 2 查询可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 958
精华内容 383
关键字:

学籍管理系统功能