当前位置:首页 > 代码 > 正文

教务管理代码(教务系统c语言代码)

admin 发布:2022-12-19 16:24 137


今天给各位分享教务管理代码的知识,其中也会对教务系统c语言代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

C语言编写一个教务管理系统 注:可以把这个程序也发我一下吗

#includestdio.h

#includestdlib.h

#includeconio.h

#includedos.h

#includestring.h

#define LEN sizeof(struct student)

#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"

#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum

struct student/*定义学生成绩结构体*/

{ int num;/*学号*/

  char name[15];/*姓名*/

  double elec;/*选修课*/

  double expe;/*实验课*/

  double requ;/*必修课*/

  double sum;/*总分*/

};

struct student stu[50];/*定义结构体数组*/

void in();/*录入学生成绩信息*/

void show();/*显示学生信息*/

void order();/*按总分排序*/

void del();/*删除学生成绩信息*/

void modify();/*修改学生成绩信息*/

void menu();/*主菜单*/

void insert();/*插入学生信息*/

void total();/*计算总人数*/

void search();/*查找学生信息*/

void main()/*主函数*/

{ int n;

  menu();

  scanf("%d",n);/*输入选择功能的编号*/

  while(n)

  { switch(n)

     { case 1: in();break;

       case 2: search();break;

       case 3: del();break;

       case 4: modify();break;

       case 5: insert();break;

       case 6: order();break;

       case 7: total();break;

   case 8: show();break;

       default:break;

     }

    getch();

    menu();/*执行完功能再次显示菜单界面*/

    scanf("%d",n);

  }

}

void in()/*录入学生信息*/

{ int i,m=0;/*m是记录的条数*/

  char ch[2];

  FILE *fp;/*定义文件指针*/

  if((fp=fopen("data.txt","a+"))==NULL)/*打开指定文件*/

  { 

  printf("can not open\n");

  return;

  }

  while(!feof(fp))

  {

  if(fread(stu[m] ,LEN,1,fp)==1)

  m++;/*统计当前记录条数*/

  }

  fclose(fp);

  if(m==0)

  printf("No record!\n");

  else

  {

  system("cls");

          show();/*调用show函数,显示原有信息*/

  }

  if((fp=fopen("data.txt","wb"))==NULL)

  {

  printf("can not open\n");

  return;

  }

  for(i=0;im;i++)

   fwrite(stu[i] ,LEN,1,fp);/*向指定的磁盘文件写入信息*/

  printf("please input(y/n):");

  scanf("%s",ch);

while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要录入新信息*/

{

    printf("number:");

scanf("%d",stu[m].num);/*输入学生学号*/

    for(i=0;im;i++)

    if(stu[i].num==stu[m].num)

    {

    printf("the number is existing,press any to continue!");

    getch();

    fclose(fp);

    return;

    }

     printf("name:");

 scanf("%s",stu[m].name);/*输入学生姓名*/

     printf("elective:");

     scanf("%lf",stu[m].elec);/*输入选修课成绩*/

     printf("experiment:");

 scanf("%lf",stu[m].expe);/*输入实验课成绩*/

     printf("required course:");

 scanf("%lf",stu[m].requ);/*输入必修课成绩*/

     stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ;/*计算出总成绩*/

     if(fwrite(stu[m],LEN,1,fp)!=1)/*将新录入的信息写入指定的磁盘文件*/

     {

 printf("can not save!");

 getch();

 }

     else

 {

 printf("%s saved!\n",stu[m].name);

 m++;

 }

     printf("continue?(y/n):");/*询问是否继续*/

     scanf("%s",ch);

  }

  fclose(fp);

  printf("OK!\n");

}

void show()

 { FILE *fp;

   int i,m=0;

   fp=fopen("data.txt","rb");

   while(!feof(fp))

   {

   if(fread(stu[m] ,LEN,1,fp)==1) 

   m++;

   }  

   fclose(fp);

   printf("number  name           elective    experiment  required    sum\t\n");

   for(i=0;im;i++)

       { 

   printf(FORMAT,DATA);/*将信息按指定格式打印*/

       }

     }

 

void menu()/*自定义函数实现菜单功能*/

{

  system("cls");

  printf("\n\n\n\n\n");

  printf("\t\t|---------------------STUDENT-------------------|\n");

  printf("\t\t|\t 0. exit                                |\n");

  printf("\t\t|\t 1. input record                        |\n");

  printf("\t\t|\t 2. search record                       |\n");

  printf("\t\t|\t 3. delete record                       |\n");

  printf("\t\t|\t 4. modify record                       |\n");

  printf("\t\t|\t 5. insert record                       |\n");

  printf("\t\t|\t 6. order                               |\n");

  printf("\t\t|\t 7. number                              |\n");

  printf("\t\t|\t 8. show                                |\n");

  printf("\t\t|-----------------------------------------------|\n\n");

  printf("\t\t\tchoose(0-8):");

}

void order()/*自定义排序函数*/

{ FILE *fp;

  struct student t;

  int i=0,j=0,m=0;

  if((fp=fopen("data.txt","r+"))==NULL)

     { 

printf("can not open!\n");

        return;

  }

  while(!feof(fp)) 

  if(fread(stu[m] ,LEN,1,fp)==1) 

  m++;

  fclose(fp);

  if(m==0) 

  {

  printf("no record!\n");

  return;

  }

  if((fp=fopen("data.txt","wb"))==NULL)

     {

  printf("can not open\n");

  return;}

  for(i=0;im-1;i++)

      for(j=i+1;jm;j++)/*双重循环实现成绩比较并交换*/

          if(stu[i].sumstu[j].sum)

          { t=stu[i];stu[i]=stu[j];stu[j]=t;}

  if((fp=fopen("data.txt","wb"))==NULL)

     { printf("can not open\n");return;}

  for(i=0;im;i++)/*将重新排好序的内容重新写入指定的磁盘文件中*/

      if(fwrite(stu[i] ,LEN,1,fp)!=1)

       { 

        printf("%s can not save!\n"); 

        getch();

      }

  fclose(fp);

  printf("save successfully\n");

}

void del()/*自定义删除函数*/

{FILE *fp;

  int snum,i,j,m=0;

  char ch[2];

  if((fp=fopen("data.txt","r+"))==NULL)

     { printf("can not open\n");return;}

  while(!feof(fp))  if(fread(stu[m],LEN,1,fp)==1) m++;

  fclose(fp);

  if(m==0) 

  {

  printf("no record!\n");

  return;

  }

  printf("please input the number:");

  scanf("%d",snum);

    for(i=0;im;i++)

     if(snum==stu[i].num)

     break;

     printf("find the student,delete?(y/n)");

     scanf("%s",ch);

      if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/

      for(j=i;jm;j++)

      stu[j]=stu[j+1];/*将后一个记录移到前一个记录的位置*/

      m--;/*记录的总个数减1*/

      if((fp=fopen("data.txt","wb"))==NULL)

     { printf("can not open\n");return;}

  for(j=0;jm;j++)/*将更改后的记录重新写入指定的磁盘文件中*/

      if(fwrite(stu[j] ,LEN,1,fp)!=1)

       { printf("can not save!\n");

      getch();}

  fclose(fp);

  printf("delete successfully!\n");

}

void search()/*自定义查找函数*/

{ FILE *fp;

  int snum,i,m=0;

  char ch[2];

  if((fp=fopen("data.txt","rb"))==NULL)

     { printf("can not open\n");return;}

  while(!feof(fp))  if(fread(stu[m],LEN,1,fp)==1) m++;

  fclose(fp);

  if(m==0) {printf("no record!\n");return;}

  printf("please input the number:");

  scanf("%d",snum);

  for(i=0;im;i++)

     if(snum==stu[i].num)/*查找输入的学号是否在记录中*/

     { printf("find the student,show?(y/n)");

     scanf("%s",ch);

      if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) 

        {

          printf("number  name           elective    experiment  required    sum\t\n");

          printf(FORMAT,DATA);/*将查找出的结果按指定格式输出*/

  break;

     }

     }   

  if(i==m) printf("can not find the student!\n");/*未找到要查找的信息*/

}

void modify()/*自定义修改函数*/

{ FILE *fp;

  int i,j,m=0,snum;

  if((fp=fopen("data.txt","r+"))==NULL)

     { printf("can not open\n");return;}

  while(!feof(fp))  

 if(fread(stu[m],LEN,1,fp)==1) m++;

  if(m==0) {printf("no record!\n");

  fclose(fp);

  return;

  }

  show();

  printf("please input the number of the student which do you want to modify!\n");

  printf("modify number:");

  scanf("%d",snum);

  for(i=0;im;i++)

  if(snum==stu[i].num)/*检索记录中是否有要修改的信息*/

  break;

  printf("find the student!you can modify!\n");

 

  printf("name:");

  scanf("%s",stu[i].name);/*输入名字*/

          printf("elective:");

  scanf("%lf",stu[i].elec);/*输入选修课成绩*/

          printf("experiment:");

  scanf("%lf",stu[i].expe);/*输入实验课成绩*/

          printf("required course:");

  scanf("%lf",stu[i].requ);/*输入必修课成绩*/

  printf("modify successful!");

  stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;

  if((fp=fopen("data.txt","wb"))==NULL)

     { printf("can not open\n");return;}

  for(j=0;jm;j++)/*将新修改的信息写入指定的磁盘文件中*/

  if(fwrite(stu[j] ,LEN,1,fp)!=1)

       { printf("can not save!"); getch(); }

  fclose(fp);

 }

void insert()/*自定义插入函数*/

{ FILE *fp;

  int i,j,k,m=0,snum;

  if((fp=fopen("data.txt","r+"))==NULL)

     { printf("can not open\n");return;}

  while(!feof(fp))  

 if(fread(stu[m],LEN,1,fp)==1) m++;

  if(m==0) {printf("no record!\n");

  fclose(fp);

  return;

  }

  printf("please input position where do you want to insert!(input the number)\n");

  scanf("%d",snum);/*输入要插入的位置*/

  for(i=0;im;i++)

  if(snum==stu[i].num)

  break;

  for(j=m-1;ji;j--)

           stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/

  printf("now please input the new information.\n");

          printf("number:");

  scanf("%d",stu[i+1].num);

  for(k=0;km;k++)

    if(stu[k].num==stu[i+1].num)

    {

    printf("the number is existing,press any to continue!");

    getch();

    fclose(fp);

    return;

    }

  printf("name:");

  scanf("%s",stu[i+1].name);

          printf("elective:");

  scanf("%lf",stu[i+1].elec);

          printf("experiment:");

  scanf("%lf",stu[i+1].expe);

          printf("required course:");

  scanf("%lf",stu[i+1].requ);

  stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ;

  if((fp=fopen("data.txt","wb"))==NULL)

     { printf("can not open\n");return;}

  for(k=0;k=m;k++)

  if(fwrite(stu[k] ,LEN,1,fp)!=1)/*将修改后的记录写入磁盘文件中*/

       { printf("can not save!"); getch(); }

  fclose(fp);

 }

void total()

{ FILE *fp;

  int m=0;

  if((fp=fopen("data.txt","r+"))==NULL)

     { printf("can not open\n");return;}

  while(!feof(fp))  

  if(fread(stu[m],LEN,1,fp)==1) 

  m++;/*统计记录个数即学生个数*/

  if(m==0) {printf("no record!\n");fclose(fp);return;}

  printf("the class are %d students!\n",m);/*将统计的个数输出*/

  fclose(fp);

 }

跪求c语言教务管理系统源代码

#include stdio.h

#include string.h

#include windows.h

struct student

{

long int num;

char name[20];

int age;

char sex[4];

char b[30];

char p[15];

};

int n=0;

struct student stu[100];

struct student *p;

void lr();

void ll();

void cx();

void xg();

void sc();

void main()

{

int z;

printf("+---------------------------+\n");

printf("| 欢迎使用学生信息管理系统 |\n");

printf("+---------------------------+\n");

printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");

do

{

printf("\n\t\t\t--------------------------------\n");

printf("\t\t\t+ 主菜单 |\n");

printf("\t\t\t--------------------------------\n");

printf("\t\t\t+ [1]----录入学生信息 |\n");

printf("\t\t\t+ [2]----浏览学生信息 |\n");

printf("\t\t\t+ [3]----查询学生信息 |\n");

printf("\t\t\t+ [4]----删除学生信息 |\n");

printf("\t\t\t+ [5]----修改学生信息 |\n");

printf("\t\t\t+ [0]----退出系统 |\n");

printf("\t\t\t--------------------------------\n");

printf("请输入您的选择:");

scanf("%d", z);

system("color 2f");

switch(z)

{

case 0 : break;

case 1 :lr();break;

case 2 :ll();break;

case 3 :cx();break;

case 4 :sc();break;

case 5 :xg();break;

default:printf("\n无效选项!");

}

}

while(z!= 0);

}

void lr()/*录入函数*/

{

int y;

if(n==0)

p=stu;

do

{

printf("--------------------\n");

printf("请输入学生的学号:");

scanf("%ld",p-num);

printf("请输入学生的姓名:");

scanf("%s",p-name);

printf("请输入学生的年龄:");

scanf("%d",p-age);

printf("请输入学生的性别:");

scanf("%s",p-sex);

printf("请输入学生的地址:");

scanf("%s",p-b);

printf("请输入学生的电话:");

scanf("%s",p-p);

n++;

p++;

printf("\n1.继续输入.\n0.输入完毕.\n");

printf("请选择:");

scanf("%d",y);

}

while(y==1);

printf("提示:输入完毕!你一共输入%d个\n",n);

}

void ll()/*浏览函数*/

{

int i,j;

if(n!=0)

{ printf("学生总数:%d\n", n);

printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

printf("-----------------------------------------------------\n");

for(i=0;in;i++)

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

}

else printf("提示:无学生数据,请输入数据!");

}

void cx()/*查询函数*/

{

int c;

int w,i,j=0;

char name[20];

if(n!=0)

{

do{ printf("\n");

printf("+--------------------+\n");

printf("| 按学号查询 请按 1 |\n");

printf("| 按姓名查询 请按 2 |\n");

printf("| 取消 请按 0 |\n");

printf("+--------------------+\n");

printf("请输入您的选择:");

scanf("%d", c);

switch(c)

{

case 0:break;

case 1:

printf("请输入学生的学号;");

scanf("%ld", w);

printf("\n");

for(i=0;in;i++)

if(stu[i].num==w)

{

printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

j=1;

}

if(j==0)

printf("提示:没有该学生记录,请核对!");

break;

case 2:

printf("请输入学生的姓名:");

scanf("%s", name);

printf("\n");

for(i=0;in;i++)

if(strcmp(name,stu[i].name)==0)

{

printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

j=1;

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

}

if(j==0)

printf("提示:没有该学生记录,请核对!");

break;

default:

printf("\n提示:无效选项!");

break;

}

}while(c!= 0);

}else printf("提示:无学生数据,请输入数据!");

return;

}

void xg()/*修改函数*/

{

long int num;

int i,j,c;

if(n!=0)

{

printf("请输入您要修改的学生的学号:");

scanf("%ld", num);

printf("\n");

for(i=0;in;i++)

if(stu[i].num==num)

j=i;

do{

printf("请选择您要修改的学生的信息内容:\n");

printf("+----------------------+\n");

printf("| 姓名 请按 1 |\n");

printf("| 年龄 请按 2 |\n");

printf("| 性别 请按 3 |\n");

printf("| 学号 请按 4 |\n");

printf("| 地址 请按 5 |\n");

printf("| 电话 请按 6 |\n");

printf("| 取消 请按 0 |\n");

printf("+----------------------+\n");

printf("请输入您的选择:");

scanf("%d", c);

printf("\n");

switch(c)

{

case 0:break;

case 1:printf("请输入新姓名:");

scanf("%s",stu[j].name);

break;

case 2:printf("请输入新年龄:");

scanf("%d",stu[j].age);

break;

case 3:printf("请输入新性别:");

scanf("%s",stu[j].sex);

break;

case 4:printf("请输入新学号:");

scanf("%ld",stu[j].num);

break;

case 5:printf("请输入新地址:");

scanf("%s",stu[j].b);

break;

case 6:printf("请输入新电话:");

scanf("%s",stu[j].p);

break;

default:

printf("\n无效选项!");

break;

}

}while(c!= 0);

}else printf("提示:无学生数据,请输入数据!");

}

void sc()/*删除函数*/

{

long int num;

int i,j,e;

if(n!=0)

{

printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

printf("-----------------------------------------------------\n");

for(i=0;in;i++)

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

printf("请输入您要删除的学生的学号:");

scanf("%ld", num);

printf("\n");

for(i=0;in;i++)

if(num==stu[i].num)

j=i;

if(j!=(n-1))

{

for(e=i-1;en;e++,j++)

{

stu[j].num=stu[j+1].num;

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j].sex,stu[j+1].sex);

stu[j].age=stu[j+1].age;

strcpy(stu[j].b,stu[j+1].b);

strcpy(stu[j].p,stu[j+1].p);

n--;p--;

}

}else {n--;p--;}

printf("提示:删除完毕!");

}else printf("提示:无学生数据,请输入数据!");

}

请问在VF中,制作一个用户名和密码都是123456的教务管理系统的表单登陆界面,确定按钮的代码是什么啊?

简单的设定:

以下程序默认条件:

该表单仅有一个用户:用户名和密码均为数值型123456

用户名文本框名字为text1,密码文本框的名字是text2

那么登陆表单的确定按钮代码可以设置为:

if alltrim(thisform.text1.value)==123456 and alltrim(thisform.text2.value)==123456

messagebox("欢迎使用,登陆成功!",0,"提示信息")

else

messagebox("用户名或者密码错误!请重新输入!",0,"错误信息")

endif

thisform.refresh

急求(教务管理系统 pb9.0 源代码)毕业设计用 高分!

这是我用来交作业的程序.虽然不是自己写的.传上来再说了.

等我自己的可以用了.再传...

package jettang;

import java.lang.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

//////////////////////////////////////////////

//主类

public class STU {

public STU() {

try {

jbInit();

} catch (Exception ex) {

ex.printStackTrace();

}

}

public static void main(String args[]) {

new Frm_Main();

}

private void jbInit() throws Exception {

}

}

//主框架,数据库

class Frm_Main implements ActionListener { //throws IOException

public static final int EXIT_ON_CLOSE = 0;

public JFrame frame;

public Container c;

public JMenuBar menuBar;

public JMenu mainMenu1;

public JMenu mainMenu2;

public JMenu mainMenu3;

public JMenuItem subMenu1[] = new JMenuItem[5];

public JMenuItem subMenu2[] = new JMenuItem[7];

public JMenuItem subMenu3[] = new JMenuItem[2];

JButton toolBarButton[] = new JButton[8];

public JToolBar toolBar;

//////////////////////////////////////////////

String strTip[] = {"姓名查询...", "添加信息...",

"删除...", "修改...", "修改确认...",

"添加确认...", "删除确认...", "关于产品信息:)"};

//////////////////////////////////////////////

// String id = new String();

String name = new String();

String sex = new String();

String age = new String();

String classid = new String();

String department = new String();

String call = new String();

//////////////////////////////////////////////

Connection con;

ResultSet rs;

Statement st;

// ResultSetMetaData rsmd;

// Vector columnHeads=new Vector();

// Vector rows = new Vector();

// Vector currentRow=new Vector();

///////////////////////////////////////////////

public JLabel classidL = new JLabel("班级");

public JLabel nameL = new JLabel("姓名");

public JLabel sexL = new JLabel("性别");

public JLabel ageL = new JLabel("年龄");

public JLabel departmentL = new JLabel("单位");

public JLabel callL = new JLabel("电话");

public JLabel tittleLabel = new JLabel();

//////////////////////////////////////////////

public JTextField classidT = new JTextField();

public JTextField nameT = new JTextField();

public JTextField sexT = new JTextField();

public JTextField ageT = new JTextField();

public JTextField departmentT = new JTextField();

public JTextField callT = new JTextField();

public JTextArea textT = new JTextArea();

//////////////////////////////////////////////

//////////////////////////////////////////////

public Frm_Main() {

/////////////////////////////////////////////////

frame = new JFrame("学籍管理系统V1.0");

c = frame.getContentPane();

c.setLayout(null);

menuBar = new JMenuBar();

toolBar = new JToolBar();

toolBar.setFloatable(false);

frame.setJMenuBar(menuBar);

frame.setResizable(false);

////////////////////////////////////////////////

mainMenu1 = new JMenu("管理");

String str1[] = {"添加", "删除", "查询", " ", "关闭"};

for (int i = 0; i 5; i++) {

if (i == 3) {

mainMenu1.addSeparator();

} else {

subMenu1[i] = new JMenuItem(str1[i]);

subMenu1[i].addActionListener(this);

mainMenu1.add(subMenu1[i]);

}

}

menuBar.add(mainMenu1);

/////////////////////////////////////////////////

mainMenu2 = new JMenu("操作");

String str2[] = {"查询", "添加", "删除", "修改",

"提交修改", "提交添加", "提交删除"};

for (int i = 0; i 7; i++) {

subMenu2[i] = new JMenuItem(str2[i]);

subMenu2[i].addActionListener(this);

mainMenu2.add(subMenu2[i]);

}

menuBar.add(mainMenu2);

/////////////////////////////////////////////////

mainMenu3 = new JMenu("集体查询");

String str3[] = {"按班级...", "按单位..."};

for (int i = 0; i 2; i++) {

subMenu3[i] = new JMenuItem(str3[i]);

subMenu3[i].addActionListener(this);

mainMenu3.add(subMenu3[i]);

}

menuBar.add(mainMenu3);

////////////////////////////////////////////////

String strToolBar[] = {"查询", "添加", "删除", "修改", "提交修改",

"提交添加", "提交删除", "关于"};

for (int i = 0; i 8; i++) {

toolBarButton[i] = new JButton(strToolBar[i]);

toolBarButton[i].setToolTipText(strTip[i]);

toolBarButton[i].addActionListener(this);

toolBar.add(toolBarButton[i]);

}

toolBar.setLocation(0, 0);

toolBar.setSize(400, 30);

c.add(toolBar);

////////////////////////////////////////////////

classidL.setLocation(35, 40);

classidL.setSize(40, 20);

//classidL.setFont(new Font("",Font.BOLD,12));

c.add(classidL);

classidT.setLocation(90, 40);

classidT.setSize(200, 20);

//classidT.setEnabled(false);

c.add(classidT);

nameL.setLocation(35, 70);

nameL.setSize(40, 20);

c.add(nameL);

nameT.setLocation(90, 70);

nameT.setSize(200, 20);

c.add(nameT);

sexL.setLocation(35, 100);

sexL.setSize(40, 20);

c.add(sexL);

sexT.setLocation(90, 100);

sexT.setSize(200, 20);

c.add(sexT);

ageL.setLocation(35, 130);

ageL.setSize(40, 20);

c.add(ageL);

ageT.setLocation(90, 130);

ageT.setSize(200, 20);

c.add(ageT);

departmentL.setLocation(35, 160);

departmentL.setSize(40, 20);

c.add(departmentL);

departmentT.setLocation(90, 160);

departmentT.setSize(200, 20);

c.add(departmentT);

callL.setLocation(35, 190);

callL.setSize(40, 20);

c.add(callL);

callT.setLocation(90, 190);

callT.setSize(200, 20);

c.add(callT);

/////////////////////////////////////////////////

tittleLabel.setText("----------集体查询结果--------");

tittleLabel.setSize(300, 20);

tittleLabel.setLocation(10, 210);

c.add(tittleLabel);

////////////////////////////////////////////

textT.setSize(400, 300);

textT.setLocation(10, 240);

c.add(textT, 14);

///////////////////////////////////////////////

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(500, 650);

frame.setLocation(200, 200);

frame.setVisible(true);

conDB();

}

//以上是框架设计

//JDBC

public void conDB() {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

} catch (ClassNotFoundException e) {

JOptionPane.showMessageDialog(null, "数据库错误");

}

try {

con = DriverManager.getConnection("jdbc:odbc:jettang", "sa", "");

st = con.createStatement();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "数据库连接失败");

}

}

//关闭连接

public void closeDB() {

try {

st.close();

con.close();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "数据库关闭失败");

}

}

//事件响应

public void actionPerformed(ActionEvent e) {

//////////////////////////////////////////////

if (e.getSource() == toolBarButton[7]) {

JOptionPane.showMessageDialog(null, "当前版本1.0,designed by qyq wxm");

}

/////////////////////////////////////////////查询(按姓名)

if (e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0] ||

e.getSource() == subMenu1[2]) {

String idid = JOptionPane.showInputDialog("请输入学生姓名");

if (idid.trim() != "") {

String strSQL = "select * from stuinfo where name ='" + idid +

"'";

try {

rs = st.executeQuery(strSQL);

int count = 0;

while (rs.next()) {

classid = rs.getString("classid");

name = rs.getString("name");

department = rs.getString("department");

sex = rs.getString("sex");

age = rs.getString("age");

call = rs.getString("call");

++count;

}

if (count == 0) {

JOptionPane.showMessageDialog(null, "无此信息");

} else {

classidT.setText(classid);

nameT.setText(name);

sexT.setText(sex);

ageT.setText(age);

callT.setText(call);

departmentT.setText(department);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败");

}

}

}

/////////////////////////////////////////////关闭

if (e.getSource() == subMenu1[4]) {

frame.dispose();

closeDB();

}

/////////////////////////////////////////////添加

if (e.getSource() == subMenu1[0] || e.getSource() == subMenu2[1] ||

e.getSource() == toolBarButton[1]) {

JOptionPane.showMessageDialog(null, "请输入你添加的信息再点击提交添加键");

classidT.setEnabled(true);

classidT.setText("");

nameT.setText("");

sexT.setText("");

ageT.setText("");

callT.setText("");

departmentT.setText("");

}

/////////////////////////////////////////////提交添加

if (e.getSource() == toolBarButton[5] || e.getSource() == subMenu2[5]) {

if ((classidT.getText().trim()).equals("") ||

(nameT.getText().trim()).equals("") ||

(sexT.getText().trim()).equals("") ||

(ageT.getText().trim()).equals("") ||

(callT.getText().trim()).equals("") ||

(departmentT.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请先点击添加键");

} else {

classid = classidT.getText();

name = nameT.getText();

sex = sexT.getText();

age = ageT.getText();

call = callT.getText();

department = departmentT.getText();

String strSQL =

"insert into stuinfo(classid,name,sex,age,call,department) values('" +

classid + "','" +

name + "','" + sex + "','" + age + "','" + call + "','" +

department + "')";

try {

st.executeUpdate(strSQL);

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "添加失败");

return;

}

JOptionPane.showMessageDialog(null, "添加成功");

classidT.setText("");

nameT.setText("");

sexT.setText("");

ageT.setText("");

callT.setText("");

departmentT.setText("");

}

}

////////////////////////////////////////////提交修改

if (e.getSource() == subMenu2[4] || e.getSource() == toolBarButton[4]) {

if ((classidT.getText().trim()).equals("") ||

(nameT.getText().trim()).equals("") ||

(sexT.getText().trim()).equals("")

|| (ageT.getText().trim()).equals("") ||

(callT.getText().trim()).equals("") ||

(departmentT.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请先点击修改键");

return;

} else {

classid = classidT.getText();

name = nameT.getText();

sex = sexT.getText();

age = ageT.getText();

call = callT.getText();

department = departmentT.getText();

String strSQL = "update stuinfo set classid='" + classid +

"',sex='" + sex + "',age='" + age + "',call='" +

call + "',department='" + department + "'" +

"where name='" + name + "'";

try {

st.executeUpdate(strSQL);

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "修改失败");

return;

}

JOptionPane.showMessageDialog(null, "修改成功");

classidT.setText("");

nameT.setText("");

sexT.setText("");

ageT.setText("");

callT.setText("");

departmentT.setText("");

}

}

///////////////////////////////////////////////修改

if (e.getSource() == subMenu2[3] || e.getSource() == toolBarButton[3]) {

String idid = JOptionPane.showInputDialog

("请输入你要修改的学生姓名后点击提交修改键确认");

if (idid.trim() != "") {

String strSQL = "select * from stuinfo where name ='" + idid +

"'";

try {

rs = st.executeQuery(strSQL);

int count = 0;

while (rs.next()) {

classid = rs.getString("classid");

name = rs.getString("name");

department = rs.getString("department");

sex = rs.getString("sex");

age = rs.getString("age");

call = rs.getString("call");

++count;

}

if (count == 0) {

JOptionPane.showMessageDialog(null, "无此信息");

} else {

classidT.setText(classid);

nameT.setText(name);

sexT.setText(sex);

ageT.setText(age);

callT.setText(call);

departmentT.setText(department);

classidT.setEnabled(false);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "修改失败");

}

}

}

/////////////////////////////////////////////////删除

if (e.getSource() == subMenu2[2] || e.getSource() == toolBarButton[2] ||

e.getSource() == subMenu1[1]) {

String idDel = JOptionPane.showInputDialog

("请输入要删除的学生姓名后点击提交删除键确认");

if (idDel.trim() != "") {

String strSQL = "select * from stuinfo where name ='" + idDel +

"'";

try {

rs = st.executeQuery(strSQL);

int count = 0;

while (rs.next()) {

classid = rs.getString("classid");

name = rs.getString("name");

department = rs.getString("department");

sex = rs.getString("sex");

age = rs.getString("age");

call = rs.getString("call");

++count;

}

if (count == 0) {

JOptionPane.showMessageDialog(null, "无此信息");

} else {

classidT.setText(classid);

nameT.setText(name);

sexT.setText(sex);

ageT.setText(age);

callT.setText(call);

departmentT.setText(department);

classidT.setEnabled(false);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "删除失败");

}

}

}

//////////////////////////////////////////////////提交删除

if (e.getSource() == toolBarButton[6] ||

e.getSource() == subMenu2[6]) {

if ((classidT.getText().trim()).equals("") ||

(nameT.getText().trim()).equals("") ||

(sexT.getText().trim()).equals("") ||

(ageT.getText().trim()).equals("") ||

(callT.getText().trim()).equals("") ||

(departmentT.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请先点击删除键");

return;

} else {

name = nameT.getText();

String strSQL = "delete from stuinfo where name='" + name +

"'";

try {

st.executeUpdate(strSQL);

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "删除失败");

return;

}

JOptionPane.showMessageDialog(null, "删除成功");

classidT.setText("");

nameT.setText("");

sexT.setText("");

ageT.setText("");

callT.setText("");

departmentT.setText("");

}

}

//////////////////////////////////////////////集体查询(按班级)

if (e.getSource() == subMenu3[0]) {

classidT.setText("");

nameT.setText("");

sexT.setText("");

ageT.setText("");

callT.setText("");

departmentT.setText("");

if ((classidT.getText().trim()).equals("")) {

String idclass = JOptionPane.showInputDialog("请输入班级");

String strSQL = "select * from stuinfo where classid='" +

idclass +

"'";

try {

rs = st.executeQuery(strSQL);

displayres(rs);

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败");

}

} else {

String idclass = classidT.getText();

String strSQL = "select * from stuinfo where classid='" +

idclass +

"'";

try {

rs = st.executeQuery(strSQL);

displayres(rs);

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败");

}

}

}

////////////////////////////按单位

if (e.getSource() == subMenu3[1]) {

classidT.setText("");

nameT.setText("");

sexT.setText("");

ageT.setText("");

callT.setText("");

departmentT.setText("");

if ((departmentT.getText().trim()).equals("")) {

String idclass = JOptionPane.showInputDialog("请输入单位");

String strSQL = "select * from stuinfo where department='" +

idclass +

"'";

try {

rs = st.executeQuery(strSQL);

displayres(rs);

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败");

}

} else {

String idclass = departmentT.getText();

String strSQL = "select * from stuinfo where department='" +

idclass +

"'";

try {

rs = st.executeQuery(strSQL);

displayres(rs);

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败");

}

}

}

}

public void displayres(ResultSet rs1) throws SQLException {

//定位到达第一条记录

boolean moreRecords = rs1.next();

//如果没有记录,则提示一条消息

if (!moreRecords) {

JOptionPane.showMessageDialog(null, "无此记录");

return;

}

try {

//获取数据

getNextRow(rs1);

//刷新Table

c.validate();

}

catch (SQLException sqlex) {

sqlex.printStackTrace();

}

}

public void getNextRow(ResultSet rs2) throws

SQLException {

int count = 1;

while (rs2.next()) {

name = " 姓名:" + rs2.getString(1);

age = " 年龄:" + rs2.getString(2) + " 单位:";

department = rs2.getString(3) + "\n";

textT.append(count + "." + name + age + department);

count++;

}

}

}

那位c++高手 跪求帮忙 急需一个关于教务管理系统的c语言程序源代码

#ifndef H_STUDENT_HH

#define H_STUDENT_HH

#include "stdio.h"

#include "string.h"

#include "malloc.h"

#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/

#define numsubs 5 /*学科数目*/

typedef struct message_student /*结构体定义*/

{

char number[6];

char name[20];

char sex[4];

float subject[numsubs];

float score;

float average;

int index;

}student;

extern int numstus; /*学生数目*/

extern student *pointer; /*指向结构体数组*/

extern int lens;

int menu_select(); /*函数声明*/

int openfile(student stu[]);

int findrecord(student stud[]);

int writetotext(student stud[]);

void welcome();

void display1();

void showtable();

void sort(student stu[]);

void deleterecord(student stu[],int i);

void addrecord(student stud[]);

void display(student stud[],int n1,int n2);

void amendrecord(student stud[]);

void count(student stud[]);

void sortnum(student stud[]);

void sortnum2(student stud[]);

void sortname(student stud[]);

void sortname2(student stud[]);

void sortcount(student stud[]);

void sortcount2(student stud[]);

void statistic(student stud[]);

void display1();

#endif

#include "head.h"

int menu_select()

{

char c;

printf("\n\n");

printf(" | 1. 增加学生记录 5.统计信息 |\n");

printf(" | 2. 查询学生记录 6.打开文件 |\n");

printf(" | 3. 修改学生记录 7.保存文件 |\n");

printf(" | 4. 学生纪录排序 8.显示记录 |\n");

printf(" | 0.退出系统 |\n");

printf("\n\n");

printf("请选择(0-8):");

c=getchar();

getchar();

return (c-'0');

}

#include "head.h"

int findrecord(student stud[]) /*查找信息*/

{

char str[2];

int i,num;

if(numstus==0)

{

printf("没有可被查找的记录\n");

return -1;

}

else

{

printf("以何种方式查找?\n1.学号\t2.姓名\t3.名次\n");

gets(str);

if(str[0]=='1') /*按学号查找*/

{

printf("请输入学号:");

gets(str);

for(i=0;i=numstus;i++)

if(strcmp(str,stud[i].number)==0)

{

display(stud,i,i);

break;

}

else continue;

}

else if(str[0]=='2') /*按姓名查找*/

{

printf("请输入姓名:");

gets(str);

for(i=0;i=numstus;i++)

if(strcmp(str,stud[i].name)==0)

{

display(stud,i,i);

break;

}

else continue;

}

else if(str[0]=='3') /*按名次查找*/

{

printf("请输入名次:");

scanf("%d",num);

getchar();

for(i=0;i=numstus;i++)

if(num==stud[i].index)

{

display(stud,i,i);

break;

}

else continue;

}

if(inumstus)

{

printf("没有查找所要的信息。\n");

return -1;

}

return i;

}

}

#include"head.h"

int openfile(student stu[])

{

int i=0,j;

FILE *fp;

char filename[20],str[2];

if(numstus!=0)

{

printf("已经有记录存在,是否保存?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

writetotext(stu);

}

printf("请输入文件名:");

gets(filename);

numstus=0;

if((fp=fopen(filename,"rb+"))==NULL)

{

printf("无法打开该文件\n");

return(-1);

}

fscanf(fp,"%d",numstus);

fgetc(fp);

while(inumstus)

{

fscanf(fp,"%s",stu[i].number);

fscanf(fp,"%s",stu[i].name);

fscanf(fp,"%s",stu[i].sex);

for(j=0;jnumsubs;j++)

fscanf(fp,"%f",stu[i].subject[j]);

fscanf(fp,"%f",stu[i].score);

fscanf(fp,"%f",stu[i].average);

fscanf(fp,"%d",stu[i].index);

i++;

}

fclose(fp);

printf("文件读取成功\n");

printf("是否显示纪录?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

display(stu,0,numstus-1);

return(0);

}

#include "head.h"

void sort(student stud[])

{

int i,j=0;

char str[5];

student *p;

p=stud;

if(numstus==0)

{

printf("没有可供查询的记录!");

}

while(1)

{

for(i=0;;i++)

{

printf(" 请输入查询方式:");

printf("(直接输入回车则结束查询操作)\n");

printf("1.按照学号\t");

printf("2.按照姓名\t");

printf("3.按照名次\n");

gets(str);

if(strlen(str)==0) break;

if(str[0]=='1')

{

printf("请输入排序次序:\n");

printf("1.升序排列\t");

printf("2.降序排列\n");

gets(str);

if(str[0]=='1')

sortnum2(p);

else

sortnum(p);

display(stud,0,numstus-1);

}

else if(str[0]=='2')

{

printf("请输入排序次序:\n");

printf("1.升序排列\t");

printf("2.降序排列\n");

gets(str);

if(str[0]=='1')

sortname2(p);

else

sortname(p);

display(stud,0,numstus-1);

}

else if(str[0]=='3')

{

printf("请输入排序次序:\n");

printf("1.升序排列\t");

printf("2.降序排列\n");

gets(str);

if(str[0]=='1')

sortcount2(p);

else

sortcount(p);

display(stud,0,numstus-1);

}

else printf("请输入1~3");

printf("是否退出排序?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y') break;

}

return;

}

}

void sortnum(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j+1].number,stud[j].number)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortnum2(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j].number,stud[j+1].number)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortname(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j+1].name,stud[j].name)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortname2(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(strcmp(stud[j].name,stud[j+1].name)0)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortcount(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(stud[j+1].indexstud[j].index)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

void sortcount2(student stud[])

{

int i,j;

student temp;

student *p;

p=stud;

for(i=0;inumstus;i++)

for(j=0;jnumstus-i-1;j++)

{

if(stud[j].indexstud[j+1].index)

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

}

}

}

#include"head.h"

void statistic(student stud[]) /*新增功能,输出统计信息*/

{

int i,j=0,k=0;

char c1,str[2];

float average[numsubs],sum=0;

if(numstus==0)

printf("没有可被查找的记录\n");

else

{

while(1)

{

printf("下面将统计考试成绩\n");

printf("请选择你要统计哪科的成绩 1.A\t2.B\t3.C\t4.D\t5.E\n");

c1=getchar();

printf("\t一共有个%d记录\n",numstus); /*总共记录数*/

switch(c1)

{

case '1':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[0];

if(stud[k].subject[0]stud[i].subject[0]) k=i;

if(stud[j].subject[0]stud[i].subject[0]) j=i;

}

average[0]=sum/numstus;

printf("\t科目A的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[0]);

printf("\t科目A的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[0]);

printf("\t科目A的平均分是 %5.2f\n",average[0]); /*平均分*/

break;

case '2':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[1];

if(stud[k].subject[1]stud[i].subject[1]) k=i;

if(stud[j].subject[1]stud[i].subject[1]) j=i;

}

average[1]=sum/numstus;

printf("\t科目B的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[1]);

printf("\t科目B的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[1]);

printf("\t科目B的平均分是 %5.2f\n",average[1]); /*平均分*/

break;

case '3':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[2];

if(stud[k].subject[2]stud[i].subject[2]) k=i;

if(stud[j].subject[2]stud[i].subject[2]) j=i;

}

average[2]=sum/numstus;

printf("\t科目C的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[2]);

printf("\t科目C的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[2]);

printf("\t科目C的平均分是 %5.2f\n",average[2]); /*平均分*/

break;

case '4':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[3];

if(stud[k].subject[3]stud[i].subject[3]) k=i;

if(stud[j].subject[3]stud[i].subject[3]) j=i;

}

average[3]=sum/numstus;

printf("\t科目D的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[3]);

printf("\t科目D的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[3]);

printf("\t科目D的平均分是 %5.2f\n",average[3]); /*平均分*/

break;

case '5':

for(i=0;inumstus;i++) /*循环输入判断*/

{

sum+=stud[i].subject[4];

if(stud[k].subject[4]stud[i].subject[4]) k=i;

if(stud[j].subject[4]stud[i].subject[4]) j=i;

}

average[4]=sum/numstus;

printf("\t科目E的最高分:\n"); /*最高分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[4]);

printf("\t科目E的最低分是:\n"); /*最低分*/

printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[4]);

printf("\t科目E的平均分是 %5.2f\n",average[4]); /*平均分*/

break;

default:printf("输入错误!请输入1~5之间的数\n");

}

sum=0;

getchar();

printf("是否继续进行统计?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y') ;

else break;

}

}

}

#include"head.h"

int writetotext(student stud[]) /*将所有记录写入文件*/

{

int i=0,j;

FILE *fp;

char filename[20];

printf("输入文件名称:");

gets(filename);

fp=fopen(filename,"w");

fprintf(fp,"%d\n",numstus);

while(inumstus)

{

fprintf(fp,"%s %s %s ",stud[i].number,stud[i].name,stud[i].sex);

for(j=0;jnumsubs;j++)

fprintf(fp,"%f ",stud[i].subject[j]);

fprintf(fp,"%f %f %d ",stud[i].score,stud[i].average,stud[i].index);

i++;

}

fclose(fp);

printf("已成功存储!\n");

display(stud,0,numstus-1);

numstus=0;

return 0;

}

#include"head.h"

void welcome()

{

printf("\t*************************************************************\n");

printf("\t\t\t\t这是一个学生成绩管理系统\n\t\t\t\t 倾情奉献 欢迎使用!\n");

printf("\t*************************************************************\n");

}

void showtable()

{

printf("---------------------------------------------------------------------------------------\n");

printf("学号\t姓名\t性别\tA\tB\tC\tD\tE\t总分\t平均分\t名次\n");

printf("---------------------------------------------------------------------------------------\n");

}

void display(student stud[],int n1,int n2)

{

int i;

showtable(); /*显示表头*/

for(i=n1;i=n2;i++)

printf("%s\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\t\n",stud[i].number,stud[i].name,stud[i].sex,stud[i].subject[0],stud[i].subject[1],stud[i].subject[2],stud[i].subject[3],stud[i].subject[4],stud[i].score,stud[i].average,stud[i].index);

/*通过循环输出数据*/

}

void display1()

{

printf("\t\t本系统由计应精英一组亲情制作\n\n");

printf("\t\t制作人员列表: (按比划)\n");

printf("\t\t王庆斌\t\t\t张威\n\t\t李智\t\t\t周在峰\n\t\t杨凯\t\t\t胡杨\n");

printf("\n\n");

getchar();

}

#include"head.h"

#includestring.h

void amendrecord(student stud[])

{

char str[5]; /*供用户输入*/

int i=-1,j;

if(numstus==0) /*没有记录返回*/

printf("没有可供修改的记录!");

while(i0)

{

i=findrecord(stud);

if(i=0)

{

printf("要删除这个学生的信息吗?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

{

deleterecord(stud,i);

count(stud);

}

else

{

printf("确定要修改这个学生的信息吗?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

{

printf("下面请重新输入学生的信息:\n");

printf("请输入学号:");

gets(stud[i].number);

printf("请输入姓名:");

gets(stud[i].name);

printf("请输入性别(男/女 1/0):");

gets(str);

if(str[0]=='0')

strcpy(stud[i].sex,"女");

else

strcpy(stud[i].sex,"男");

stud[i].score=0;

printf("请按顺序输入成绩:");

for(j=0;jnumsubs;j++)

{

scanf("%f",stud[i].subject[j]);

stud[i].score+=stud[i].subject[j];

}

getchar();

stud[i].average=stud[i].score/numsubs;

}

count(stud);

}

display(stud,0,numstus-1);

}

printf("是否继续进行其他修改?(y/n)\n");

gets(str);

if(str[0]=='y'||str[0]=='Y')

i=-1;

else i=1;

}

}

void deleterecord(student stu[],int i) /*删除信息*/

{

int j;

while(i=0)

{

for(j=i;jnumstus;j++)

stu[j]=stu[j+1];

numstus--;

printf("删除成功!\n");

}

}

void count(student stud[])

{

int i,j;

for(i=0;inumstus;i++)

{

stud[i].index=1;

for(j=0;jnumstus;j++)

if(stud[j].scorestud[i].score)

stud[i].index++;

}

}

#include "head.h"

void addrecord(student stud[])

{

int i=0,j,num;

char str[5];

if(numstus!=0)

{

printf("已有记录存在是否覆盖?(y/n)\n");

gets(str);

if(str[0]=='Y'||str[0]=='y')

i=0;

else i=numstus;

}

printf("请输入增加的学生信息条目数:");

scanf("%d",num);

if(i==0)

numstus=num;

else numstus+=num;

if(numstuslens)

{

lens+=50;

pointer=(student *)realloc(pointer,lens*LEN);

}

printf("请输入学生信息:\n");

for(;inumstus;i++)

{

getchar();

printf("请输入学号:");

gets(pointer[i].number);

printf("请输入姓名:");

gets(pointer[i].name);

printf("请输入性别(男/女 1/0):");

gets(pointer[i].sex);

if(pointer[i].sex[0]=='0') strcpy(pointer[i].sex,"女");

else strcpy(pointer[i].sex,"男");

printf("请输入各科成绩:(按ABCDE的顺序):");

stud[i].score=0;

for(j=0;jnumsubs;j++)

{

scanf("%f",stud[i].subject[j]); /*计算总分*/

stud[i].score+=stud[i].subject[j];

}

stud[i].average=stud[i].score/numsubs; /*计算平均分*/

}

count(stud); /*附名次*/

display(stud,0,numstus-1);

getchar();

}#include "head.h"

int numstus;

int lens;

student *pointer;

void main()

{

int i=1;

char str[2];

lens=100;

pointer=(student *)malloc(lens*LEN); /*分配内存*/

numstus=0;

welcome(); /*欢迎界面*/

while(i0)

{

i=menu_select(); /*控制菜单*/

switch(i)

{

case 1:addrecord(pointer);break; /*增加学生信息*/

case 2:findrecord(pointer);break; /*查询学生信息*/

case 3:amendrecord(pointer);break; /*修改学生信息*/

case 4:sort(pointer);break; /*学生信息排序*/

case 5:statistic(pointer);break; /*统计信息*/

case 6:openfile(pointer);break; /*打开文件*/

case 7:writetotext(pointer);break; /*保存文件*/

case 8:display(pointer,0,numstus-1);break; /*显示记录*/

case 0:

if(numstus!=0) printf("是否保存当前记录?(y/n)");

gets(str);

if(str[0]=='y'||str[0]=='Y')

writetotext(pointer);

i=-1;break; /*退出系统*/

default:printf("请输入数字0~8:\n");i=1; /*输入错误*/

}

}

printf("\t\t欢迎再次使用本系统。\n\n");

display1();

}

这个是成绩查询系统

教务管理代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于教务系统c语言代码、教务管理代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/12809.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载