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

/*

制作一个学籍管理系统:要求包含以下模块,模块用子函数完成1)输入若干条(20)条记录(包含学号,姓名,科目,科目成绩,学期学分)2)显示所有记录3)按学号排序4)插入一条记录5)查找并显示一条记录6)按姓名查找并删除一条记录7)显示统计信息  PS:因为是初学,不要用指针,用函数的做法做吧~~别做的太高端了。

学籍管理系统

姓名:****              学校:湖南理工学院信息学院              专业:信息工程

*/

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

//姓名,学号,英语,语文,数学三种成绩

#include

#include

#include

#define maxnumber 30

int student_number;

int count1=0,count2=0,Operate1=3;

//FILE *stream;

typedef struct stu{

int idnumber;

char name[20];

double English_score;

double chinese_score;

double math_score;

}Student;

//按学号排序

void putout_one(Student *sp)

{

for( int j=0;j<10;j++)

printf("******");

printf("\n");

printf("     %d    %s              %.1f %.1f         %.1f\n",(*sp).idnumber,(*sp).name,(*sp).English_score,(*sp).chinese_score,(*sp).math_score);

for( j=0;j<10;j++)

printf("******");

printf("\n");

}

void putout_lot(Student *student)

{

for(int i=0;i<=Operate1;i++)

{

for(int j=0;j<10;j++)

printf("******");

printf("\n");

printf("     %d    %s              %.1f %.1f         %.1f\n",student[i].idnumber,student[i].name,student[i].English_score,student[i].chinese_score,student[i].math_score);

}

for( int j=0;j<10;j++)

printf("******");

printf("\n");

}

void input_student(Student *S)//输入插入学生的信息

{

//printf("请输入第%d位学生(学号,名字,语文,英语,数学)\n",i+1);

scanf("%d",&(*S).idnumber);

scanf("%s",&(*S).name);

scanf("%lf%lf%lf",&(*S).chinese_score,&(*S).English_score,&(*S).math_score);

}

void id_find_in(Student *S,Student *q)//把新的学生信息加入表单

{

Student *p=S,*t;

while(count1

{

t=p;

p++;

count1++;

}

*t=*q;

count1=0;

Operate1++;

}

void insert_element(Student *S)//插入学生信息

{

printf("请输入1位学生(学号,名字,语文,英语,数学)\n");

Student *temp=(Student *)malloc(sizeof(Student)),*q=S;

input_student(temp);

id_find_in(S,temp);

}

void delet_element(Student *S,int id_n)

{

Student *p=S,*t;

while(count1

{

if((*p).idnumber==id_n)

{

t=p;

printf("已删除%d号学生信息\n",(*p).idnumber);

while(count2

{

*(t-1)=*(++t);

count2++;

}

break;

}

count1++;

p++;

}

count1=0;

count2=0;

Operate1--;

}

int junge(char*a,char*b)

{

char *p=a,*q=b;

while(*p!='\0')

{

if(*p==*q)

{

p++;

q++;

continue;

}

else

break;

}

if(*p=='\0'&&*q=='\0')

return 1;

else

return 0;

}

void show_stu_element(Student*S,char*sp)//显示某人信息(功能已实现)

{

Student *p=S;

while(count1

{

if(junge((*p).name,sp))

{

printf("已找到此人:%s\n",(*p).name);

putout_one(p);

p=S;

break;

}

else

{

p++;

count1++;

continue;

}

}

if(p!=S)

printf("查无此人!\n");

count1=0;

}

void id_sort(Student *S)

{

Student *temp=(Student*)malloc(sizeof(Student)),*q=S,*t;

int num=Operate1;

while(count1

{

t=q+1;

while(count2

{

if( (*q).idnumber> (*t).idnumber)

{

*temp=*q;

*q=*t;

*(t)=*temp;

//      printf("%d\n",(*t).idnumber);

}

count2++;

t++;

}

num--;

q++;

count2=0;

count1++;

//q=q+sizeof(Student);

}

count1=0;

count2=0;

}

void count_passnumber(Student *S)

{

Student *p=S;

int e_p_number=0,m_p_number=0,c_p_number=0,num=0;

while(num<=Operate1)

{

if(p->English_score>=60)

e_p_number++;

if(p->math_score>=60)

m_p_number++;

if(p->chinese_score>=60)

c_p_number++;

num++;

p++;

}

printf("/***学生总人数=:%d\n",Operate1);

printf("/***英语过关人数=%d       数学过关人数=%d 语文过关人数=%d\n",e_p_number,m_p_number,c_p_number);

printf("/***英语挂科人数=%d       数学挂科人数=%d 语文挂科人数=%d\n",Operate1+1-e_p_number,Operate1+1-m_p_number,Operate1+1-c_p_number);//因为数组下标是从0开始的

}

void main()

{

Student student[maxnumber];

//stream=freopen("in.txt","r",stdin);

int Operate=3;int i;int id_n;

char student_element[20];

for(i=0;i

{

printf("请输入第%d位学生(学号,名字,语文,英语,数学)\n",i+1);

scanf("%d",&student[i].idnumber);

scanf("%s",&student[i].name);

scanf("%lf%lf%lf",&student[i].chinese_score,&student[i].English_score,&student[i].math_score);

}

//fclose(stream);

for( i=0;Operate!=0;i++)

{

printf("输入:0.退出。\n1.输入学生信息\n2.按姓名查找并删除学生信息\n3.按学号排序\n4.查找显示一位学生信息     \n5.显示统计记录(成员数、每科平均分)\n6.输出每科及格人数和不及格人数\n7(default).操作完成,等待用户输入:\n");

scanf("%d",&Operate);

switch(Operate)

{

case 1:insert_element(student);     break;

case 2:      scanf("%d",&id_n);  delet_element(student,id_n);       break;

case 3:id_sort(student);break;

case 4:scanf("%s",student_element);  show_stu_element(student,student_element);break;

case 5:system(“cls”);  putout_lot(student);break;

case 6:count_passnumber(student);break;

default:    printf("请输入:\n");continue;

}

if(Operate==0)

break;

}

}

加入了一个统计函数后的结果!

------------------------------------------------------------------------------------------------------2013年5月19日作

c语言mysql 学生信息管理系统_学生信息管理系统学生时代小作品源码(C语言版)...相关推荐

  1. 青年烤饼上饼顺序系统学生时代小作品源码(C语言版)

    /*****************************************************************************/ /* 煎饼上饼系统 姓名:danyuan ...

  2. java高校学生电器报修系统ssm高校后勤报修系统小程序源码和论文

    随着高校每年的扩大招生,学校人数越来越多,学校后勤报修管理的工作量也越来越繁重.使用传统的管理手段和方法,很难完成大量的信息分析和处理.因此,充分利用网络资源和信息化技术,建设一套基于校园网的学校后勤 ...

  3. 外卖小程序源码+后台_外卖cps外卖优惠券 赚钱小程序源码

    第一步: 美团联盟 https://union.meituan.com 阿里妈妈联盟(淘宝联盟)用于饿了么 https:// pub.alimama.com 美团/饿了么外卖CPS联盟返利公众号小程序 ...

  4. C语言写的小游戏源码,c语言小游戏源码(华容道)

    [实例简介] [实例截图]见截图 [核心代码] #include #include #include #include int c=0,a[8][8]= {0},n=0,x,y,b[8][8]= {0 ...

  5. java毕业设计腾讯网游辅助小助手源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计腾讯网游辅助小助手源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计腾讯网游辅助小助手源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技 ...

  6. 易语言mysql数据同步程序_易语言mssql和mysql数据自动同步源码

    易语言mssql和mysql数据自动同步源码 易语言mssql和mysql数据自动同步源码 系统结构:RefreshTask,ComputeEndTime,ComputeOneTime,Compute ...

  7. java高校学生综合素质测评系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java高校学生综合素质测评系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java高校学生综合素质测评系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈 ...

  8. 基于JAVA学生评奖评优管理子系统的设计与实现计算机毕业设计源码+系统+lw文档+部署

    基于JAVA学生评奖评优管理子系统的设计与实现计算机毕业设计源码+系统+lw文档+部署 基于JAVA学生评奖评优管理子系统的设计与实现计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构 ...

  9. 计算机毕业设计Python+uniapp学生课堂考勤小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp学生课堂考勤小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pyth ...

最新文章

  1. jQuery EasyUI布局容器layout实例精讲
  2. Java设计模式之行为型:迭代器模式
  3. 泛泰SKY新出品 DMB电视手机IM-U160
  4. 根据年月日计算是星期几的函数,基姆拉尔森计算公式
  5. sap中泰国有预扣税设置吗_泰国的绘图标志| Python中的图像处理
  6. Linux vsftpd(ftp)安装包安装方法
  7. 如何进行 Vue.js 框架的安装?
  8. 这售价要抢疯了?iPhone SE 2再曝光:将搭载A13芯片
  9. [tf] Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initial
  10. c语言如何调用外部文件的函数调用,keil 中如何调用其他文件的函数
  11. php100视频教程下载(全集),下载地址链接(整理后包涵解压密码)
  12. 部署VC2008应用程序
  13. 前端手册-CSS3 属性手册
  14. 低级格式化软件测试,低级格式化,几款优秀的低级格式化工具对比制作步骤
  15. 企鹅号不更新会封_我们如何为企鹅基金会筹集60,000美元
  16. iOS实现APP支持SpotLight搜索
  17. 利用YOLO实现自己的目标检测
  18. python微信发送消息过于频繁_微信发送信息频率上限?
  19. 【ROS程序】--- 1.基本时间操作和定时器
  20. 计算机应用基础图文混合排版,《Word 2010图文混合排版》教学设计与课后反思

热门文章

  1. mysql 自定义函数入门_【转】MYSQL入门学习之十三:自定义函数的基本操作
  2. java和vb.net des加密_vb.net DES加密与解密
  3. 2.9 while循环
  4. vmware虚拟的ubuntu18.04死机,尝试关闭时关机报“虚拟机xxx繁忙”
  5. #define offsetof(TYPE, MEMBER) ((size_t) ((TYPE *)0)-MEMBER)
  6. Android与Asp.Net Web服务器的文件上传下载BUG汇总[更新]
  7. 规则引擎集成接口(九)Java类对象
  8. ADO.NET常用命名空间
  9. 防止病毒迷惑了您的眼睛
  10. 一种开发AJAX的方法,ajax.dll