C语言员工信息管理系统源代码

今天分享: C语言员工信息管理系统源代码,供大家参考,具体内容如下

/*******************************************************************************
* 文件名:UI.Cpp     *
*                    *
* 文件功能: 该文件主要是定义(实现)和用户操作有关的一些函数,之所以把和用户 *
* 操作有关的函数单独放到ui.c中,是为了使程序结构更加清晰,源代码更   *
* 容易管理,这也是遵循结构化程序设计的要求(模块化、层次化)  *
*      *
* 作者:                  *
*                    *
*******************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ui.h"

//选择身份
void UserOperateChoose(ListType L)
{
 int option = 0;

 do
 {

 //提示用户操作选择
 PrintOptionChoose( );
 scanf("%d", &option );

 //根据用户选择调用相关函数完成指定的操作
 switch(option )
 {
 //添加一个员工
 /* case 1: 

 UserOperateOne(L);
 break;*/

 //删除员工
 /* case 2:
 DelStu(L);
 break;

 //修改员工
 case 3:
 ModifyStu(L);
 break;   */

 //查询某个员工
 case 1:
 UserOperatemanager(L);

 break;

 //排序
 /* case 3:
 UserOperateThree(L);
 break;*/
 //打印所有员工信息
 case 2:
 UserOperateVisitor(L);

 break;

 default: break;
 }
 }while(option );

 //程序退出时,显示BYEBYE
 PrintHello( );
}

//该函数根据管理员的选择,完成指定的操作
void UserOperateVisitor(ListType L)
{
 int option = 0;

 //显示欢迎信息

 do
 {
 //提示用户操作选择
 PrintOptionVisitor( );
 scanf("%d", &option );

 //根据用户选择调用相关函数完成指定的操作
 switch(option )
 {
 //添加一个员工
 /* case 1: 

 UserOperateOne(L);
 break;*/

 //删除员工
 /* case 2:
 DelStu(L);
 break;

 //修改员工
 case 3:
 ModifyStu(L);
 break;   */

 //查询某个员工
 case 1:
 UserOperateTwo(L);

 break;

 //排序
 /* case 3:
 UserOperateThree(L);
 break;*/
 //打印所有员工信息
 case 2:
 PrntAll(L);

 break;

 default: break;
 }
 }while(option );

 //程序退出时,显示BYEBYE

}

//该函数根据管理员的选择,完成指定的操作
void UserOperatemanager(ListType L)
{
 int option = 0;

 //用密码进入系统
 password();

 do
 {
 //提示用户操作选择
 PrintOption( );
 scanf("%d", &option );

 //根据用户选择调用相关函数完成指定的操作
 switch(option )
 {
 //添加一个员工
 case 1: 

 UserOperateOne(L);
 break;

 //删除员工
 /* case 2:
 DelStu(L);
 break;

 //修改员工
 case 3:
 ModifyStu(L);
 break;   */

 //查询某个员工
 case 2:
 UserOperateTwo(L);

 break;

 //排序
 case 3:
 UserOperateThree(L);
 break;
 //打印所有员工信息
 case 4:
 PrntAll(L);

 break;

 default: break;
 }
 }while(option );

 //程序退出时,显示BYEBYE

}

//该函数为基本操作的二级菜单,完成指定的操作
void UserOperateOne(ListType L)
{
 int option = 0;

 do
 {
 //提示用户操作选择
 PrintOptionOne( );
 scanf("%d", &option );

 //根据用户选择调用相关函数完成指定的操作
 switch(option )
 {
 //添加一个员工
 case 1:
 AddStu(L);
 break;

 //删除员工
 case 2:
 DelStu(L);
 break;

 //修改员工
 case 3:
 ModifyStu(L);
 break;

 //返回上级菜单
 case 0:
 return;
 break;

 /* //查询某个员工
 case 5:
 chkStuname(L);
 break;

 //打印所有员工信息
 case 6:
 PrntAll(L);
 break;

 //按ID号排序
 case 7:
 sortbyID(L);

 break;
 case 8:
 //按姓名排序
 sortbyname(L);
 break;
 case 9:
 //按部门分类显示信息
 sortbyoffice(L);
 break;*/

 default: break;
 }
 }while(option );

 //程序退出时,显示BYEBYE
 //PrintHello( );
}

//该函数为基本操作的第二个二级菜单,完成指定的操作
void UserOperateTwo(ListType L)
{
 int option = 0;

 do
 {
 //提示用户操作选择
 PrintOptionTwo( );
 scanf("%d", &option );

 //根据用户选择调用相关函数完成指定的操作
 switch(option )
 {
 //查询某个员工
 case 1:
 chkStu(L);
 break;

 //查询某个员工
 case 2:
 chkStuname(L);

 break;

 //返回上级菜单
 case 0:
 return;
 break;

 /* //查询某个员工
 case 5:
 chkStuname(L);
 break;

 //打印所有员工信息
 case 6:
 PrntAll(L);
 break;

 //按ID号排序
 case 7:
 sortbyID(L);

 break;
 case 8:
 //按姓名排序
 sortbyname(L);
 break;
 case 9:
 //按部门分类显示信息
 sortbyoffice(L);
 break;*/

 default: break;
 }
 }while(option );

 //程序退出时,显示BYEBYE
 //PrintHello( );
}

//该函数为基本操作的第三个二级菜单,完成指定的操作
void UserOperateThree(ListType L)
{
 int option = 0;

 do
 {
 //提示用户操作选择
 PrintOptionThree( );
 scanf("%d", &option );

 //根据用户选择调用相关函数完成指定的操作
 switch(option )
 {
 //按ID号排序
 case 1:
 sortbyID(L);

 break;
 case 2:
 //按姓名排序
 sortbyname(L);
 break;
 case 3:
 //按部门分类显示信息
 sortbyoffice(L);
 break;

 //按性别排序显示信息
 case 4:

 sortbysex(L);
 break;

 //按年龄排序显示信息
 case 5:
 sortbyage(L);
 break;

  //按电话排序显示信息 

 case 6:
 sortbyphone( L);
 break;
  //按地址排序显示信息
 case 7:
 sortbyaddress( L);
 break;

 //按工资排序显示信息
 case 8:
 sortbypay( L);
 break;

 //按电子邮件排序显示信息
 case 9:

 sortbyemil( L);
 break;

 //返回上级菜单
 case 0:
 return;
 break;

 /* //查询某个员工
 case 5:
 chkStuname(L);
 break;

 //打印所有员工信息
 case 6:
 PrntAll(L);
 break;

 //按ID号排序
 case 7:
 sortbyID(L);

 break;
 case 8:
 //按姓名排序
 sortbyname(L);
 break;
 case 9:
 //按部门分类显示信息
 sortbyoffice(L);
 break;*/

 default: break;
 }
 }while(option );

 //程序退出时,显示BYEBYE
 //PrintHello( );
}

/* 用户操作界面启动时,在显示器上显示一些欢迎信息 */
void PrintWelcome( )
{
 puts(" ");
 puts("********************************************************************" );
 puts("      欢迎使用员工管理系统!" );
 puts("********************************************************************" );
 puts("    若有有问题请在留言区交流");
 puts("********************************************************************" );

}

/* 在显示器上显示用户可以进行的操作,以及操作的方法 */
void PrintOption( )
{
 puts(" ");
 puts("请选择操作:" );
 puts("0:返回 " );
 puts("1:进入基本操作菜单");
 puts("2:进入员工查询系统");
 puts("3:进入信息排序系统");
 puts("4:打印员工信息");

}

//选择身份
void PrintOptionChoose( )

{
 puts(" ");
 puts("请选择身份:" );
 puts("0:退出系统 " );
 puts("1:以管理员身份进入 " );
 puts("2:以游客身份进入 " );

}

//显示第一个二级的提示信息
void PrintOptionOne( )
{
 puts(" ");
 puts("请选择操作:" );
 puts("0:返回 " );
 puts("1:添加员工    2:删除员工    3:修改员工信息" );

}
//显示第二个二级的提示信息
void PrintOptionTwo( )
{
 puts(" ");
 puts("请选择操作:" );
 puts("0:返回 " );
 puts("1:按员工ID号查询   2:按员工姓名查询" );

}

//显示第三个二级的提示信息
void PrintOptionThree( )
{
 puts(" ");
 puts("请选择操作:" );
 puts("0:返回 " );
 puts("1:按ID号排序显示信息 2:按姓名排序显示信息  3:按部门分类显示信息");
 puts("4:按性别排序显示信息 5:按年龄排序显示信息  6:按电话排序显示信息");
 puts("7:按地址排序显示信息 8:按工资排序显示信息  9:按电子邮件排序显示信息");

}

//显示游客查询系统
void PrintOptionVisitor( )
{
 puts(" ");
 puts("请选择操作:" );
 puts("0:返回 " );

 puts("1:进入员工查询系统");

 puts("2:打印员工信息");
}

/* 程序退出时,在显示器上显示一些感谢语言,以给使用者一个好印象 */
void PrintHello( )
{

 puts("********************************************************************" );
 puts("     谢谢使用员工管理系统,再见!" );
 puts("********************************************************************" );
 puts(" ");

}

//比较两个员工信息的学号是否相等
//若相等则返回TRUE,否则返回FALSE
//当调用线性表操作函数int LocateElem(ListType L, ElemType e, STATUS (*compare)(ElemType e1, ElemType e2)
//的时候,将该函数名作为第三个参数传递给compare
STATUS IsEqual(ElemType e1, ElemType e2 )
{
 if( strcmp(e1.ID, e2.ID)==0 )
 return TRUE;

 return FALSE;
}
STATUS IsEqual2(ElemType e1, ElemType e2 )
{
 if( strcmp(e1.name, e2.name)==0 )
 return TRUE;

 return FALSE;
}

//往线性表中添加一个员工
void AddStu(ListType L)
{
 ElemType stu;

 printf("请输入员工的ID号(不超过15位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.ID );
 printf("请输入员工的姓名(不超过15位):" );
 gets(stu.name );
 printf("请输入员工的性别(输入M/W):" );
 stu.sex=getchar();
 printf("请输入员工的年龄:" );
 scanf("%d",&stu.age);
 printf("请输入员工的电话(不超过20位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.phone);
 printf("请输入员工的地址(不超过100位):" );
 gets(stu.address);
 printf("请输入员工的电子邮件(不超过50位):" );
 gets(stu.email);
 printf("请输入员工的工资(不超过10位):" );
 gets(stu.pay);
 printf("请输入员工的工龄:" );
 scanf("%d",&stu.workingyears);
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 printf("请输入员工的所在部门(不超过100位):" );
 gets(stu.office);

 //判断线性表中是否已经存在该ID号的员工,如果已经存在,则放弃插入操作
 if( LocateElem(L, stu, IsEqual) )
 {
 puts("操作失败,该员工已经存在" );
 return ;
 }

 //将该学生放入线性表中
 //为简单起见,我们把新添加的结点放到线性表的前面
 if( ListInsert(L, 1, stu ) )
 puts("操作成功" );
 else
 puts("操作失败" );
}

//从线性表中删除一个员工,根据员工的ID号决定删除哪个员工
void DelStu(ListType L)
{
 ElemType stu;
 int pos;

 printf("请输入员工的ID号(不超过15位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.ID );
 pos = LocateElem(L, stu, IsEqual ); //如果存在该ID号的V,则返回其在线性表中的位序,如果不存在返回0
 if(pos )
 {
 if(ListDelete(L, pos, stu) )
 {
 puts("操作成功");
 return;
 }
 }

 puts("操作失败" );
}

//修改员工成绩,根据ID号决定修改哪个员工的成绩
void ModifyStu(ListType L)
{
 int pos;
 ElemType stu;

 printf("请输入员工的ID号(不超过15位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.ID );
 printf("请输入员工的姓名(不超过15位):" );
 gets(stu.name );
 printf("请输入员工的性别(输入M/W):" );
 scanf("%c",&stu.sex);
 printf("请输入员工的年龄:" );
 scanf("%d",&stu.age);
 printf("请输入员工的电话(不超过20位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.phone);
 printf("请输入员工的地址(不超过100位):" );
 gets(stu.address);
 printf("请输入员工的电子邮件(不超过50位):" );
 gets(stu.email);
 printf("请输入员工的工资(不超过10位):" );
 gets(stu.pay);
 printf("请输入员工的工龄:" );
 scanf("%d",&stu.workingyears);
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 printf("请输入员工的所在部门:" );
 gets(stu.office);

 pos = LocateElem(L, stu, IsEqual );
 if(pos > 0 )
 {
 ListModify(L, pos, stu );
 puts("操作成功" );
 }
 else
 {
 puts("操作失败" );
 }

}

//根据学号查询某个员工的成绩
void chkStu(ListType L)
{
 int pos;
 ElemType stu;

 printf("请输入员工的ID号(不超过15位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.ID );

 if(pos = LocateElem(L, stu, IsEqual) )
 {
 GetElem(L, pos, stu );
 PrntOneStu(stu );
 }
 else
 {
 puts("操作失败" );
 }

}

//根据姓氏查询某个员工的成绩
void chkStuname(ListType L)
{
 int pos;
 ElemType stu;

 printf("请输入员工的姓氏(不超过15位):" );
 getchar(); //吃掉前面的回车键,否则后面的字符串输入时会出错
 gets(stu.name);

 if(pos = LocateElem(L, stu, IsEqual2) )
 {
 GetElem(L, pos, stu );
 PrntOneStu(stu );
 }
 else
 {
 puts("操作失败" );
 }

}

//成绩统计,统计全体员工的平均成绩
/*void StateScore(ListType L)
{
float total[2] = {0.0, 0.0};
int num = 0;
ElemType e;
 while(GetElem(L, num+1, e ) ) //GetElem(...)返回值为FALSE时说明没有位序为num+1的数据
 {
 num++;
 total[0] += e.score[0];
 total[1] += e.score[1];
 }

 if(num > 0 )
 {
 printf("平均成绩分别为:%.2f, %.2f\n", total[0]/num, total[1]/num );
 }
 else
 {
 puts("没有数据信息" );
 }

}*/

//打印一个员工的信息
//调用ListTraverse()函数的时候,将该函数的名字作为第二个参数传递给visit
STATUS PrntOneStu(ElemType stu )
{
 printf("ID号:%s 姓名:%s 性别:%c 年龄:%d 电话:%s 地址:%s 电子邮件:%s 工资:%s 工龄:%d 所在部门:%s\n", stu.ID, stu.name, stu.sex,stu.age,stu.phone,stu.address,
 stu.email,stu.pay, stu.workingyears ,stu.office);

 return OK;
}

//打印所有学生信息
void PrntAll(ListType L)
{

 ListTraverse(L, PrntOneStu );

}

//用于做新的链表 

//按ID排序
void sortbyID(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.ID,p2->data.ID)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 printf("降序排序成功\n");
 PrntAll(head);

}

//按姓名排序
void sortbyname(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.name,p2->data.name)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 printf("降序排序成功\n");
 PrntAll(head);

}

//按性别分类显示信息
void sortbysex(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (p1->data.sex>p2->data.sex)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}

//按年龄分类显示信息
void sortbyage(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (p1->data.age>p2->data.age)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}

//按电话分类显示信息
void sortbyphone(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.phone,p2->data.phone)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}

//按地址分类显示信息
void sortbyaddress(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.address,p2->data.address)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}

//按工资分类显示信息
void sortbypay(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.pay,p2->data.pay)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}
//按邮件地址分类显示信息
void sortbyemil(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.email,p2->data.email)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}

//按部门分类显示信息
void sortbyoffice(struct lnode *head)
{
 struct lnode *p1,*p2,*l;

 l=(struct lnode *)malloc(sizeof(struct lnode));
 l->next=NULL;

 for (p1=head;p1->next!=NULL;p1=p1->next)
 {
 for (p2=p1->next;p2!=NULL;p2=p2->next)
 {
 if (strcmp(p1->data.office,p2->data.office)==-1)
 {
 l->data=p1->data;
 p1->data=p2->data;

 p2->data=l->data;

 }
 }
 }
 PrntAll(head);

}

//按密码进入系统
void password()
{
 char password[7]="123456"; 

 int choice;
 char s[7];
 int flag=0;
 int n=3;
 do
 {
 printf("请你输入密码:\n");
 scanf("%s",s);
 if(strcmp(s,password)==0)//若密码正确
 {
 printf("恭喜你成功登陆了\n\n\n");
 flag=1; 

 break;
 }
 else
 {
 printf("输入有错误请重新输入:\n");
 n--;
 }
 }while(n>0); 

 if(!flag)
 {
 printf("哈哈,O(∩_∩)O哈!,想暴力破解是行不通的\n");
 puts("若有有问题留言区交流");
 exit(0); 

 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言员工业绩销售源代码

    本文实例为大家分享了C语言员工业绩销售的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<conio.h> #define N 100 struct sales { int num; char name[20]; char sex[10]; long int mon[4]; long int total; long int aver; }sa[N]; void showmenu(); void

  • C语言员工信息管理系统源代码

    今天分享: C语言员工信息管理系统源代码,供大家参考,具体内容如下 /******************************************************************************* * 文件名:UI.Cpp * * * * 文件功能: 该文件主要是定义(实现)和用户操作有关的一些函数,之所以把和用户 * * 操作有关的函数单独放到ui.c中,是为了使程序结构更加清晰,源代码更 * * 容易管理,这也是遵循结构化程序设计的要求(模块化.层次化) *

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • C语言学生信息管理系统小项目

    本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:system("clear")这个系统调用是linux的,windows里面用system("cls") ) (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.试设计一学生信息管理系统,使之能提供以下功

  • C语言学生信息管理系统

    本文实例为大家分享了C语言学生信息管理系统的具体代码,供大家参考,具体内容如下 列表内容 系统以菜单方式工作 学生信息录入功能(学生信息用文件保存)-输入 学生信息浏览功能--输出 查询.排序功能--算法 1.按学号查询 2.按姓名查询 学生信息的删除与修改 界面简单明了: 有一定的容错能力,比如输入的成绩不在0-100之间,就提示不合法,要求重新 输入: 用链表的方式实现. #include <stdio.h> #include <string.h> #include <s

  • Java实现员工信息管理系统

    在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为“员工信息管理系统”(或“员工收录系统”),主要是通过输入员工的id.姓名信息,实现简单的增删改查功能. 该项目主要在DOS窗口的控制台或者Eclipse的控制台上进行操作.操作界面如下: 该项目的文件结构如下: Step 1: 入口类SystemMain的代码为: package empsystem; import java.util.Scanner;

  • Python实现员工信息管理系统

    本文实例为大家分享了Python实现员工信息管理系统的具体代码,供大家参考,具体内容如下 1.职员信息管理系统 要求: 1.依次从键盘录入每位员工的信息,包括姓名.员工id.身份证号:2.身份证号十八位,要求除了第18位可以为x,其余都只能为数字:3.id须由5位数字组成:4.否则提示用户重新输入不符合规则的那几项:5.能随时查看已录入的员工及其信息: 提示: 1.字符串.isdigit()可以判断字符串是否是全是数字:2.if 字符串[-1] in “xX” 判断最后一个是不是x或X:3.每位

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • C语言学生成绩管理系统源代码

    大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; float kaoshi; double zongping; }stu[4]; void main() { void a(); void b(); void

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

随机推荐