首页 > 其他分享 >任务六

任务六

时间:2022-12-26 10:23:37浏览次数:28  
标签:fp txt num int 任务 luc include

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int count = 0;

    FILE* fp;
    fp = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\data4.txt", "r");
    if ((fp = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\data4.txt", "r")) == NULL)
    {
        printf("cannot open file\n");
        exit(0);
    }

    while (fgetc(fp) != EOF)
    {
        if (fgetc(fp) != ' ' && fgetc(fp) != '\t' && fgetc(fp) != '\n')
        {
            count++;
        }
    }

    fclose(fp);
    printf("data4.txt中共包含字符数(不计空白符):%d", count);

    return 0;
}
复制代码

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 10
typedef struct {
    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", N);
        input(stu, N);
    printf("\n对考生信息进行处理: 计算总分,确定等级\n");
    process(stu, N);
    printf("\n打印考生完整信息, 并保存到文件中");
    output(stu, N);
    return 0;
}
// 从文本文件examinee.txt读入考生信息:准考证号,姓名,客观题得分,操作题得分
void input(STU s[], int n) {
    int i;
    FILE* fin;
    fin = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\examinee.txt", "r");
    if (fin == NULL) {
        printf("fail to open file\n");
        exit(0);
    }
    while (!feof(fin)) {
        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) {
    FILE* fout;
    int i;
    // 输出到屏幕
    printf("\n");
    printf("准考证号\t姓名\t客观题得分\t操作题得分\t总分\t\t等级\n");
    for (i = 0; i < n; i++)
        printf("%ld\t\t%s\t%.2f\t\t%.2f\t\t%.2f\t\t%s\n", s[i].id,
            s[i].name, s[i].objective, s[i].subjective, s[i].sum, s[i].level);
    // 保存到文件
    fout = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\result.txt", "w");
    if (!fout) {
        printf("fail to open or create result.txt\n");
        exit(0);
    }
    fprintf(fout, "准考证号\t\t姓名\t客观题得分\t操作题得分\t总分\t\t等级\n");
    for (i = 0; i < n; i++)
        fprintf(fout, "%ld\t\t%s\t%.2f\t\t%.2f\t\t%.2f\t\t%s\n", 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 i;
    for (i = 0; i < n; i++)
    {
        s[i].sum = s[i].objective * 0.4 + s[i].subjective * 0.6;
    }

    STU temp;
    int j;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - 1 - i; j++)
        {
            if (s[i].sum < s[i + 1].sum)
            {
                temp = s[i];
                s[i] = s[i + 1];
                s[i + 1] = temp;
            }
        }
    }
    for (i = 0; i < n * 0.1; i++)
        strcpy(s[i].level, "优秀");
    for(;i<0.5*n;i++)
        strcpy(s[i].level, "合格");
    for (; i <  n; i++)
        strcpy(s[i].level, "不合格");
    

}
复制代码

 

复制代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct
{
    long num;
    char name[20];
    char cl[20];
}STU;
int main()
{
    STU a[80], luc[5];
    FILE* fp;
    fp = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\list.txt", "r");
    if ((fp = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\list.txt", "r")) == NULL)
    {
        printf("cannot open file\n");
        exit(0);
    }

    int i;
    while (!feof(fp))
    {
        for (i = 0; i < 80; i++)
        {
            fscanf(fp, "%ld %s %s", &a[i].num, a[i].name, a[i].cl);
        }
    }

    fclose(fp);

    FILE* fp2;
    fp2 = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\lucky.txt", "w");
    if ((fp2 = fopen("C:\\Users\\yuyee\\Desktop\\程序\\实验6\\lucky.txt", "w")) == NULL)
    {
        printf("cannot open file\n");
        exit(0);
    }

    srand (time(NULL));
    for (i = 0; i < 5; i++)
        luc[i].num = 204942000 + rand() % 80 + 1;

    int j;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 80; j++)
        {
            if (luc[i].num == a[j].num)
                luc[i] = a[j];
        }
    }

    for (i = 0; i < 5; ++i)
    {
        fprintf(fp2, "%ld\t%s\t%s\n", luc[i].num, luc[i].name, luc[i].cl);
        printf("%ld\t%s\t%s\n", luc[i].num, luc[i].name, luc[i].cl);
    }

    fclose(fp2);

    return 0;
}
复制代码

标签:fp,txt,num,int,任务,luc,include
From: https://www.cnblogs.com/wzy4818/p/17005103.html

相关文章

  • 任务五
    #include<stdio.h>#include<string.h>#include<stdlib.h>#defineN100typedefstruct{charnum[10];//学号ints1;//期末成绩ints2;//平时成绩doubles......
  • 任务153:4-管理系统应用搭建_ev
        微服务的拆分原则       ......
  • 【MindStudio训练营第一季】使用MindStudio复现resnet50分类任务
    一、前言在训练营进阶班的课程中,老师使用了resnet50的样例,分析了其中的ACL代码,本文将复现这个resnet50分类项目,为后面ACL编程学习做铺垫。项目的Gitee仓如下:cplusplus/le......
  • 如何使用ChatGPT来自动化Python任务
    1.概述最近,比较火热的ChatGPT很受欢迎。今天,笔者为大家来介绍一下ChatGPT能做哪些事情。2.内容ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人。它的目标是让A......
  • 实验任务5
    Task1#include<stdio.h>#include<string.h>#defineN3         //运行程序输入测试时,可以把这个数组改小一些输入测试 typedefstructstudent{ ......
  • 【数据预处理】基于Pandas的数据预处理技术【前七个任务】
    一.需求分析本文主题:基于Pandas的数据预处理技术本次任务共分为16个任务,将其分为前七个任务和后11个任务,本文探讨其前七个任务。本次实验内容:本次实验以california_ho......
  • Excel中功能清单转Project任务
    1.在E列输入公式: =IF(LEN(A2)>1,1,IF(LEN(B2)>1,2,IF(LEN(C2)>1,3)))公式说明:如果A列有数据就是1级,否则看B列,有数据就是2级,否则C列有数据就是3级。2.将Excel复制到Project......
  • 基于SSH的任务调度系统的设计与实现(论文+PPT+源码)
    基于SSH的任务调度系统的设计与实现摘要随着科学技术的飞速发展和各行各业的分工愈发明细化,对于改革传统的人工任务调度方式的呼声越来越大。得益于快速发展的计算机技术,我......
  • SpringBoot2.x系列教程87--SpringBoot中整合定时任务
    SpringBoot2.x系列教程87--SpringBoot中整合定时任务作者:一一哥一.Java中的定时任务1.前言在实际项目开发中,定时任务的应用场景可以说是非常广泛的,比如某些视频网站,购买会......
  • jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析
    jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析在日常开发中存在着调度延时任务、定时任务的需求,而jdk中提供了两种基于内存的任务调度工具,即相对早期的java.......