zoukankan      html  css  js  c++  java
  • 实验7

    任务三

      正确输出,生成了文本文件file3.dat,数据信息正确,直观可读
     
    任务四
     
      子任务一:
        正确输出,生成了文本文件file3.dat,数据信息正确,不能直观可读

      子任务二:
    #include<stdio.h>
    #include<stdlib.h>
    #define N 10
    
    typedef struct student
    {
        int num;
        char name[20];
        int score;
    }STU;
    
    int main()
    {
        FILE *fin;
        int i;
        STU st[N];
        fin = fopen("file4.dat", "r");
        if(!fin)
        {
            printf("fail to open file4.dat
    ");
            exit(0);
        }
        
        fread(st, sizeof(STU), N, fin);
        
        fclose(fin);
        
        for(i=0; i<N; i++)
            printf("%-6d%-10s%3d
    ", st[i].num, st[i].name, st[i].score);
        
        return 0;
    }

    任务五

    #include <stdio.h>
    #include <string.h>
    const int N = 10;
    
    // 定义结构体类型struct student,并定义其别名为STU 
    typedef struct student {
        long int id;
        char name[20];
        float objective;    /*客观题得分*/
        float subjective;    /*操作题得分*/
        float sum;
        char level[10];    
    }STU; 
    
    // 函数声明
    void input(STU s[], int n);
    void output(STU s[], int n);
    void process(STU s[], int n);
    
    int main() {
        STU stu[N];
        
        printf("录入%d个考生信息: 准考证号,姓名,客观题得分(<=40),操作题得分(<=60)
    ", N); 
        input(stu, N);
        
        printf("
    对考生信息进行处理: 计算总分,确定等级
    ");
        process(stu, N);
        
        printf("
    打印考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级
    ");
        output(stu, N); 
        
        return 0;
    } 
    
    // 从文本文件examinee.txt读入考生信息:准考证号,姓名,客观题得分,操作题得分
    void input(STU s[], int n) {
        // 补足代码
        FILE *fin;
        int i;
        fin = fopen("examinee.txt","r");
        
        for(i=0; i<n; i++)
            fscanf(fin,"%ld %s %f %f", &s[i].id, s[i].name, &s[i].objective, &s[i].subjective); 
        fclose(fin); 
        
    }
    
    // 输出考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级
    // 不仅输出到屏幕上,还写到文本文件result.txt中 
    void output(STU s[], int n) {
        // 补足代码
        int i;
        FILE *fout;
        fout = fopen("result.txt", "w");
        
        printf("准考证号   姓名       客观题得分      操作题得分      总分       等级
    ");
        for(i=0; i<n; i++)
        {
            printf("%-10ld %-10s %-15.2f %-15.2f %-10.2f %-5s
    ", s[i].id, s[i].name, s[i].objective, s[i].subjective, s[i].sum, s[i].level); 
            fprintf(fout, "%-10ld %-15s %-15.2f %-10.2f %-10.2f %-5s
    ", s[i].id, s[i].name, s[i].objective, s[i].subjective, s[i].sum, s[i].level); 
        }
        fclose(fout);
    }    
    
    // 对考生信息进行处理:计算总分,排序,确定等级
    void process(STU s[], int n) {
        // 补足代码
        int t, i, j;
        STU temp;
        
        for(t=0; t<n; t++)
            s[t].sum = s[t].objective*0.4 + s[t].subjective*0.6;
        
        for(i=0; i<n-1; i++)
            for(j=0; j<n-i-1; j++)
                if(s[j].sum<s[j+1].sum)
                {
                    temp = s[j];
                    s[j] = s[j+1];
                    s[j+1] = temp;
                }
        for(t=0; t<n; t++)
            if(t+1<=0.1*n)
                strcpy(s[t].level, "优秀");
            else if(t+1<=0.5*n)
                strcpy(s[t].level, "合格");
            else
                strcpy(s[t].level, "不合格");
    }

  • 相关阅读:
    1、Java语言概述与开发环境——Java程序运行机制
    1、Java语言概述与开发环境——JDK的安装与环境变量的配置
    针孔成像模型
    anconda下安装opencv
    用Navicat Prenium12连接Oracle数据库(oracle11g版本)时报错ORA-28547:connection to server failed,probable Oracle Net admin error.解决办法
    JQueryEsayUI的datagrid分页
    java中String和int的互相转化
    js页面刷新
    oracle的正则表达式
    EL表达式中,param和requestScope的区别
  • 原文地址:https://www.cnblogs.com/wjxing/p/14210317.html
Copyright © 2011-2022 走看看