C语言实现班级学生管理系统

本文实例为大家分享了C语言实现班级学生管理系统的具体代码,供大家参考,具体内容如下

下面是根据班级,这个人数较少的单位设计的学籍管理系统,录入时,要求班内序号由1开始  按顺序录入,其中主要用到了 结构体数组,文件处理,循环语句,选择语句等方面的知识
在设计中遇到一个问题就是:不知道怎样修改已经保存在文件中的某一个指定学生的信息,后来在询问学长之后才了解到 ,可以: 先把文件中的数据全部读入结构体数组中,再修改指定序号的数组元素,然后再用“wt”的方式写进原文件,这样就可以删除文件里的原内容,再写进新内容

下面是源代码,在Dev-C++ 条件下进行编译

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
int count1=0;
int count2=0;
int count3=0;
void class_print();
void men1_student();
void men2_student();
void men3_student();
void men4_student();
void input_student();
void input_grade();
void input_reward();
void input_finance();
void report_finance();
void seek_student();
void seek_grade();
void seek_reward();
void change_student();
void change_grade();
void change_reward();
int now1_student();
int now2_student();
int now3_student();
struct date
{
 int year;
 int month;
 int day;
};
struct student
{
 char number[2];
 char name[10];
 char sex[4];
 char tel[15];
 char id[20];
 char study[10];
};
struct grade
{
 char number[2];
 char name[10];
 char math[4];
 char English[4];
 char Cprogram[4];
 char sumtest[4];
};
struct reward
{
 char number[2];
 char name[10];
 struct date time;
 char rewarding[80];
};
struct finance
{
 char thing[20];
 char type[8];
 struct date time2;
 int i;
};
struct student m_stu[50];
struct grade g_stu[50];
struct reward r_stu[50];
struct finance f_class;
struct grade t_change;
main()
{

 int choice=-1;         //一级菜单
 while(choice!=0)
 {
 printf("\n");
 printf("\t\t\t\t\t\t**");  class_print();  printf("**\n");
 printf("\t\t\t\t\t\t****************************\n");
 printf("\t\t\t\t\t\t**  班级学生学籍管理系统  **\n");
    printf("\t\t\t\t\t\t**     1.户籍管理系统     **\n");
 printf("\t\t\t\t\t\t**     2.成绩管理系统     **\n");
 printf("\t\t\t\t\t\t**     3.奖惩管理系统     **\n");
 printf("\t\t\t\t\t\t**     4.财务管理系统     **\n");
 printf("\t\t\t\t\t\t**     0.退        出     **\n");
 printf("\t\t\t\t\t\t请选择");
 scanf("%d",&choice);
 switch(choice)
 {
 case 1:
        men1_student();
  break;
 case 2:
     men2_student();
     break;
 case 3:
     men3_student();
     break;
 case 4:
     men4_student();
     break;
    case 0:
     printf("返回上一级");
        break;
    default :
        break;
 }
    }
}
void men1_student()         //二级菜单(学生户籍管理)
{
int choice=-1;
while(choice!=0)
    {
    printf("\n");
    printf("\t\t\t\t\t\t****************************\n");
    printf("\t\t\t\t\t\t**");  class_print();  printf("**\n");
 printf("\t\t\t\t\t\t**  班级学生户籍信息管理  **\n");
 printf("\t\t\t\t\t\t**  户籍信息已录入人数:");now1_student();printf("  **\n");
    printf("\t\t\t\t\t\t**     1.户籍录入系统     **\n");
 printf("\t\t\t\t\t\t**     2.户籍修改系统     **\n");
 printf("\t\t\t\t\t\t**     3.户籍查询系统     **\n");
 printf("\t\t\t\t\t\t**     0.返        回     **\n");
 printf("\t\t\t\t\t\t请选择");
 scanf("%d",&choice);
    switch(choice)
    {
         case 1:
      input_student();
      break;
      case 2:
      change_student();
      break;
      case 3:
      seek_student();
      break;
            case 0:
            printf("返回上一级");
            break;
            default :
            break;
 }
 getch();
   }
}

void input_student()             // 户籍录入函数  录入信息保存至D盘根目录下information1.txt文件下
    {
     int j;
     printf("学生户籍信息录入");
     printf("\n班内序号: ");
     scanf("%s",&m_stu[count1].number);
     printf("\n姓名: ");
     gets(m_stu[count1].name);
     gets(m_stu[count1].name);
     printf("\n性别: ");
     scanf("%s",&m_stu[count1].sex);
     printf("\n电话号码: ");
     scanf("%s",&m_stu[count1].tel);
     printf("\n身份证号: ");
     scanf("%s",&m_stu[count1].id);
     printf("\n学号: ");
     scanf("%s",&m_stu[count1].study);
     printf("是否保存该学生信息?1-保存 2-放弃");
     scanf("%d",&j);
     if(j==1)
     {

      FILE *info;                                           //保存至本地文件
      info=fopen("d:\\information1.txt","at+");
      fwrite(&m_stu[count1],sizeof(struct student),1,info);
      fclose(info);
      printf("信息已保存至D:\\information1.tex 文件下,按任意键继续");
      count1++;
  }
     else printf("放弃保存,按任意键继续");
    }
void seek_student()        //查询户籍信息函数
  {
     FILE *info;
     info=fopen("d:\\information1.txt","rt");
     int i;
  printf("请输入该学生班内序号");
  scanf("%d",&i);
  if(i<1||i>50) printf("抱歉,该学生信息不存在");
    else
    {
     rewind(info);
     fseek(info,sizeof(struct student)*(i-1),0);
     fread(&m_stu[i-1],sizeof(struct student),1,info);
     printf("\n\n序号 姓名    性别 电话号码\t   身份证号\t\t学号\t");
     printf("\n\n%d   %s   %s   %s   %s    %s",i,m_stu[i-1].name,m_stu[i-1].sex,m_stu[i-1].tel,m_stu[i-1].id,m_stu[i-1].study);
    }
  }
  void change_student()        //修改户籍信息
  {
   int i=0,j,k,f;char h[100000];
   FILE *info;
   info=fopen("d:\\information1.txt","rt");
 printf("\n\t请输入要修改户籍信息的学生班内序号");
  scanf("%d",&j);
  if(j<1||j>50) printf("抱歉,该学生信息不存在");
  else
  {
   rewind(info);
   while(fgets(h,sizeof(struct student),info)!=NULL)
   {
     fseek(info,sizeof(struct student)*i,0);
     fread(&m_stu[i],sizeof(struct student),1,info);
     i++;
     }
  }
  fclose(info);
     printf("\n该学生目前户籍信息为\n:");
     printf("\n\n序号 姓名    性别 电话号码\t   身份证号\t\t学号\t");
     printf("\n\n%d   %s   %s   %s   %s    %s",j,m_stu[j-1].name,m_stu[j-1].sex,m_stu[j-1].tel,m_stu[j-1].id,m_stu[j-1].study);
      printf("确定修改此学生信息?1- 修改 2- 返回");
      scanf("%d",&k);
     if(k==1)
   {
     printf("\n姓名: ");
     gets(m_stu[j-1].name);
     gets(m_stu[j-1].name);
     printf("\n性别: ");
     scanf("%s",&m_stu[j-1].sex);
     printf("\n电话号码: ");
     scanf("%s",&m_stu[j-1].tel);
     printf("\n身份证号: ");
     scanf("%s",&m_stu[j-1].id);
     printf("\n学号: ");
     scanf("%s",&m_stu[j-1].study);
   }
   else return;
      info=fopen("d:\\information1.txt","wt");
   for(f=0;f<i;f++)
   {
        fseek(info,sizeof(struct student)*f,0);
      fwrite(&m_stu[f],sizeof(struct student),1,info);
   }
         fclose(info);
         printf("修改成功!");
   }

void men2_student()               //二级菜单(学生成绩管理)
  {
   int choice=-1;
   while(choice!=0)
   {
   printf("\n\t\t\t\t\t\t****************************\n");
   printf("\t\t\t\t\t\t**");  class_print();  printf("**\n");
 printf("\t\t\t\t\t\t**  班级学生成绩信息管理  **\n");
 printf("\t\t\t\t\t\t**  成绩信息已录入人数:");now2_student();printf("  **\n");
    printf("\t\t\t\t\t\t**     1.成绩录入系统     **\n");
 printf("\t\t\t\t\t\t**     2.成绩修改系统     **\n");
 printf("\t\t\t\t\t\t**     3.成绩查询系统     **\n");
 printf("\t\t\t\t\t\t**     4.综测排名系统     **\n");
 printf("\t\t\t\t\t\t**     0.返        回     **\n");
 printf("\t\t\t\t\t\t请选择");
 scanf("%d",&choice);
 switch(choice)
  {
  case 1:input_grade();
         break;
  case 2:change_grade();
         break;
  case 3:seek_grade();
         break;
  case 4:printf("功能正在研发中,敬请期待...");
         break;
  default:
         break;
  }
  getch();
    }
 }
void input_grade()           // 成绩录入函数   ,录入信息保存至 D盘根目录下information2.txt文件下
    {
     int j;
     printf("学生成绩信息录入");
     printf("\n班内序号");
     scanf("%s",&g_stu[count2].number);
     printf("\n姓名: ");
     gets(g_stu[count2].name);
     gets(g_stu[count2].name);
     printf("\n高数: ");
     scanf("%s",&g_stu[count2].math);
     printf("\n英语:");
     scanf("%s",&g_stu[count2].English);
     printf("\nC语言:");
     scanf("%s",&g_stu[count2].Cprogram);
     printf("\n综测:");
     scanf("%s",&g_stu[count2].sumtest);
     printf("是否保存该学生信息?1-保存 2-放弃");
     scanf("%d",&j);
     if(j==1)
     {

      FILE *info2;                                           //保存至本地文件
      info2=fopen("d:\\information2.txt","at+");
      fwrite(&g_stu[count2],sizeof(struct grade),1,info2);
      fclose(info2);
      printf("信息已保存至D:\\information.tex2 文件下,按任意键继续");
      count2++;
  }
     else printf("放弃保存,按任意键继续");
    }

void seek_grade()           //查询成绩信息函数
  {
     FILE *info2;
     info2=fopen("d:\\information2.txt","rt");
     int i;
  printf("\n\t请输入该学生班内序号");
  scanf("%d",&i);
  if(i<1||i>50) printf("\n抱歉,该学生信息不存在");
    else
    {
     rewind(info2);
     fseek(info2,sizeof(struct grade)*(i-1),0);
     fread(&g_stu[i-1],sizeof(struct grade),1,info2);
     printf("\n\n序号 姓名  高数  英语  C语言  综测");
     printf("\n\n%d   %s   %s   %s   %s    %s",i,g_stu[i-1].name,g_stu[i-1].math,g_stu[i-1].English,g_stu[i-1].Cprogram,g_stu[i-1].sumtest);
    }
  }
void change_grade()           //修改成绩信息
  {
   int i=0,j,k,f;char h[100000];
   FILE *info;
   info=fopen("d:\\information2.txt","rt");
 printf("\n\t请输入要修改成绩信息的学生班内序号");
  scanf("%d",&j);
  if(j<1||j>50) printf("\n抱歉,该学生信息不存在");
  else
  {
   rewind(info);
   while(fgets(h,sizeof(struct grade),info)!=NULL)
   {
     fseek(info,sizeof(struct grade)*i,0);
     fread(&g_stu[i],sizeof(struct grade),1,info);
     i++;
     }
  }
  fclose(info);
     printf("\n该学生目前成绩信息为\n:");
     printf("\n\n序号 姓名  高数 英语  C语言  综测");
     printf("\n\n%d   %s   %s   %s   %s    %s",j,g_stu[j-1].name,g_stu[j-1].math,g_stu[j-1].English,g_stu[j-1].Cprogram,g_stu[j-1].sumtest);
      printf("\n\t确定修改此学生信息?1- 修改 2- 返回");
      scanf("%d",&k);
     if(k==1)
   {
     printf("\n姓名: ");
     gets(g_stu[j-1].name);
     gets(g_stu[j-1].name);
     printf("\n高数: ");
     scanf("%s",&g_stu[j-1].math);
     printf("\n英语: ");
     scanf("%s",&g_stu[j-1].English);
     printf("\nC语言: ");
     scanf("%s",&g_stu[j-1].Cprogram);
     printf("\n综测: ");
     scanf("%s",&g_stu[j-1].sumtest);
   }
   else return;
      info=fopen("d:\\information2.txt","wt");
      if(info==NULL)
      {
       printf("不能打开此文件,按任意键继续");
       getch();

   }
   for(f=0;f<i;f++)
   {
        fseek(info,sizeof(struct grade)*f,0);
      fwrite(&g_stu[f],sizeof(struct grade),1,info);
   }
         fclose(info);
         printf("修改成功!");
   }
void men3_student()        //二级菜单(学生奖惩管理)
{
int choice=-1;
while(choice!=0)
    {
    printf("\n");
    printf("\t\t\t\t\t\t****************************\n");
    printf("\t\t\t\t\t\t**");  class_print();  printf("**\n");
 printf("\t\t\t\t\t\t**  班级学生奖惩信息管理  **\n");
 printf("\t\t\t\t\t\t**  奖惩信息已录入人数:");now3_student();printf("  **\n");
    printf("\t\t\t\t\t\t**     1.奖惩录入系统     **\n");
 printf("\t\t\t\t\t\t**     2.奖惩修改系统     **\n");
 printf("\t\t\t\t\t\t**     3.奖惩查询系统     **\n");
 printf("\t\t\t\t\t\t**     0.返        回     **\n");
 printf("\t\t\t\t请选择");
 scanf("%d",&choice);
    switch(choice)
    {
         case 1:
      input_reward();
      break;
      case 2:
      change_reward();
      break;
      case 3:
      seek_reward();
      break;
            case 0:
            printf("返回上一级");
            break;
            default :
            break;
 }
 getch();
   }
}
void input_reward()            // 奖惩录入函数      录入信息保存至D盘根目录下information3.txt文件下
    {
     int j;
     printf("学生奖惩信息录入");
     printf("\n班内序号: ");
     scanf("%s",&r_stu[count3].number);
     printf("\n姓名: ");
     gets(r_stu[count3].name);
     gets(r_stu[count3].name);
     printf("\n奖惩时间: ");
     scanf("%d.%d.%d",&r_stu[count3].time.year,&r_stu[count3].time.month,&r_stu[count3].time.day);
     printf("\n具体事件: ");
     gets(r_stu[count3].rewarding);
     gets(r_stu[count3].rewarding);
     printf("\n是否保存该学生信息?1-保存 2-放弃");
     scanf("%d",&j);
     if(j==1)
     {

      FILE *info;                                           //保存至本地文件
      info=fopen("d:\\information3.txt","at+");
      fwrite(&r_stu[count3],sizeof(struct reward),1,info);
      fclose(info);
      printf("\n信息已保存至D:\\information3.tex 文件下,按任意键继续");
      count3++;
  }
     else printf("放弃保存,按任意键继续");
    }
void seek_reward()          //查询奖惩信息函数     根据学生班级序号
  {
     FILE *info;
     info=fopen("d:\\information3.txt","rt");
     int i;
  printf("\n\t请输入该学生班内序号");
  scanf("%d",&i);
  if(i<1||i>50) printf("\n抱歉,该学生信息不存在");
    else
    {
     rewind(info);
     fseek(info,sizeof(struct reward)*(i-1),0);
     fread(&r_stu[i-1],sizeof(struct reward),1,info);
     printf("\n\n序号  姓名    奖惩时间                 具体事件\t\t");
     printf("\n\n%d   %s   %d.%d.%d   %s   ",i,r_stu[i-1].name,r_stu[i-1].time.year,
                                                            r_stu[i-1].time.month,
                  r_stu[i-1].time.day,    r_stu[i-1].rewarding);
    }
  }
void change_reward()      //修改奖惩信息
  {
   int i=0,j,k,f;char h[100000];
   FILE *info;
   info=fopen("d:\\information3.txt","rt");
 printf("\n\t请输入要修改奖惩信息的学生班内序号");
  scanf("%d",&j);
  if(j<1||j>50) printf("\n抱歉,该学生信息不存在");
  else
  {
   rewind(info);
   while(fgets(h,sizeof(struct reward),info)!=NULL)
   {
     fseek(info,sizeof(struct reward)*i,0);
     fread(&r_stu[i],sizeof(struct reward),1,info);
     i++;
     }
  }
  fclose(info);
     printf("\n该学生目前奖惩信息为\n:");
     printf("\n\n序号 姓名  奖惩时间    具体事件");
     printf("\n\n%d   %s   %d.%d.%d   %s   ",j,r_stu[j-1].name,r_stu[j-1].time.year,
                                                            r_stu[j-1].time.month,
                  r_stu[j-1].time.day  ,r_stu[j-1].rewarding);
      printf("\n\t确定修改此学生信息?1- 修改 2- 返回");
      scanf("%d",&k);
     if(k==1)
   {
     printf("\n姓名: ");
     gets(r_stu[j-1].name);
     gets(r_stu[j-1].name);
     printf("\n奖惩时间: ");
     scanf("%d.%d.%d",&r_stu[j-1].time.year,&r_stu[j-1].time.month,&r_stu[j-1].time.day);
     printf("\n具体事件: ");
     scanf("%s",&r_stu[j-1].rewarding);
   }
   else return;
      info=fopen("d:\\information3.txt","wt");
   for(f=0;f<i;f++)
   {
        fseek(info,sizeof(struct reward)*f,0);
      fwrite(&r_stu[f],sizeof(struct reward),1,info);
   }
         fclose(info);
         printf("修改成功!");
   }
int now1_student()           //录入户籍信息学生数目       在菜单中 显示 已经录入学生人数
{
 int i=1;
 char j[100000];
 FILE *info;
 info=fopen("D:\\information1.txt","rt");
 rewind(info);
     while(fgets(j,sizeof(struct student),info)!=NULL)
     {
         fseek(info,sizeof(struct student)*i,0);
         i++;
  }
  fclose(info);
        printf("%d",i-1);
}

int now2_student()       //录入成绩信息学生数目     在菜单中 显示 已经录入学生人数
{
 int i=1;
 char j[100000];
 FILE *info;
 info=fopen("D:\\information2.txt","rt");
 rewind(info);
     while(fgets(j,sizeof(struct grade),info)!=NULL)
     {
         fseek(info,sizeof(struct grade)*i,0);
         i++;
  }
  fclose(info);
        printf("%d",i-1);
}

int now3_student()         //录入奖惩信息学生数目     在菜单中 显示 已经录入学生人数
{
 int i=1;
 char j[100000];
 FILE *info;
 info=fopen("D:\\information3.txt","rt");
 rewind(info);
     while(fgets(j,sizeof(struct reward),info)!=NULL)
     {
         fseek(info,sizeof(struct reward)*i,0);
         i++;
  }
  fclose(info);
        printf("%d",i-1);
}
void class_print()          // 录入专业班级信息,并保存至D盘根目录下information0.txt文件下
{
 char major[20],class_number[4];
 FILE *info;
 info=fopen("d:\\information0.txt","rt");
 if(info==NULL)
 {
  info=fopen("d:\\information0.txt","wt");
  printf("\n请输入专业 :");
  scanf("%s",&major);
  printf("\n请输入班级 :");
  scanf("%s",&class_number);
  fwrite(major,sizeof(major),1,info);
  fwrite(class_number,sizeof(class_number),1,info);
  printf("\n\t已保存专业班级信息!");
  fclose(info);
  info=fopen("d:\\information0.txt","rt");
  fread(&major,sizeof(major),1,info);
  fread(&class_number,sizeof(class_number),1,info);
  printf("%s",major);printf("%s班",class_number);
 }
 else
 {
  fread(&major,sizeof(major),1,info);
  fread(&class_number,sizeof(class_number),1,info);
  printf("%s",major);printf("%s班",class_number);
  fclose(info);
 }
}
void men4_student()        //二级菜单(班级财务管理)
{
int choice=-1;
while(choice!=0)
    {
    printf("\n");
    printf("\t\t\t\t\t\t****************************\n");
    printf("\t\t\t\t\t********财务信息不可修改,请谨慎录入!******\n");
 printf("\t\t\t\t\t\t**  班级学生财务信息管理  **\n");
    printf("\t\t\t\t\t\t**     1.财务录入系统    **\n");
 printf("\t\t\t\t\t\t**     2.财务报表系统    **\n");
 printf("\t\t\t\t\t\t**     0.返        回     **\n");
 printf("\t\t\t\t\t\t请选择");
 scanf("%d",&choice);
    switch(choice)
    {
         case 1:
      input_finance();
      break;
      case 2:
      report_finance();
      break;
      case 3:
            case 0:
            printf("返回上一级");
            break;
            default :
            break;
 }
 getch();
   }
}

void input_finance()                                                                        // 财务录入函数 ,录入后信息保存到D盘根目录下 information4.txt文件中
    {
     int j;
     printf("班级财务信息录入");
     printf("\n收支时间: ");
     scanf("%d.%d.%d",&f_class.time2.year,&f_class.time2.month,&f_class.time2.day );
     printf("\n具体事件: ");
     gets(f_class.thing);
     gets(f_class.thing);
     printf("\n财务类型(收入或开支): ");
     scanf("%s",&f_class.type);
     printf("\n流动金额(收入为正开支为负): ");
     scanf("%d",&f_class.i);
     printf("\n是否保存该财务信息?1-保存 2-放弃");
     scanf("%d",&j);
     if(j==1)
     {

      FILE *info;                                           //保存至本地文件
      info=fopen("d:\\information4.txt","at+");
      fwrite(&f_class,sizeof(struct finance),1,info);
      fclose(info);
      printf("\n信息已保存至D:\\information4.txt 文件下,按任意键继续");

  }
     else printf("放弃保存,按任意键继续");
    }
void report_finance()     // 财务信息报表
{
    char h[100000];int sum=0,i=0;
 printf("\n收支时间   具体事件\t财务类型  流动金额\n");
 FILE *info;
     info=fopen("d:\\information4.txt","rt");
     while(fgets(h,sizeof(struct finance),info)!=NULL)
   {
   fseek(info,sizeof(struct finance)*i,0);
     fread(&f_class,sizeof(struct finance),1,info);i++;
     printf("\n%d.%d.%d %s          %s           %d\n",f_class.time2.year,
                                                f_class.time2.month,
               f_class.time2.day,  f_class.thing,f_class.type,f_class.i);
               sum=sum+f_class.i ;
     }
  printf("\n\t\t班费余额:%d元",sum);
}

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

(0)

相关推荐

  • C语言实现班级成绩管理系统

    C语言课程设计--班级成绩管理系统,供大家参考,具体内容如下 题目: 对一个有N个学生的班级,每个学生有M门课程.该系统实现对班级成绩的录入.显示.修改.排序.保存等操作的管理.功能 要求: (1)本系统采用一个结构体数组,每个数据的结构应当包括:学号.姓名.M门课程名称. (2)本系统显示这样的菜单: 请选择系统功能项: a.成绩录入 b.成绩显示 c.成绩保存 d.成绩排序 e.成绩修改(要求先输入密码) f.成绩统计 1)显示每门课程成绩最高的学生的基本信息 2)显示每门课程的平均成绩 3

  • C语言学生管理系统源码分享

    本文实例为大家分享了C语言学生管理系统源码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> //结构体可以存放的学生信息最大个数,不可变变量 int const MAX_LENGTH=100; //学生信息结构体数组,最多可以存放100个学生信息 struct student{ int id; //学号 char *name; //姓名 int age; //年龄 float c_score; //C语言成绩 float engl

  • C语言实现学生信息管理系统(单链表)

    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年7月1日 * 版本号:codeblock * * 问题描述: 学生信息管理系统 * 输入描述: * 程序输出: 输出结果 */ #include <stdio.h> #include <stdlib.h> #include

  • C语言数据结构之学生信息管理系统课程设计

    本文实例为大家分享了学生信息管理系统设计的具体代码,供大家参考,具体内容如下 建立一个动态链表,链表中每一结点包括:学号.姓名.性别.年龄.成绩.程序能实现以下功能: 建立链表      显示链表      查找链表中是否存在某个元素,并显示这个元素的所有信息,若没有这个元素则显示"无此记录!"的信息.      删除链表中指定学号的结点.      在链表中指定的位置插入一个新结点(学号不能和其他结点重复). 要求:程序运行中,先显示实现以上功能所构成的菜单,然后根据选项调用相应程序

  • C语言实现简单学生管理系统

    花了一个月的时间,学习了链表,文件,多文件编程,然后就开始写学生管理系统,比较简单的那种,实现了增,添,改,查,多种排序,输入的时候的限定,成绩分析的功能.遇到的问题很多,也尝试解决了,下面写点写学生管理系统的要注意的地方,希望对别人有帮助. 1.一定要先写好主函数的框架,然后再往上面加东西,这样说有点笼统,我把我的主函数在下面,可以借鉴下哈.我的主函数是一个while(1)的无限循环,里面一个switch选择,利用一个菜单函数,让其返回值当成switch选择的值,然后进入不同的功能主函数,其他

  • 学生信息管理系统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

  • 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语言利用结构体数组实现学生成绩管理系统

    要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).定义结构体类型描述学生信息,每个学生信息包括:学号.姓名.多门课的成绩.总成绩和平均成绩.用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统. (1) 录入每个学生的学号.姓名和各科考试成绩. (2) 计算每门课程的总分和平均分. (3) 计算每个学生的总分和平均分. (4) 按每个学生的总分由高到低排出名次表. (5) 按学号由小到大排出成绩表. (6) 按姓名的字典顺序排出成

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

    C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct person //定义结构体 { char num[10]; //学号 char name[20]; //姓名 float cyuyan; //C语言成绩 float en; //物理学成绩 float ji; //原子物理成绩

  • C语言编写学生成绩管理系统

    用C语言编写学生成绩管理系统代码,供大家参考,具体内容如下 C语言实现学生成绩管理系统实战教学 https://www.jb51.net/article/154767.htm (1)给出所选课程设计题目以及本题目具体所要完成的功能要求说明. 1.课程设计题目:学生成绩管理系统 2.完成的功能要求: (1).主要实现的功能: 1---学生输入 2---学生插入 3---学生查询(按学号) 4---学生删除 5---学生输出 6---计算每名学生的平均分并输出 7---计算每科的平均分并输出 8--

随机推荐