虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

Null

  • 学生成绩guanli

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==Null)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//统计成绩   {   printf("数学新成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语新成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机新成绩:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改学生资料   {   printf("学号:%d----修改为:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改为:",stu[a].name);   gets(stu[a].name);   printf("数学成绩:%.2f----修改为:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英语成绩:%.2f----修改为:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此学生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//删除总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否删除此条记录?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("记录已删除!\n");     }   } void delete_student2(int a,int b)//删除学生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查询总函数   {   printf("1、按学号查询\n2、按平均分最高查询\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜单调度总函数   {   print_menu();   choosemenu();   } void sort_student1(void)//排序总函数   {   printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//显示全部学生资料   {   printf("本班所有学生具体信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//显示学生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//显示表头   {   printf("  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\n");   } void input_student4(int a,int b)//覆盖原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判断学号是否重复   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替换!\n");             break;             }           case 2:             {             printf("请重新输入学生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//输出菜单   {   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("      10、退出系统\n");   printf("====================================\n");   printf("请选择:");   } void input_student2(void)//输入总函数   {   char end;   printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//输入学生信息   {   printf("学号:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("数学成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//计算学生平均成绩   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查询并输出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照数学成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英语成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照计算机成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照学号查找学生并输出   {   int num;   int c;   printf("请输入要查询的学号:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此学生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜单选择   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         运行结果:                         源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面)   #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==Null)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!

    标签: c语言

    上传时间: 2019-06-09

    上传用户:啊的撒旦

  • 二叉树子系统

    #include<stdio.h> #define TREEMAX 100 typedef struct  BT { char data; BT *lchild; BT *rchild; }BT; BT *CreateTree(); void Preorder(BT *T); void Postorder(BT *T); void Inorder(BT *T); void Leafnum(BT *T); void Nodenum(BT *T); int TreeDepth(BT *T); int count=0; void main() { BT *T=Null; char ch1,ch2,a; ch1='y'; while(ch1=='y'||ch1=='y') { printf("\n"); printf("\n\t\t             二叉树子系统"); printf("\n\t\t*****************************************"); printf("\n\t\t           1---------建二叉树            "); printf("\n\t\t           2---------先序遍历            "); printf("\n\t\t           3---------中序遍历            "); printf("\n\t\t           4---------后序遍历            "); printf("\n\t\t           5---------求叶子数            "); printf("\n\t\t           6---------求结点数            "); printf("\n\t\t           7---------求树深度            "); printf("\n\t\t           0---------返    回            "); printf("\n\t\t*****************************************"); printf("\n\t\t      请选择菜单号 (0--7)"); scanf("%c",&ch2); getchar(); printf("\n"); switch(ch2) { case'1': printf("\n\t\t请按先序序列输入二叉树的结点:\n"); printf("\n\t\t说明:输入结点(‘0’代表后继结点为空)后按回车。\n"); printf("\n\t\t请输入根结点:"); T=CreateTree(); printf("\n\t\t二叉树成功建立!\n");break; case'2': printf("\n\t\t该二叉树的先序遍历序列为:"); Preorder(T);break; case'3': printf("\n\t\t该二叉树的中序遍历序列为:"); Inorder(T);break; case'4': printf("\n\t\t该二叉树的后序遍历序列为:"); Postorder(T);break; case'5': count=0;Leafnum(T); printf("\n\t\t该二叉树有%d个叶子。\n",count);break; case'6': count=0;Nodenum(T); printf("\n\t\t该二叉树总共有%d个结点。\n",count);break; case'7': printf("\n\t\t该树的深度为:%d",TreeDepth(T)); break; case'0': ch1='n';break; default: printf("\n\t\t***请注意:输入有误!***"); } if(ch2!='0') { printf("\n\n\t\t按【Enter】键继续,按任意键返回主菜单!\n"); a=getchar(); if(a!='\xA') { getchar(); ch1='n'; } } } } BT *CreateTree() { BT *t; char x; scanf("%c",&x); getchar(); if(x=='0') t=Null; else { t=new BT; t->data=x; printf("\n\t\t请输入%c结点的左子结点:",t->data);         t->lchild=CreateTree(); printf("\n\t\t请输入%c结点的右子结点:",t->data);         t->rchild=CreateTree();     } return t; } void Preorder(BT *T) { if(T) { printf("%3c",T->data); Preorder(T->lchild); Preorder(T->rchild); } } void Inorder(BT *T) { if(T) { Inorder(T->lchild); printf("%3c",T->data); Inorder(T->rchild); } } void Postorder(BT *T) { if(T) { Postorder(T->lchild); Postorder(T->rchild); printf("%3c",T->data); } } void Leafnum(BT *T) { if(T) { if(T->lchild==Null&&T->rchild==Null) count++; Leafnum(T->lchild); Leafnum(T->rchild); } } void Nodenum(BT *T) { if(T) { count++; Nodenum(T->lchild); Nodenum(T->rchild); } } int TreeDepth(BT *T) { int ldep,rdep; if(T==Null) return 0; else { ldep=TreeDepth(T->lchild); rdep=TreeDepth(T->rchild); if(ldep>rdep) return ldep+1; else return rdep+1; } }

    标签: 二叉树 子系统

    上传时间: 2020-06-11

    上传用户:ccccy

  • MIPI DSI标准手册 Specification for Display Serial Interface (DSI)

    MIPI Specification for DSI 1.3,MIPI DSI标准手册 V1.3版本,手册介绍了MIPI DSI所有操作方法和建议,如LP模式,HS模式等。也包含了HS模式的数据打包方式,4lane,2lane,1lane传输方式。LP模式切换到HS模式的流程和方法。DSI协议数据包种类,如Null packet,rgb packet, ycrcb packet,long data packet等。

    标签: mipi DSI

    上传时间: 2022-07-11

    上传用户:20125101110