Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.7 kB
2
Indexable
Never
#include <stdio.h>
#include <string.h>

#define MAX_NAME_SIZE 100

// YOUR CODE HERE
void salesByGroup(char filename[MAX_NAME_SIZE], char group[MAX_NAME_SIZE]) {

    FILE* fp;
    fp = fopen(filename, "r");
    char medicine[MAX_NAME_SIZE], actividad[MAX_NAME_SIZE], grupo[MAX_NAME_SIZE], cantidad[MAX_NAME_SIZE], cajas[MAX_NAME_SIZE];
    char basura[MAX_NAME_SIZE];

    if(fp == NULL) {
        printf("Error opening sales file!\n");
    } else {

        // Hacer prelectura (frase, palabra)
        // !feof(fp) -> mientras no sea el final del archivo
        // fscanf(fp, "%s", word) -> lee una palabra del archivo o fgets
        // fscanf lee hasta un ' ', '\n', '\t' o EOF
        // 1923434hola fscanf(%d o %f) -> 1923434

        printf("\nSales list:\n");

        fscanf(fp, "%s", medicine);

        while(!feof(fp)) {

            fscanf(fp, "%s", actividad);
            fscanf(fp, "%s", grupo);
            fscanf(fp, "%s", basura);
            fscanf(fp, "%s", cantidad);
            fscanf(fp, "%s", basura);
            fscanf(fp, "%s", cajas);
            fscanf(fp, "%s", basura);

            //Aqui ya tengo la información de una línea y puedo operar
            if(strcmp(grupo, group) == 0) {
                //Mismo grupo!
                printf("* %s (%s tablets) -- %s boxes\n", medicine, cantidad, cajas);
            }

            //prelectura otra vez
            fscanf(fp, "%s", medicine);

        }

        fclose(fp);

    }

}

int main(){
    char filename[MAX_NAME_SIZE], group[MAX_NAME_SIZE];
    
    printf("Enter filename: ");
    scanf("%s", filename);
    printf("Enter chemical group: ");
    scanf("%s", group);
    salesByGroup(filename, group);
    
    return 0;
}