精华内容
下载资源
问答
  • 学生信息管理系统的功能块问题

    千次阅读 2013-08-18 19:33:20
    今天敲学生信息管理系统修改班级信息窗体时,当敲到删除记录代码时,突然对“功能块”这一概念理解非常深。 下面拿这段代码来解释一下: If str2$ = vbOKThen  mrc.MoveNext '找到删除后要显示下一条,显示...

             今天敲学生信息管理系统修改班级信息窗体时,当敲到删除记录的代码时,突然对“功能块”这一概念理解的非常深。

    下面拿这段代码来解释一下:

    If str2$ = vbOKThen

            mrc.MoveNext      '找到删除后要显示的下一条,显示出来

            If mrc.EOF Then

                mrc.MoveFirst

                mybookmark = mrc.Bookmark

                mrc.MoveLast  '??

                If mrc.RecordCount = 1 Then

                    mrc.Delete

                    Unload Me

                    Exit Sub

                Else

                    mrc.Delete

                    mrc.Bookmark = mybookmark

                    Call viewdata  '显示删除后的记录

                End If

            Else

                mybookmark = mrc.Bookmark

                 mrc.MovePrevious    '记录集指针,指向要删除的记录

                mrc.Bookmark = mybookmark  '记录集指针指向被删除的下一个

                Call viewdata  ' 显示被删除的下一个记录。

            End If

        Else

            mrc.Bookmark = mybookmarkf

            Call viewdata

        End If

    这是删除记录的代码,那么这段代码究竟是什么意思那现在给大家解释一下

    ‘bookmark是标当前dbgrid的位置,这里的作用就是当点删除时,先记录下当前dbgrid的位置,

    ‘如果确定删除,判断是不是到最后了,

    '如果是就回到第一行,删除,位置留在第一行,

    '如果不是最后则删除数据后保持bookmark在当前位置;

    '如果没有执行删除,则bookmark也保持在当前位置不变

    这么说大家肯定可以理解,但是代码又究竟该怎么理解那??现在来看一下。

    这个代码又三个if语句也就是有三个功能块

    先来看最里面的一个:

               If mrc.RecordCount = 1 Then  '这段代码是记录只有一条的特殊情况
                   mrc.Delete
                    Unload Me
                    Exit Sub
               End If

      再来看第二个:

    If mrc.EOF Then                         ‘删除记录在最后位置

               mrc.MoveFirst

               mybookmark = mrc.Bookmark

               mrc.MoveLlast

               mrc.Delete

               mrc.Bookmark = mybookmark

               Call viewdata

              Else                              ‘删除的记录不在最后一条

               mybookmark = mrc.Bookmark

               mrc.MovePrevious

               mrc.Delete

               mrc.Bookmark = mybookmark

               Call viewdata

           End If

    再来看最外围的情况,就容易多了。

       If str2$ = vbOKThen

            mrc.MoveNext 

           .......

        Else

            mrc.Bookmark = mybookmarkf

            Call viewdata

        End If


           我认为功能块的主要功能是①把这个功能的代码连接起来一次性看完或写完,这样很利于理解,不至于一会看这个功能的代码一段,一会看那个功能的代码一段,导致代码理解混乱。

           ②在写代码时,也不至于丢句子。

      

    展开全文
  • 体检信息管理系统功能

    千次阅读 2014-06-30 16:13:14
    功能模块 功 能 简 介 一、体 检 管 理 模 块 1、预约登记 登记体检人员预约信息,对体检人员进行事先预约、电子表格、档案、身份证导入。 2、体检登记 登记体检...


    功能模块

    功  能  简  介

    一、体  检  管  理 模 块

    1、预约登记

    登记体检人员的预约信息,对体检人员进行事先预约、电子表格、档案、身份证导入。

    2、体检登记

    登记体检人员的基本信息和体检项目,可以从预约中导入,也可以批量增加或减少体检项目;对不同性质(如公务员、职业健康、招工等)体检人群做不同的标记、同一个单位可以细分到若干部门并与总检报告人群相对应,对不同的人群分配到不同的检区。制作磁卡或指引单。

    3、体检档案

    对于体检人员自动建立健康体检档案,并可以查看、修改体检人员的相关档案。

    4、个人体检收费

    对单个体检人员进行收费操作,产生个人收费结算单 ,并通过与HIS的接口程序将收费信息发送到HIS的门诊收费系统中进行交费。

    5、单位体检收费

    对团检的单位进行统一结算,可以分实检和预约登记两种模式结算,类似于“个人收费”可以将产生的结算单通过HIS接口程序将收费信息发送到HIS的门诊收费系统中进行收费。

    6、体检结果录入

    分科室录入体检人员的体检结果,拥有完善的二级模板功能,科室小结时自动产生相应的诊断和建议。凡是在LIS和PACS(工作站)系统中完成的体检项目,可以通过专门的LIS和PACS接口程序提取结果数据,并自动小结,产生诊断和建议。

    7、总检

    对各科室己录完的体检者进行总检操作,能够自影像工作站中提取图像和科室小结,自动产生综述和建议。

    8、复检管理

    对需要复检的人员在体检报告和短信方式进行提醒。

    9、数据追踪功能

    对体检数据的创立修改过程产生日志。

    10、体检集中管理

    将体检登记,结果录入,总检,查询可以放到一起集中进行操作。

    11、体检流程监控

    实时查看当前体检单位的体检完成情况,体检流程是否完成,报告是否打印,是否收费,是否取走报告。可以实时查看。

    12、数据接收

    专门的接口程序(医院不同、系统不同可能接口程序也不同,要定制开发),主要实现接收LIS数据和PACS图文报告的接收,与总检报告的合成。

    13、个人体检报告

    查询和打印己总检完人员的体检报告(含图文部分)。

    二、  查  询  统  计 模 块

    14、单位体检综述报告

    显示选定单位下体检人员的综述信息,主要包含体检基本资料、体检异常结果统计、员工健康问题分析及保健、按性别男(女)健康问题分析及保健建议。各个部分包含图形和表格的直接生成无需手动统计和计算。

    15、单位体检年龄段分布表

    统计团检单位体检人员的年龄段分布情况(包括图形和表格)

    16、单位体检诊断报告

    统计单位所有体检人员的异常诊断,并形成表格和图形进行导出。

    17、单位阳性汇总表

    统计单位所有体检人员的科室以检查异常情况,并可以生成表格进行导出。

    18、单位体检综合报告

    按照自定义的统计模板统计单位的异常和疾病情况,并显示男女发病情况

    19、单位体检异常一览表

    按照自定义的统计模板统计单位的异常和疾病情况,并可以进行EXCEL格式的导出。

    20、单位疾病异常汇总表

    统计单位体检诊断中产生的所有疾病,和患该疾病的人员名单、男女人数以及所占百分比等

    21、科室录入查询

    按各个科室查询查询体检结果信息。

    22、体检总检查询

    按总检医生查询体检结果信息。

    23、体检结果查询

    可以查询本次体检结果报告书,对于体检两次以上的可以进行历史对比。

    24、科室工作量统计表

    按年、月、日统计各科室的工作量(包括表格和多种图形显示)

    25、医生工作量统计表

    按年、月、日统计各体检医生的工作量(包括表格和多种图形显示)并进行导出。

    26、科室结算汇总表

    统计体检科与各科室的结算人数及金额

    27、财务核算汇总表

    财务科统计体检科的收入及奖金核算情况

    28、体检结算收入汇总表

    统计医院里体检系统总的结算情况、预收费清单、实际收费清单、已收费清单、未收费清单

    29、附加费用统计表

    统计体检中心附加物品(如试管)的使用情况

    30、年龄段异常体征情况

    统计不同年龄段的发病情况(包括图形和表格)

    31、疾病系统异常比率

    统计所有疾病系统(如心血管系统、神经系统、消化系统、内分泌系统等)的发病情况(包括图形和表格)

    32、疾病系统异常排序表

    统计各个疾病系统中疾病的排序情况(包括图形和表格)

    33、体检异常排序表

    统计所选体检者中疾病和异常并进行自动升序和降序的排列(包括图形和表格)

    34、体检疾病统计表

    按疾病来统计各疾病患病人数

    35、综合查询

    自定义查询统计条件,查询所需要的人员列表

    三、数 据  资  料 模 块

    36、体检项目类别维护

    可以维护开展体检的所有不同的类别

    37、体检项目维护

    可以自定义维护所有的体检项目及体检项目组合。

    38、体检科室维护

    对各科室开展的体检项目进行维护,并可以任意的增加体检科室和进行改变。

    39、关键词维护

    可以对体检项目的常用结果关键词进行维护

    40、体检套餐维护

    可以任意根据医院自己的体检项目自定义体检套餐

    41、诊断建议描述维护

    可以维护各疾病的建议信息和详细描述,并自动的调整优先级顺序。

    42、系统公用模板维护

    可以维护各个科室的结果录入模板,并增加二级菜单录入内容和公用模板等内容

    43、员工信息维护

    可以对各科室的医生信息和权限进行维护。

    44、体检单位维护

    对参加体检的单位,团体进行维护

    45、HIS收费项目对照表

    维护体检项目与HIS系统中收费项目的主键值的对照关系(接口之用)

    46、LIS检验项目对照表

    维护体检系统与LIS系统的检验项目的对应关系(接口之用)

    47、PACS科室对照表

    维护体检系统中体检科室与PACS系统的检查科室的对应关系(接口之用)

    48、自动诊断表达式编辑

    自定义维护表达式的内容

    49、自动诊断判断条件配置

    可以自由设置自动判断的表达式(大小关系)

    四、其    它

    50、窗口菜单

    对窗口的显示方式进行更换

    51、帮助菜单

    显示通用的系统帮助功能

    52、用户管理

    对系统的操作用户进行增删改等操作

    53、权限管理

    分配相关用户的可操作模块、包含折扣权限

    54、密码修改

    更改相关用户的系统登陆密码

    55、初始化

    清空数据库中的全部业务数据、慎用

    56、计算器

    调用并打开操作系统自带的计算器工具

    57、打印机

    打开打印机的设置功能

    58、工具栏

    对工具栏的显示与排列方式进行更改

    59、注销

    注销当前用户并用其它用户名登陆系统

    60、退出系统

    退出本应用系统

    五、健康评估及健康管理模块

    61、

    面谈指导,自动判定功能。

    62、

    健康指导建议

    63、

    互动平台(短信、留言等)

    六、办公辅助功能模块

    64、

    公告栏、意见建议、内部交流平台等

    65、

    CRM客户管理

    66、

    办公OA系统

    67、

    按照客户要求自定义

    七、  各  子  系  统

    68、PACS及其他图像子系统

    自动采集X光DR、CR、CT、超声等影像设备的图像信息,具备对图像的编辑、打印、增强、翻转等看图辅助功能

    自动采集心电图、胃镜、阴道镜、骨密度、动脉硬化、身高体重计、电测听、肺功能议等图像,并进行结果描述和科室小结。

    69、检验信息子系统

    可以采用预制条码、或自行打印条码形式,自动采集、传输各检验设备的检验数据

    70、管理辅助子系统

    网上发布、短信、客户呼叫服务

    71、外部接口子系统

    HIS接口、LIS接口、RIS接口、PACS接口、WEB接口

     

     

    展开全文
  • 学生信息管理系统 1、 学生信息录入:主要是录入学生班级信息和学生基本情况; 2、 学生信息查询:按指定系检索该系学生信息,其中包括所有学生信息; 3、 学生信息维护:维护学生、系别、课程、学生选课及...

    学生信息管理系统

    1、 学生信息录入:主要是录入学生班级信息和学生基本情况;
    2、 学生信息查询:按指定系检索该系的学生信息,其中包括所有的学生信息;
    3、 学生信息维护:维护学生、系别、课程、学生选课及成绩等方面的基本信息,包括增加、删除和修改;
    4、 学生选课:为学生提供选课界面,包括所有课程信息。进入该界面前学生要输入正确的学号和姓名。

    具体代码如下:(vc++6.0刚刚试过可以运行)

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<conio.h>
    #include <windows.h>
    struct course	//定义储存课程信息的结构体
    {
    	int num;//课程号
    	char subject[10];//课程名
    	int mark;//学分
    	int count;//已选人数
    }cour[5] = { {1,"数据结构",3,0},{2,"java语言",3,0},
    {3,"大学英语",5,0},{4,"软件工程",4,0},{5,"线性代数",3,0} };//课程信息
    void Output_course(struct course *p)//调用存储课程信息结构体数组,输出所有课程信息
    {
    	system("cls");
    	printf("课程信息如下:   \n");
    	for (p = cour; p < cour + 5; p++)
    		printf("课程号--%d   科目--%7s   学分--%d   已选人数--%d\n\n",
    			p->num, p->subject, p->mark, p->count);
    }
    struct student	//定义存储学生信息的结构体
    {
    	long num;
    	char name[10];
    	char order1[10];//所选课程1
    	char order2[10];//所选课程2
    }stu[8] = {	   {20170401,"小明","NULL","NULL"},
    			   {20170402,"小红","NULL","NULL"},
    			   {20170403,"小张","NULL","NULL"},
    			   {20170404,"小王","NULL","NULL"},
    			   {20170405,"小花","NULL","NULL"},
    			   {20170406,"小丽","NULL","NULL"},
    			   {20170407,"小雨","NULL","NULL"},
    			   {20170408,"小二","NULL","NULL"},
    };
    void Output_student(struct student *p)调用存储课程信息结构体数组,输出所有学生信息
    {
    	system("cls");
    	printf("学生的选课情况如下:\n");
    	for(p=stu;p<stu+8;p++)
    	printf("学号--%d  姓名--%3s  课程1--%7s  课程2--%7s\n\n",
    		p->num, p->name, p->order1, p->order2);
    }
    void modify(struct student *p, struct course cour[5])
    //调用储存course和student的结构体数组,输出任意一个学生信息,并且可以修改
    {
    	int s;
    	int g;
    	char b;
    	char k[10];
    	char h;
    	long n;
    	long m;
    	int i;
    	int j;
    	char name1[20];
    	system("cls");
    	printf("请输入学号(20170401-20170408):");
    	scanf("%d", &n);
    	printf("请输入学号对应的姓名:");
    	scanf("%d", &h);
    	for (p = stu; p < stu + 8; p++)
    	{
    		if (n == p->num)	//找到对应的学生
    		{
    			system("cls");
    			printf("\n\n\n 该学生信息如下\n\n\n");
    			printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n", 
    				p->num, p->name, p->order1, p->order2);
    			printf("\nA.修改  退出请按A,a外任意字母键\n");
    			scanf("%s", &b);
    			{ if (b == 'a' || b == 'A')
    			{
    				printf("\n1.修改学号   2.修改姓名   3.修改所选课程\n");
    				scanf("%d", &s);
    				{ if (s == 1)
    				{
    					printf("\n 学号修改为:\n"); //修改学号
    					scanf("%d", &m);
    					p->num = m;
    					system("cls");
    					printf("\n\n\n\n\n\n\n修改后如下:\n");
    					printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n",
    						p->num, p->name, p->order1, p->order2);
    				}
    				if (s == 2)
    				{
    					printf("\n 姓名修改为:\n");
    					scanf("%20s", name1);
    					strcpy(p->name, name1);
    					system("cls");
    					printf("\n\n\n\n\n 修改后如下\n\n");
    					printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n", 
    						p->num, p->name, p->order1, p->order2);
    				}
    				if (s == 3)
    				{
    					system("cls");
    					printf("\n 输入你想修改的课程:区分大小写\n");
    					scanf("%s", &k);
    					{if (strcmp(p->order1, k) == 0)
    					{
    						system("cls");
    						printf("\n1.数据结构  2.java语言   3.大学英语   4.软件工程   5.线性代数\n");
    						printf("\n你想修改为(1-5):\n");
    						scanf("%d", &g);
    						for (i = 0; i < 5; i++)
    						{
    							if (g == i + 1)
    							{
    								if (cour[g - 1].count >= 3)
    								{
    									system("cls");
    									printf("\n\n  该课程已被选满\n");//课程选满,返回主菜单
    								}
    								else {
    									if (strcmp(p->order2, cour[g - 1].subject) == 0)
    										printf("\n\n 你已选过这门课   \n\n");//重选,返回主菜单
    									else {
    										strcpy(p->order1, cour[g - 1].subject);
    										cour[g - 1].count++;
    										for (j = 0; j < 5; j++)
    										{
    											if (strcmp(cour[j].subject, k) == 0)
    
    												cour[j].count--;
    										}
    										system("cls");
    										printf("\n\n学生信息 \n\n");
    										printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n",
    											p->num, p->name, p->order1, p->order2);
    									}
    								}
    							}
    						}
    					}
    					else
    						if (strcmp(p->order2, k) == 0)
    						{
    							system("cls");
    							printf("\n1.数据结构  2.java语言   3.大学英语   4.软件工程   5.线性代数\n");
    							printf("\n你想修改为(1-5):\n");
    							scanf("%d", &g);
    							for (i = 0; i < 5; i++)
    							{
    								if (g == i + 1)
    								{
    									if (cour[g - 1].count >= 3)
    									{
    										printf("\n\n   该课程已被选满\n");//已选满
    									}
    									else {
    										if (strcmp(p->order1, cour[g - 1].subject) == 0)
    											printf("\n\n 你已选过这门课   \n\n");//重选
    										else {
    											strcpy(p->order2, cour[g - 1].subject);
    											cour[g - 1].count++;
    											for (j = 0; j < 5; j++)
    											{
    												if (strcmp(cour[j].subject, k) == 0)
    													cour[j].count--;
    											}
    											system("cls");
    											printf("\n\n学生信息 \n\n");
    											printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n",
    												p->num, p->name, p->order1, p->order2);
    										}
    									}
    								}
    							}
    						}
    						else  printf("\n\n 您还没选这门课或拼写错误\n\n");
    					}
    				}
    
    				}
    			}
    			}
    		}
    	}
    }
    
    void xuanke(struct student *p,struct course cour[5])//为任意学生去选课
    { long n;int a;int b;int t = 0;int u = 0;int i;
    	system("cls");
    	printf("请输入学号(20170401-20170408):");
    	scanf("%d", &n);
    
    	for (p = stu;p < stu + 8;p++)
    	{
    		if (n == p->num)//找到相应的学生
    		{
    			system("cls");
    			if (strcmp(p->order1,"NULL")!=0)	//第一门课不为空
    				t = 1;
    			else
    			{
    				system("cls");
    				printf("\n\n\n\n\n\n请选您的第一门课   提示:您最多只能选二门课\n\n");
    				printf("\n1.数据结构  2.java语言   3.大学英语   4.软件工程   5.线性代数\n\n");
    				printf("\n请选第一门课:不选请按1-5外任意数字键返回\n\n");
    				scanf("%d", &a);//输入所选课程编号
    				for (i = 0; i < 5; i++)
    				{
    					if (a == i + 1)
    					{
    						if (cour[a - 1].count >= 3)
    						{
    							printf("\n\n该课程已被选满\n");//课程选满。返回主菜单
    						}
    						else {
    							if (strcmp(p->order2,cour[a - 1].subject)==0)
    								printf("\n\n\n 你已选过这门课\n");//重选,返回主菜单
    							else {
    								strcpy(p->order1, cour[a - 1].subject);//选课成功
    								cour[a - 1].count++;
    								system("cls");
    								printf("\n\n\n\n\n\n   学生信息:\n");
    								printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n",
    									p->num, p->name, p->order1, p->order2);
    							}
    						}
    					}
    				}
    			}
    			if (strcmp(p->order2, "NULL")!=0)//第二门课不为空
    				u = 1;
    			else {
    				printf("\n\n\n\n\n\n请选您的第二门课   提示:您最多只能选二门课\n\n");
    				printf("\n1.数据结构  2.java语言   3.大学英语   4.软件工程   5.线性代数\n\n");
    				printf("\n 请选第二门课:不选请按 1-5 外任意数字键返回\n\n");
    				scanf("%d", &b);
    				for (i = 0; i < 5; i++)
    				{
    					if (b == i + 1)
    					{
    						if (cour[b - 1].count >= 3)
    						{
    							printf("\n\n 该课程已被选满 \n");//已选满,返回主菜单
    						}
    						else {
    							if (strcmp(p->order1, cour[b - 1].subject)==0)
    								printf("\n\n\n   你已选过这门课   \n");//重选,返回主菜单
    							else {
    								strcpy(p->order2, cour[b - 1].subject);
    								cour[b - 1].count++;
    								system("cls");
    								printf("\n\n\n\n\n\n   学生信息:\n");//成功选课
    								printf("学号--%d  姓名--%s  课程1--%s  课程2--%s\n\n",
    									p->num, p->name, p->order1, p->order2);
    							}
    						}
    					}
    				}
    			}
    			if (u==1&&t==1)
    				printf("\n 您已选满,若想修改请进入菜单 3\n");
    		}
    	}
    }
    
    void a()
    {
    	for (;;){
    	int n;
    	printf("\t\t************欢迎来到选课系统************\n\n");
    	printf("\t\t**-------- 1 浏览课程信息 ------------**\n\n");
    	printf("\t\t**-------- 2 浏览学生选课情况 --------**\n\n");
    	printf("\t\t**-------- 3 学生信息查询和修改 ------**\n\n");
    	printf("\t\t**-------- 4 学生选课 ----------------**\n\n");
    	printf("\t\t**-------- 5 退出 --------------------**\n\n");
    	printf("请选择(1-5):[ ]\b\b");
    	scanf("%d", &n);
    	switch (n)
    	{
    	case 1:Output_course(cour); break;
    	case 2:Output_student(stu); break;
    	case 3:modify(stu,cour); break;
    	case 4:xuanke(stu,cour); break;
    	case 5:exit(0);
    	default:printf("请输入正确数字!\n");
    	}
    	}
    }
    
    
    #define N 100
    typedef struct stulink_node
    {
    	char sdepartment[10];
    	char sclass[10];
    	char scourse[10];
    	char sno[14];
    	char sname[10];
    	char ssex[2];
    	float psscore;
    	float syscore;
    	float qmscore;
    	float zpscore;
    	struct stulink_node *next;
    }student;
    typedef student *linklist;
    
    student *head;
    
    char sno[N][20]={{'a','b'}};
    int count;
    void display();                  //函数声明
    int judge(char sno1[])               //判断学号函数
    {
    	int i;
    	for(i=0;i<N;i++)
    	{
    		if(!strcmp(sno1,sno[i]))
    			return 1;
    	}
    	return 0;
    }
    
    student *init()            //建立一个空的单链表
    {
    	return NULL;
    }
    float average(student *stu)          //求总评成绩函数
    {
    	return (float)(0.4*stu->psscore+0.3*stu->syscore+0.3*stu->qmscore);
    }
    void luru()                //录入学生信息函数
    {	
    	linklist p,q;
    	static int count=0;
    	char flag='0';
    	q=(linklist)malloc(sizeof(student));
    	p=head=NULL;
    	while(flag=='0')
    		{
    			printf("\n");
    			printf("请输入学生的学号: ");
    			scanf("%s",&q->sno);
    			while(judge(q->sno))
    			{
    			printf("学号重复,请重新输入:");
    			scanf("%s",&q->sno);
    			}
    			strcpy(sno[count],q->sno);count++;
    			printf("请输入学生的系别: ");
    			scanf("%s",&q->sdepartment);
    			printf("请输入学生的班级: ");
    			scanf("%s",&q->sclass);
    			printf("请输入学生的课程: ");
    			scanf("%s",&q->scourse);
    			printf("请输入学生的姓名: ");
    			scanf("%s",&q->sname);
    			printf("请输入学生的性别: ");
    		    scanf("%s",&q->ssex);
    			printf("请输入学生的平时成绩: ");
    		    scanf("%f",&q->psscore);
    			printf("请输入学生的实验成绩: ");
    		    scanf("%f",&q->syscore);
    			printf("请输入学生的期末成绩: ");
    			scanf("%f",&q->qmscore);
    			q->zpscore=average(q);
    			setbuf(stdin,NULL);
    			if(head==NULL) 
    			{
    				head=q;
    				p=head;
    			}
    			else 
    			{
    				p->next=q;
    				p=q;
    			}
    			q=(linklist)malloc(sizeof(student));
    			printf("按0继续输入,否则退出\n");
    			flag=getch();
    			setbuf(stdin,NULL);
    		}
    	free(q);
    	printf("输入完毕!\n ");
    	p->next=NULL;
    }
    void charu()                      //插入 学生信息函数        
    {
    	int j=0,i;
    	linklist p,q;
    	p=head;
    	printf("请输入要插入的位置: ");
    	scanf("%d",&i);
    	if(i<0) printf("输入位置不规范!\n");
    	else 
    	{
    		while (p&&i!=j)
    		{
    			p=p->next;j++;
    		}
    		if(!p&&i!=0)  printf("未找到该结点不能插入!");
    		else
    		{
    			q=(linklist)malloc(sizeof(student));
    			printf("请输入学生的学号: ");
    			scanf("%s",&q->sno);
    			while(judge(q->sno))
    			{
    			printf("学号重复,请重新输入:");
    			scanf("%s",&q->sno);
    			}
    			strcpy(sno[count],q->sno);count++;
    			printf("请输入学生的系别: ");
    			scanf("%s",&q->sdepartment);
    			printf("请输入学生的班级: ");
    			scanf("%s",&q->sclass);
    			printf("请输入学生的课程: ");
    			scanf("%s",&q->scourse);
    			printf("请输入学生的姓名: ");
    			scanf("%s",&q->sname);
    			printf("请输入学生的性别: ");
    			scanf("%s",&q->ssex);
    			printf("请输入学生的平时成绩: ");
    			scanf("%f",&q->psscore);
    			printf("请输入学生的实验成绩: ");
    			scanf("%f",&q->syscore);
    			printf("请输入学生的期末成绩: ");
    			scanf("%f",&q->qmscore);
    			q->zpscore=average(q);
    			if(i==0)
    			{
    				q->next=head;
    				head=q;
    			}
    			else 
    			{
    				q->next=p->next;
    				p->next=q;
    			}
    		}
    	}
    
    }
    void xiugai()                         //修改学生信息函数
    {
    	linklist q;
    	int m=0;
    	char sno[15];
    	q=head;
    	printf("请输入要修改的学生学号:");
    	scanf("%s",&sno);
    	if(!q)  printf("修改失败,没有学生信息!\n");
    	else 
    	{
    		while(q!=NULL)
    		{
    			if(strcmp(q->sno,sno)==0)
    			{
    				printf("请输入学生的系别: ");
    			    scanf("%s",&q->sdepartment);
    			    printf("请输入学生的班级: ");
    			    scanf("%s",&q->sclass);
    			    printf("请输入学生的课程: ");
    			    scanf("%s",&q->scourse);
    				printf("请输入学生的学号: ");
    				scanf("%s",&q->sno);
    				printf("请输入学生的姓名: ");
    				scanf("%s",&q->sname);
    				printf("请输入学生的性别: ");
    				scanf("%s",&q->ssex);
    				printf("请输入学生的平时成绩: ");
    				scanf("%f",&q->psscore);
    				printf("请输入学生的实验成绩: ");
    				scanf("%f",&q->syscore);
    				printf("请输入学生的期末成绩: ");
    				scanf("%f",&q->qmscore);
    				q->zpscore=average(q);
    				setbuf(stdin,NULL);
    				m=1;
    				printf("修改成功!\n\n");
    				break;
    			}
    			else
    				q=q->next;	
    		}
    		if(m==0) printf("修改失败,没有该学生信息!\n\n");
    	}
    }
    
    void shanchu()                       //删除学生信息函数
    {
    	linklist pre,q;
    	char sno[12];
    	pre=head;
    	q=head;
    	printf("请输入要删除的学生学号:");
    	scanf("%s",&sno);
    	if(!q) printf("没有学生信息,无法删除!\n\n");
    	else
    	{
    		while(q)
    		{
    			if(strcmp(q->sno,sno)==0) 
    			{
    				if(q==head)
    				{
    				head=q->next;
    				free(q);
    				}
    				else 
    				{
    				pre->next=q->next;
    				free(q);
    				}
    				printf("删除成功!\n");
    				break;
    			}
    			else
    			{
    				pre=q;
    				q=q->next;
    			}
    		}
    	}	
    }
    
    void chaxun()                           //查询学生信息函数
    {
    	linklist p;
    	int m=0;
    	char sno[15];
    	p=head;
    	printf("请输入需查询的学生学号:");
    	scanf("%s",&sno);
    	if(!p) printf("没有学生信息,无法查询!\n\n");
    	else
    	{
    		while(p)
    		{
    			if(strcmp(p->sno,sno)==0) 
    			{
    				printf("系别:%s\n",p->sdepartment);
    				printf("班级:%s\n",p->sclass);
    				printf("课程:%s\n",p->scourse);
    				printf("学号:%s\n",p->sno);
    				printf("姓名:%s\n",p->sname);
    				printf("性别:%s\n",p->ssex);
    				printf("平时成绩:%-.2f\n",p->psscore);
    				printf("实验成绩:%-.2f\n",p->syscore);
    				printf("期末成绩:%-.2f\n",p->qmscore);
    				printf("总评成绩:%-.2f\n",p->zpscore);
    				m=1;
    				break;
    			}
    			else
    				p=p->next;
    		}
    		if(m==0) printf("查询失败,没有该生信息!\n");
    	}
    	
    }
    void paixu()                       //对学生总评成绩排序(冒泡法)
    {
    	linklist p,q,r;
    	student temp;
    	r=head;
    	if(r==NULL) printf("没有学生成绩,请先添加学生成绩!\n");
    	else
    	{
    	while(r)
    	{
    		p=r;
    		q=r->next;
    		while(q)
    		{
    			if(p->zpscore < q->zpscore)
    			{
    				strcpy(temp.sdepartment,p->sdepartment);
    				strcpy(temp.sclass,p->sclass);
    				strcpy(temp.scourse,p->scourse);
    				strcpy(temp.sno,p->sno);
    				strcpy(temp.sname,p->sname);
    				strcpy(temp.ssex,p->ssex);
    				temp.psscore=p->psscore;
    				temp.syscore=p->syscore;
    				temp.qmscore=p->qmscore;
    				temp.zpscore=p->zpscore;
    
      				strcpy(p->sdepartment,q->sdepartment);
    				strcpy(p->sclass,q->sclass);
    				strcpy(p->scourse,q->scourse);
    				strcpy(p->sno,q->sno);
    				strcpy(p->sname,q->sname);
    				strcpy(p->ssex,q->ssex);
    				p->psscore=q->psscore;
    				p->syscore=q->syscore;
    				p->qmscore=q->qmscore;
    				p->zpscore=q->zpscore;
    
    				strcpy(q->sdepartment,temp.sdepartment);
    				strcpy(q->sclass,temp.sclass);
    				strcpy(q->scourse,temp.scourse);
    				strcpy(q->sno,temp.sno);
    				strcpy(q->sname,temp.sname);
    				strcpy(q->ssex,temp.ssex);
    				q->psscore=temp.psscore;
    				q->syscore=temp.syscore;
    				q->qmscore=temp.qmscore;
    				q->zpscore=temp.zpscore;
    			}
    			q=q->next;
    		}
    		r=r->next;
    	}
    	printf("****排序完毕,按由大到小的总评成绩!");
    	display();
    	}
    	
    }
    
    void display()                   //输出学生信息函数
    {
    	student *p;
    	p=head;
    	if(!p) printf("暂无学生成绩!\n");
    	else
    	{
    		printf("各个学生成绩为:\n");
    		while(p)
    		{
    			/*printf("系别:%s,班级:%s,课程:%s,学号:%s,姓名:%s,性别:%s,
    				平时成绩:%-.2f,实验成绩:%-.2f,期末成绩:%-.2f,总评成绩:%-.2f\n",
    				p->sdepartment,p->sclass,p->scourse,p->sno,p->sname,p->ssex,
    				p->psscore,p->syscore,p->qmscore,p->zpscore);*/
    			    printf("系别:%s	",p->sdepartment);
    				printf("班级:%s	",p->sclass);
    				printf("课程:%s	",p->scourse);
    				printf("学号:%s	",p->sno);
    				printf("姓名:%s	",p->sname);
    				printf("性别:%s	",p->ssex);
    				printf("平时成绩:%-.2f	",p->psscore);
    				printf("实验成绩:%-.2f	",p->syscore);
    				printf("期末成绩:%-.2f	",p->qmscore);
    				printf("总评成绩:%-.2f\n",p->zpscore);
    			p=p->next;
    		}
    	}
    }
    void menu()
    {
    	int choose;
    	printf("**************学生信息管理系统*****************\n");
    	printf("*                                             *\n");
    	printf("*----------- 1.录入学生成绩 ------------------*\n");
    	printf("*----------- 2.增加学生成绩 ------------------*\n");
    	printf("*----------- 3.修改学生成绩 ------------------*\n");
    	printf("*----------- 4.删除学生成绩 ------------------*\n");
    	printf("*----------- 5.查询学生成绩 ------------------*\n");
    	printf("*----------- 6.对学生成绩进行排序 ------------*\n");
    	printf("*----------- 7.输出学生成绩 ------------------*\n");
    	printf("*----------- 8.进入选课系统-------------------*\n");
    	printf("*----------- 9.退出系统-----------------------*\n");
    	printf("***********************************************\n");
    	printf("\n");
    	printf("请输入你的选择:");
    	scanf("%d",&choose);
    	switch(choose)
    	{
    	case 1:luru();break;
    	case 2:charu();break;
    	case 3:xiugai();break;
    	case 4:shanchu();break;
    	case 5:chaxun();break;
    	case 6:paixu();break;
    	case 7:display();break;
    	case 8:a();break;
    	case 9:exit(0);break;
    	default:printf("请输入正确数字!\n");
    	}
    	menu();
    }
    
    int main()
    {
    	head=init();
    	menu();
    	return 0;
    }
    
    
    

    运行结果很多,我简单的给个主菜单
    在这里插入图片描述
    欢迎您关注我的微信公众号:学习微站(studysth)
    在这里插入图片描述

    最后,这是我的主页链接:https://blog.csdn.net/weixin_43206161

    展开全文
  • 功能:具有增删改查功能的学员信息管理系统 # 选项: 1.添加学员姓名 # 2.修改学员姓名 # 3.查询学员姓名 # 4.删除学员姓名 # 0.退出程序 # 添加学员: # 输入要添加姓名 # 进行添加操作 # 修改学员: # 输入学员...

    

    功能:具有增删改查功能的学员信息管理系统
    # 选项:    1.添加学员姓名
    #    2.修改学员姓名
    #    3.查询学员姓名
    #    4.删除学员姓名
    #     0.退出程序
    #     添加学员:
    #     输入要添加的姓名
    #     进行添加操作
    #  修改学员:
    #     输入学员的序号
    #     输入修改信息
    #     执行修改
    #  查询学员:
    #     1.输入查询序号
    #        输入学员序号
    #        输出学员信息
    #     2.查询所有学员
    #        迭代列表,输出所有学员
    #  删除学员:
    #     1.输入序号删除
    #     2.输入学员名称删除
    #     3.删除所有学员
    
    # 声明一个用于保存学员信息的列表
    member_list=[]
    while True:
        print('''欢迎使用python-13期学生信息管理系统
        1-添加学员姓名
        2-修改学员姓名
        3-查询学生姓名
        4-删除学员姓名
        0-退出''')
        select_number=int(input('请选择您要操作的序号:'))
        while select_number<0 or select_number>4:
            select_number=int(input('序号输入错误,请从新输入:'))
        if select_number==1:#如果用户选择序号1,说明用户想要添加学员姓名
            name=input('请输入要要添加的学员姓名:')
            member_list.append(name)
            print('学员信息添加成功!')
        if select_number==2:
            if len(member_list):#len()获取容器的长度
                # 让用户选择学员序号,需要将列表中的学员信息遍历出来
                # 用户选择的序号从1开始的,所以对应的索引值要+1
                for x in range(0,len(member_list)):
                    print(x+1,member_list[x])#因为不能输出0,所以x+1,member_list[x]中的x是索引,打印出所有的学员序号、学员姓名。
                student_num=int(input('请输入要修改的学员序号:'))
                while student_num<1 or student_num>len(member_list):
                    student_num = int(input('序号输入错误,请重新输入你要修改的学员序号:'))
                new_name=input('请输入修改的姓名:')
                # 由于用户选择的序号是从1开始的,所以修改学员的信息需要-1才是对应的元素的位置
                member_list[student_num-1]=new_name
                print('学员信息修改成功!')
            else:
                print('学员信息为空,无法修改!')
        if select_number==3:
            if len(member_list):
                print('''1-输入序号查询
                2-查询所有学员
                ''')
                select_number=int(input('请输入你要操作的序号:'))
                while select_number!=1 and select_number!=2:
                    select_number = int(input('序号输入错误,请重新输入你要操作的序号:'))
                if select_number == 1:
                    student_num=int(input('请输入要查询的学员序号:'))
                    while student_num<1 or student_num>len(member_list):
                        student_num = int(input('输入错误,请重新输入要查询的学员序号:'))
                    name=member_list[student_num-1]
                    print('查询到的学员姓名是:%s'%name)
                if select_number==2:
                    for x in range(0, len(member_list)):
                        print(x + 1, member_list[x])
            else:
                print('学员信息为空,无法查询!')
        if select_number==4:
            if len(member_list):
                print('''
                1-输入序号删除
                2-输入学员姓名删除
                3-删除所有学员
                ''')
                # 每一次执行1或2或3之前都会遍历一次
                for x in range(0, len(member_list)):
                    print(x + 1, member_list[x])
                delect_num = int(input('请输入要操作的序号:'))
                while delect_num!= 1 and delect_num!= 2 and delect_num!= 3:
                    delect_num=int(input('没有该序号,请重新输入要操作的序号:'))
                if delect_num==1:
                    select=int(input('请输入要删除的学员序号:'))
                    while select<1 or select>len(member_list):
                        select=int(input('编号不存在,请重新输入要删除的学员序号:'))
                    member_list.pop(select-1)
                    print('删除学员成功!')
                if delect_num==2:
                    name=input('请输入要删除的学员名称')
                    while name not in member_list:#如果名字不在列表中
                        name=input('请重新输入要删除的学员姓名:')
                    member_list.remove(name)
                    print('学员信息删除成功!')
                if delect_num==3:
                    while len(member_list):
                        del member_list[0]
                    print('学员信息删除成功')
            else:
                print('学员信息为空,无法删除!')
        if select_number==0:
            break

    可以关注我的公众号:技术趣谈

     

    展开全文
  • 党建信息管理平台系统是通过平台数据与MAS机、视频系统对接,借助先进移动通信技术为各级党组织提供一站式移动管理平台。提供一套规范、有效及可靠管理理念和工具。 2.1 产品功能 2.1.1 产品功能汇总 智慧...
  • 学生信息管理系统 本系统主要用于学生通讯录管理与查询,主要功能包括学生信息数据录入、读取、显示、删除、查找、修改。主要使用人群:全学院全体学生。每个学生信息为:学号、姓名、性别、班级 住址、手机号码...
  • 庖丁解“学生信息管理系统

    千次阅读 多人点赞 2013-08-18 17:00:54
    一、学生信息管理系统的功能块儿 从功能列表上看,各个功能是相互联系的,把它们捆在一起的绳索便是——数据库。利用数据库实现了各个功能之前相互获取对方所添加或修改的信息,可见数据库在其中的重要
  • 最近给福利院做了个管理儿童档案和管理儿童就诊的系统,是用.net开发的,里面的功能模块比较方便实用,主要是以人性化为主,因为是给内部人员用的,所以我并没有追求华丽的页面,但总体来说还比较看得顺眼。...
  • ITIL的理论落地,不需要什么信息系统的支持,使用word文件、Excel表格一样可以对ITIL的十几个关键管理流程做到很好的落地。虽然是这么讲,但现在用人成本这么贵,任哪个公司也不会愿意为这些服务流程的落地设计出一...
  • 原文:jsp开发学生信息管理系统,实现了基本的增删改查的功能  源代码下载地址:http://www.zuidaima.com/share/1550463304436736.htm
  • 构造一个学生信息管理系统应包含添加、删除、查找、修改等基本功能,设计不同函数实现各项功能,可以将学生信息存放在一个结构体数组里,实现添加功能则按照顺序向结构体数组赋值,删除则遍历数组找到要删除学生...
  • 学生信息管理系统c++

    万次阅读 2017-07-01 19:28:02
    一个简单c语言学生信息管理系统,是控制台程序。 运行界面如下,功能已经全部实现 本资料绝对原创,请认准发表时间,如有相同,请私信我。
  • 学生信息管理系统 " ) 6 root.config(width=600 ) 7 root.config(height=600 ) 8 9 # 添加窗口背景图片 10 canvas= tkinter.Canvas(root, 11 width=600, # 指定Canvas组件宽度 12 height=...
  • 学生信息系统管理之 经典功能总结

    千次阅读 热门讨论 2013-08-20 08:30:38
    在敲学生信息管理系统的起步阶段,每天的进度好慢好慢的,一个流程要理好几次才弄明白。然而,一研究代码的时候,我笑了,大家都笑了。原来各个菜单里的功能基本都是一样一样的嘛。。 再回首       详解:  添加...
  • 学生信息管理系统总结 之 "数据库

    千次阅读 2012-08-14 08:53:26
    学生信息管理系统总结之 "数据库"  现在做的软件大多数都需要用到数据库,而设计一个使用高效的数据库,...学生信息管理系统的功能如下:      功能一目了然,分五个管理模块,其中系统管理中可以提出的实体
  • 这是统计功能的代码。 #include "record.h" BOOK *stastic(BOOK *top) { BOOK *p; int num=0,cnum=0,znum=0,i; char str[2]; int cn=0; char cname[][10]={"北京出版社","上海出版社","青海出版社","武汉出版...
  • 该项目主要实现对学生信息管理,通过学生信息管理系统能够进行学生信息增加、查看,查询,删除等功能,实现学生管理工作系统化和自动化。 该项目已经上传到github了,想看源码请移步:...
  • C语言,帮助某学生管理系统设计并实现学生个人信息的查询与删除功能
  • Android实现学生信息管理系统之登录与数据库准备 效果图 依赖 大部分组件来自于Design库 在build.gradle 文件中添加这样代码 dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) ...
  • 基于SSH员工信息管理系统

    万次阅读 热门讨论 2019-04-17 14:46:32
    员工信息管理系统主要功能如下: (1)员工方面: ①人事管理:能够看到自己基本信息,对自己合同进行下载,可以看公司培训信息; ②招聘管理:查看企业招聘信息,包括应聘者; ③考勤管理:查看自己出差,...
  • 学生信息管理系统——C语言版

    万次阅读 多人点赞 2019-04-06 18:07:13
    1.功能概述: 1)查询学生信息 2)添加学生信息 3)修改学生信息 4)删除学生信息 5)刷新学生信息 6)保存学生信息 7)输出当前学生信息 2.题目要求: 1)使用结构体建立学生信息体制 2)实现七大基本功能 3)采用...
  • C++ 校园管理系统、高校人员信息管理系统

    万次阅读 多人点赞 2017-09-13 13:43:53
    “高校人员信息管理系统设计” 1、问题描述 某高校有四类员工教师、实验员、行政人员教师兼行政人员共有信息包括编号、姓名、性别、年龄等。其中教师还包含信息有所在系部、专业、职称实验员还...
  • 病案是医院医、教、研的重要数据源,向医务工作者提供方便灵活的检索方式和准确可靠的统计结果、减少病案管理人员的工作量是系统的主要任务。它的管理范畴包括,病案首页管理;姓名索引管理;病案的借阅;病案的追踪...
  • 操作系统的文件管理功能

    千次阅读 2011-09-20 22:45:19
    文件是一个在逻辑上具有完整意义一组相关信息有序集合,计算机系统信息,如系统程序、标准子程序、应用程序和各种类型数据,通常都以文件形式保存...文件系统作为一个统一的信息管理机制,应具有下述功能
  • 学校里,主要有四类人员:大学本科学生、教师、研究生和助教。...人员基本信息包括姓名、编号、性别、身份证号、总学时数以及每周固定学时数。各个人员之间关系: people类派生出student 类和teacher类,stude...
  • 前文是楼主一些经历,给大家分享一下,希望能够帮到大家。文中有不足地方还请指出,我们一同探讨,或者可以直接看正文(恩~第一次在这儿发帖确实有点小激动O(∩_∩)O~)。 |前文| 我是一名职高学生,入校...
  • 通过分析学生会信息管理的不足,创建了一个计算机管理学生会信息的方案。文章介绍了学生会管理信息系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本学生会管理信息系统...
  • 用VUE实现一个简单学生信息管理系统

    千次阅读 多人点赞 2021-01-11 21:43:56
    用VUE实现一个简单学生信息管理系统用VUE实现一个学生信息管理系统一、主要功能二、实现思路三、代码实现四、效果展示五、总结 用VUE实现一个学生信息管理系统 一、主要功能 本次任务主要是使用VUE来实现一个简单...
  • lt;...#define INIT_SIZE 100 /*线性表存储空间初始分配量*/#define INCREMENT 10 /*线性表存储空间分配增量*///student结构体定义typedef struct{ char sno[15]; //学号  char sname[15];...
  • 主要实现的功能模块有管理系统的功能介绍子系统、新生入学子系统、学生成绩管理子系统、在校学生管理子系统、离校学生管理子系统、各种信息查询子系统以及系统维护子系统、 系统采用了java的web技术servlet进行开发,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,987
精华内容 15,594
关键字:

信息管理系统的功能