您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

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

来源:不详 责任编辑:栏目编辑 发表时间:2013-07-01 12:01 点击:

/*-------------1-------------*/
#include<bios.h>
#include<dos.h>  /*头文件*/
#include<conio.h>
#include<ctype.h>
#include<process.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
 
#define NULL 0
#define ESC 0x001b  /* 退出 */
#define  F1  0x3b00  /* 查看帮助信息,调用HelpMassage()函数 */
#define  F2  0x3c00  /*输入学生成绩*/
#define  F3  0x3d00 /*按学号查找*/
#define  F4  0x3e00  /*按姓名查找*/
#define  F5  0x3f00  /*列出所有学生成绩*/
#define  F6  0x4000 /*统计*/
struct stuType  /*定义结构体变量*/
{
   char NO[11];  /*学号长度为10*/
   char XM[10];
   float CJ[4];  /*包含4门成绩*/
};
/*-------------2-------------*/
int JY_NO(char *stu_num,FILE *fp)    /*检验学号的正确性*/
{  struct stuType stud;
   int NO;
   char *p=stu_num;
   if(strcmp(stu_num,"#")==0) return 1;    /*若输入"#"返回真值,不再循环输入*/
   while(*p!='\0')      /*学号必须是数字,否则返回重新输入*/
       {    NO=(int)*p;
      if(NO<48||NO>57)
  {   puts("\t\t\t非法学号!请重新输入!\n");
      return 0;
   }
      else p++;      /*指针加1*/
        }
   if(strlen(stu_num)!=10)     /*若学号长度不为10,则返回重新输入*/
 {  puts("\t\t\t学号长度不对!\n");
    return 0;
  }
   if(getchar()!='\n')      /*若学号后面的字符不是回车符,则学号长度大于10*/
 {    printf("\t\t\t学号长度大于10个!请重新输入!\n");
      do{}while(getchar()!='\n');   /*用getchar接收多余的字符*/
      return 0;      
  }
   else
     {
    rewind(fp);      /*使文件指针指向头*/
    while(!feof(fp))     /*若文件指针未到结尾,就继续执行下面的循环,feof遇到文件结束符返回非零值,否则返回0*/
  {   fread(&stud,sizeof(struct stuType),1,fp); /*读取一定长度的数据*/
             if(strcmp(stu_num,stud.NO)==0)  /*学号的唯一性*/
   {  printf("\t\t\t学号重复,请重新输入!\n");
         printf("\t\t\t该学生成绩如下:\n"); 
         printf("\t\t\t语文:%.1f\n",stud.CJ[0]);
         printf("\t\t\t数学:%.1f\n",stud.CJ[1]);
         printf("\t\t\t英语:%.1f\n",stud.CJ[2]);
         printf("\t\t\t总评:%.1f\n",stud.CJ[3]);
       return 0;
           }
  }
    }
   return 1;
 
}
/*-------------3-------------*/
int JY_NO2(char *stu_num)   /*检验学号*/
{    int NO;
     char *p=stu_num;        
     if(strcmp(stu_num,"#")==0)return 1; /*若输入“#",则返回真值结束*/
  &n

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Glib实例学习(2)双链表
    • C程序员要学C++吗?
    • C++中实现Singleton的正确方法
    • 编程思维训练(一)
    • 【编程好习惯】引入中间变量使程序更易读
    • 在C++中通过模板规避潜在错误
    • 在C++中通过模板去除强制转换
    • 【编程好习惯】减少搜索头文件的目录数
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1