文件读取,成绩计算,小综合C语音习题

  [cpp] view plaincopy

  读取一个CVS文件,然后 输出计算学生成绩:  

  [cpp]  

    

  [cpp]  

  // lab4.cpp : 定义控制台应用程序的入口点。  

  //  

    

  #include "stdafx.h"  

  #include "stdio.h"  

  #include "string.h"  

  #include "stdlib.h"  

    

    

    

  void grade2ABCD(int score)  

  {  

      if(score>100 || score<0)  

          printf("This is not a student score");  

        

      if ( score > 89.5 )  

          printf("A

  ");  

      else  

          if(score>79.5)  

              printf("B

  ");  

          else  

            if(score>69.5)  

                printf("C

  ");  

            else  

                if(score>59.5)  

                    printf("D

  ");  

                else  

                    printf("F

  ");  

  }  

    

  /* 

  89.5-100 = A 

  79.5-89.49 = B 

  69.5-79.49 = C 

  59.5-69.49 = D 

  0 - 59.49 = F 

  */  

    

  int GetName(char* str)  

  {  

      char* firstname;  

      char* lastname;  

      char* temp;  

      int score;  

      int sum=0;  

      temp = strtok(str,",");  

      printf("%s ",temp);  

      temp = strtok(NULL,",");  

      printf("%s ",temp);  

      for(int i=0;i<10;i++)  

      {  

          temp=strtok(NULL,",");  

          score =atoi(temp);  

      //  printf("%d ",score);  

          sum =sum+ score;  

      }  

      printf("%2d%%   ",sum/10);  

    

      return sum/10;  

  }  

    

  int _tmain(int argc, _TCHAR* argv[])  

  {  

        

      FILE *fp=NULL;  

      fp=fopen("Scores.txt","r");  

      if(fp==NULL)  

      {  www.2cto.com

          printf("open file error

  ");  

          return 0;  

      }  

    

      char temp[128];  

      int grade=0;  

  for(int i=0;i<3;i++)  

  {  

      fgets(temp,128,fp);  

      grade= GetName(temp);  

      grade2ABCD(grade);  

  }  

        

      return 0;  

  }