返回首页
当前位置: 首页 > 设计报告 > C语言课程设计 浏览正文

c语言课程设计_学生成绩管理系统3

时间:2010年06月25日来源:网络 作者:admin 联系QQ:3710167点击这里给我发消息
原创论文提供各类原创参考论文,参考使用,欢迎联系使用联系QQ:3710167

课程设计的内容: 1、每一条记录包括一个学生的
 

课程设计的内容: 1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。

2、输入功能:可以一次完成若干条记录的输入。

3、显示功能:完成全部学生记录的显示。

4、查找功能:完成按姓名查找学生记录,并显示。

5、排序功能:按学生平均成绩进行排序。

6、插入功能:按平均成绩高低插入一条学生记录。

7、将学生记录存在文件score中。

8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

课程设计的要求:  1、  用C语言实现系统;

2、  利用结构体数组实现学生成绩的数据结构设计;

3、  系统具有增加,查询,插入,排序等基本功能;

4、  系统的各个功能模块要求用函数的形式实现;

5、  完成设计任务并书写课程设计报告。

6、  将学生成绩信息存在文件中。

#include <dos.h>        /*暂停函数*/
#include <stdio.h>      /*I/O函数*/
#include <stdlib.h>     /*其它说明*/
#include <string.h>     /*字符串操作函数*/
#define  M 1000
int N=0;                /*记录已经存在的记录条数*/
int H=0;
struct student          /*定义数据结构*/
 { char number;
   char name[16];
   float score;
   float average;
 }stud[M],temp;
  /*以下是函数声明*/
  void load(void);                       /*读入记录*/
  void inorder(struct student stud[]);   /*排列记录*/
  void insert(struct student stud[]);    /*插入记录*/
  void save(struct student stud[]);      /*保存记录*/
  void print(struct student stud[]);     /*显示记录*/
  void search(struct student stud[]);    /*查找记录*/
  void enter(struct student stud[]);     /*输入记录*/
  void del(void);                        /*删除记录*/
  void change(void);                     /*改变记录*/
  void quit(void);                       /*退出系统*/
  int flag(struct student stud[]);       /*返回值为0或1*/
  int menu(void);                        /*菜单*/

main()                  /*主函数*/
 { /*以下printf语句为打印欢迎界面语句*/
   printf("\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t!!!!!\n");
   printf("  w           w eeeeeee  l      ccccccc  ooooo   mmmmmmmmm  eeeeeee     !!!!\n");
   printf("  w     w     w e     e  l      c       o     o  m   m   m  e     e     !!! \n");
   printf("   w   w w   w  e eeeee  l      c      o       o m   m   m  eeeeeee     !!  \n");
   printf("    w w   w w   e        l      c       o     o  m   m   m  e           !   \n");
   printf("     w     w    eeeeeee  llllll ccccccc  ooooo   m   m   m  eeeeeee         \n");
   printf("\t\t\t\t\t\t\t\t\t\b0");
   sleep(1);
   printf("\n\n\n\n\n\t\t\t\t\t\t\t\t     ----- pan");
   sleep(1);
   load();              /*调用读入记录函数*/
   for(;;)              /*无限循环*/
    { switch(menu())    /*调用主菜单函数,返回值整数作开关语句的条件*/
      { case 1: enter(stud);  break;   /*输入记录*/
        case 2: print(stud);  break;   /*显示要看的一页的记录*/
        case 3: search(stud); break;   /*查找记录*/
        case 4: inorder(stud);break;   /*排序*/
        case 5: insert(stud); break;   /*插入记录*/
        case 6: save(stud);   break;   /*保存文件*/
        case 7: change();     break;   /*改变记录*/
        case 8: del();        break;   /*删除记录*/
        case 9: quit();                /*如菜单返回值为9程序结束*/
      }
    }
 }

/*输入数据函数*/
void enter(struct student stud[])
 { int n=0,i,j,k,c;
   char b;
   float sum;
   printf("How many student''s record do you want to enter? n=  ?\b\b\b");
   scanf("%d",&n);      /*输入一次要输入记录数*/
   for(i=0;i<n;)
    { sum=0;            /*统记三科总分*/
      printf("Input the %dth student''s number ",N+1);
      scanf("%s",stud[N].number);        /*输入学号*/
      /*以下if-else语句判断所输记录是否存在*/
      if(flag(stud))    /*调用返回值为0或1函数,判断所输入的学号是否已经存在,存在就执行if语句*/
       {
         printf("The record has exist.\n");
         printf("Input again.");
         getch();
       }
      else
       { printf("Input the %dth student''s name ",N+1);
         scanf("%s",stud[N].name);       /*输入姓名*/
         for(j=0;j<3;j++)
          { do
            {
             printf("Input the %dth student''s score(%d)",N+1,j+1);      /*打印提示*/
             scanf("%s",b);              /*输入分数*/

共8页: 1

    
顶一下
()
%
踩一下
()
%
------分隔线----------------------------
推荐内容