课程设计

这是一个使用C++实现的学生信息管理系统,能够进行学生信息的输入、输出、添加、修改和删除等操作。系统采用链表存储数据,并提供了友好的交互界面。

/**************************************************************************************************************************************

*版权所有(C)2017.周月庆

*文件名称:xueshengguanli.c

*文件标识:无

*内容摘要:对于学生的各项信心输入输出等

*其他说明:无

*作者:周月庆

*完成日期:20171220

***************************************************************************************************************************************

main.cpp

#include <iostream>
#include <string>
#include "touwenjian.h"
int n=0;//用于判断是否输出题目
int x;//用于判断要操作哪步
char a[99],d[99];//用于暂时存储姓名和性别信息
A b,c;//用于暂时存储成绩和学号
linknode *L;//声明一个链表
int m=0;
int mm=0;
using namespace std;
int main()
{
     if(n==0)//根据 n来判断是否输出“学生信息管理”。
          cout<<"                  学生信息管理"<<endl<<endl<<endl<<endl;
     cout<<"1..输入学生信息"<<endl;
     cout<<"2..输出学生信息"<<endl;
     cout<<"3..添加学生信息"<<endl;
     cout<<"4..修改学生信息"<<endl;
     cout<<"5..删除学生信息"<<endl;
     cout<<"6..查询学生信息"<<endl<<endl<<endl;
     cout<<"请输入要输入的操作码:";
     cin>>x;//输入判断具体要操作哪步的x
     if(x==1)
     {
          cout<<"姓名:";
          cin>>a;//输入姓名
          cout<<"成绩:";
          cin>>b;//输入成绩
          cout<<"学号:";
          cin>>c;//输入学号
          cout<<"性别:";
          cin>>d;//输入性别
          shuru(L,a,b,c,d);
          n=1;
     }
     else if(x==2)
     {
          shuchu(L);
          n=1;
     }
     else if(x==3)
     {
          tianjia(L);
          n=1;
     }
     else if(x==4)
     {
          cout<<"1..修改所有信息   2..修改单个信息"<<endl;
          cin>>m;
          if(m==1)
               xiugai(L);
          else
          {
               cout<<"1..修改成绩  2..修改学号  3..修改性别"<<endl;
               cin>>mm;
               if(mm==1)
                    xiugaichengji(L);
               else if(mm==2)
                    xiugaixuehao(L);
               else
                    xiugaixingbie(L);
          }
          n=1;
     }
     else if(x==5)
     {
          shanchu(L);
          n=1;
     }
     else
     {
          chaxun(L);
          n=1;
     }
     return main();
}

xuesheng.cpp

#include <iostream>
#include <string.h>
#include <malloc.h>
#include "touwenjian.h"
using namespace std;


/****************************************************************************************************************************

*功能描述:首次输入学生信息

*输入参数:a--学生姓名    b--学生成绩   c--学生学号   d--学生性别

*输出参数:p->xingming--学生姓名    p->chengji----学生成绩    p->xuehao----学生学号   p->xingbie---学生性别

*返回值:无

******************************************************************************************************************************

void shuru(linknode *&L,char a[],A b,A c,char d[])//用于初次输入学生各项信息
{
     linknode *s,*r;
     L=(linknode *)malloc(sizeof(linknode));
     r=L;
     s=(linknode *)malloc(sizeof(linknode));
     strcpy(s->mingzi,a);
     s->chengji=b;
     s->xuehao=c;
     strcpy(s->xingbie,d);
     r->next=s;
     r=s;
     r->next=NULL;
}

/********************************************************************************************************************************

*功能描述:输出已存储的学生信息。

*输入参数:无

*输出参数:p->mingz---学生姓名      p->chengji----学生成绩            p->xuehao--学生学号      p->xingbie------学生性别

*返回值:无

**********************************************************************************************************************************

void shuchu(linknode *L)//输出目前已存储的所有学生信息
{
     linknode *p=L->next;
     cout<<"姓名        成绩         学号          性别"<<endl;
     while(p!=NULL)
     {
          cout<<p->mingzi<<"        "<<p->chengji<<"           "<<p->xuehao<<"            "<<p->xingbie<<endl;
          p=p->next;
     }
     cout<<endl<<endl;
}

/************************************************************************************************************************************
*功能描述:在原本的基础上继续添加学生信息
*输入参数:p->xingming----姓名         p->chengji ---成绩        p->xuehao----学号           p->xingbie------性别
*输出参数:无
*返回值:无
*************************************************************************************************************************************

void tianjia(linknode *&L)//在已存储的基础上继续添加学生信息
{
     linknode * p=L,* s;
     s=(linknode *)malloc(sizeof(linknode));
     while(p->next!=NULL)
          p=p->next;
     char aa[99],dd[99];
     A bb,cc;
     cout<<"姓名:";
     cin>>aa;
     cout<<"成绩:";
     cin>>bb;
     cout<<"学号:";
     cin>>cc;
     cout<<"性别:";
     cin>>dd;
     strcpy(s->mingzi,aa);
     s->chengji=bb;
     s->xuehao=cc;
     strcpy(s->xingbie,dd);
     s->next=NULL;
     p->next=s;
}


/***************************************************************************************************************************************
*功能描述:查询单个学生的所有信息
*输入参数:aa--对应所要查询的学生姓名
*输出参数:p->xingming---姓名    p->chengji---成绩   p->xuehao---学号   p->xingbie---性别
*返回值:无
****************************************************************************************************************************************

void chaxun(linknode *L)//通过输入的姓名来查询已存储的学生信息
{
     linknode *p=L;
     char aa[99];
     cout<<"请输入要查询的姓名:";
     cin>>aa;
     int t=1;
     while(p!=NULL&&t!=99)
     {
          if(!(strcmp(p->mingzi,aa)))
          {
               cout<<"姓名        成绩         学号          性别"<<endl;
               cout<<p->mingzi<<"        "<<p->chengji<<"           "<<p->xuehao<<"            "<<p->xingbie<<endl<<endl<<endl;
               t=99;
          }
          p=p->next;
     }
     if(p==NULL)
          cout<<"并没有这名学生的信息!"<<endl<<endl<<endl;
}


/*****************************************************************************************************************************************
*功能描述:修改单个学生的所有信息
*输入参数:xx---要修改的学生姓名    aa--修改后的学生姓名   bb---修改后的学生成绩  cc---修改后的学生学号   dd---修改后的学生性别
*输出参数:无
*返回值:无

*特殊说明:如果选择了单项修改的话,只需输入你要修改的单项学生信息即可,例如:要修改成绩,只需输入aa即可
******************************************************************************************************************************************

void xiugai(linknode *&L)//修改学生信息
{
     linknode *p=L;
     char xx[99];
     cout<<"请输入要修改的学生姓名:";
     cin>>xx;
     char aa[99],dd[99];
     A bb,cc;
     int t=1;
     while(p!=NULL&&t!=99)
     {
          if(!(strcmp(p->mingzi,xx)))
          {
               cout<<"已找到该学生数据,接下来请依次输入该学生的数据。"<<endl;
               cout<<"成绩:";
               cin>>bb;
               cout<<"学号:";
               cin>>cc;
               cout<<"性别:";
               cin>>dd;
               p->chengji=bb;
               p->xuehao=cc;
               strcpy(p->xingbie,dd);
               t=99;
          }
          if(t!=99)
               p=p->next;
     }
     if(p==NULL)
          cout<<"并没有这名学生的信息!"<<endl<<endl<<endl;
}
void xiugaichengji(linknode *&L)//修改学生的成绩
{
     linknode *p=L;
     char xx[99];
     cout<<"请输入要修改的学生姓名:";
     cin>>xx;
     char aa[99],dd[99];
     A bb,cc;
     int t=1;
     while(p!=NULL&&t!=99)
     {
          if(!(strcmp(p->mingzi,xx)))
          {
               cout<<"已找到该学生数据,输入要修改后的成绩"<<endl;
               cout<<"成绩:";
               cin>>bb;
               p->chengji=bb;
               t=99;
          }
          if(t!=99)
               p=p->next;
     }
     if(p==NULL)
          cout<<"并没有这名学生的信息!"<<endl<<endl<<endl;
}
void xiugaixuehao(linknode *&L)//修改学生的学号
{
     linknode *p=L;
     char xx[99];
     cout<<"请输入要修改的学生姓名:";
     cin>>xx;
     char aa[99],dd[99];
     A bb,cc;
     int t=1;
     while(p!=NULL&&t!=99)
     {
          if(!(strcmp(p->mingzi,xx)))
          {
               cout<<"已找到该学生数据,接下来请输入修改后的学号。"<<endl;
               cout<<"学号:";
               cin>>cc;
               p->xuehao=cc;
               t=99;
          }
          if(t!=99)
               p=p->next;
     }
     if(p==NULL)
          cout<<"并没有这名学生的信息!"<<endl<<endl<<endl;
}
void xiugaixingbie(linknode *&L)//修改学生的性别
{
     linknode *p=L;
     char xx[99];
     cout<<"请输入要修改的学生姓名:";
     cin>>xx;
     char aa[99],dd[99];
     A bb,cc;
     int t=1;
     while(p!=NULL&&t!=99)
     {
          if(!(strcmp(p->mingzi,xx)))
          {
               cout<<"已找到该学生数据,接下来请依次输入修改后的性别。"<<endl;
               cout<<"性别:";
               cin>>dd;
               strcpy(p->xingbie,dd);
               t=99;
          }
          if(t!=99)
               p=p->next;
     }
     if(p==NULL)
          cout<<"并没有这名学生的信息!"<<endl<<endl<<endl;
}

/********************************************************************************************************************************************************
*功能描述:删除已存储号的单个学生的所有信息
*输入参数:aa---对应想要删除的学生姓名
*输出参数:无
*返回值:无
*********************************************************************************************************************************************************

void shanchu(linknode *&L)//删除学生信息
{
     linknode *p=L;
     char aa[99];
     cout<<"请输入删除的学生姓名:";
     cin>>aa;
     int t=1;
     while(p!=NULL&&t!=99)
     {
          if(!(strcmp(p->next->mingzi,aa)))
          {
               p->next=p->next->next;
               t=99;
               cout<<"已删除"<<aa<<"的所有数据"<<endl<<endl<<endl;
          }
          if(t!=99)
               p=p->next;
     }
     if(p==NULL)
          cout<<"并没有这名学生的信息!"<<endl<<endl<<endl;
}





标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景与意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究与应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计与管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全与数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计与实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现与测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试与分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化与改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
在金融行业中,对信用风险的判断是核心环节之一,其结果对机构的信贷政策和风险控制策略有直接影响。本文将围绕如何借助机器学习方法,尤其是Sklearn工具包,建立用于判断信用状况的预测系统。文中将涵盖逻辑回归、支持向量机等常见方法,并通过实际操作流程进行说明。 一、机器学习基本概念 机器学习属于人工智能的子领域,其基本理念是通过数据自动学习规律,而非依赖人工设定规则。在信贷分析中,该技术可用于挖掘历史数据中的潜在规律,进而对未来的信用表现进行预测。 二、Sklearn工具包概述 Sklearn(Scikit-learn)是Python语言中广泛使用的机器学习模块,提供多种数据处理和建模功能。它简化了数据清洗、特征提取、模型构建、验证与优化等流程,是数据科学项目中的常用工具。 三、逻辑回归模型 逻辑回归是一种常用于分类任务的线性模型,特别适用于二类问题。在信用评估中,该模型可用于判断借款人是否可能违约。其通过逻辑函数将输出映射为0到1之间的概率值,从而表示违约的可能性。 四、支持向量机模型 支持向量机是一种用于监督学习的算法,适用于数据维度高、样本量小的情况。在信用分析中,该方法能够通过寻找最佳分割面,区分违约与非违约客户。通过选用不同核函数,可应对复杂的非线性关系,提升预测精度。 五、数据预处理步骤 在建模前,需对原始数据进行清理与转换,包括处理缺失值、识别异常点、标准化数值、筛选有效特征等。对于信用评分,常见的输入变量包括收入水平、负债比例、信用历史记录、职业稳定性等。预处理有助于减少噪声干扰,增强模型的适应性。 六、模型构建与验证 借助Sklearn,可以将数据集划分为训练集和测试集,并通过交叉验证调整参数以提升模型性能。常用评估指标包括准确率、召回率、F1值以及AUC-ROC曲线。在处理不平衡数据时,更应关注模型的召回率与特异性。 七、集成学习方法 为提升模型预测能力,可采用集成策略,如结合多个模型的预测结果。这有助于降低单一模型的偏差与方差,增强整体预测的稳定性与准确性。 综上,基于机器学习的信用评估系统可通过Sklearn中的多种算法,结合合理的数据处理与模型优化,实现对借款人信用状况的精准判断。在实际应用中,需持续调整模型以适应市场变化,保障预测结果的长期有效性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值