Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguém poderia me ajudar com essa questão?
Escreva um programa que escreva em um arquivo os divisores de um número inteiro passado como parâmetro do programa. O programa deve receber dois parâmetros, o número inteiro e o nome do arquivo a ser gravado. Um exemplo de chamada de programa é:
./divisores 213 divisores213.txt
Para implementar este programa uso os códigos fornecidos a seguir:
main.c
#include <stdio.h>
#include "divisores.h"
void usage(){
printf("\n\n Uso do programa gera_divisores:\n\n");
printf(" ./gera_divisores NUM ARQ\n\n");
printf(" onde NUM é um inteiro com o número cujo divisores se deseja gerar\n");
printf(" e ARQ é o nome do arquivo a ser criado com os divisores de NUM.");
printf("TODOS os parâmetros são obrigatórios");
}
int check_parameters(int argc, char **argv){
/ FALTA IMPLEMENTAR /
return 0;
}
unsigned long int converte(char *num){
unsigned long int n;
/ FALTA IMPLEMENTAR /
return n;
}
int main(int argc, char * argv[ ]) {
FILE * arq_divisores;
if (!check_parameters(argc, argv)){
usage();
return 1;
}
arq_divisores = fopen(argv[2],"w");
if (arq_divisores== NULL){
printf("ERROR: Não foi possível abrir o arquivo %s.\n",argv[2]);
return 2;
}
if (gera_divisores(converte(argv[1]),arq_divisores) != 0){
printf("ERROR: Problemas ao escrever dados no arquivo %s.\n", argv[2]);
return 3;
}
fclose(arq_divisores);
return 0;
}
divisores.h
#ifndef Divisores_divisores_h
#define Divisores_divisores_h
int gera_divisores(unsigned long int num, FILE * arquivo);
#endif
divisores.c
#include <stdio.h>
#include "divisores.h"
int gera_divisores(unsigned long int num, FILE * arquivo){
return 0;
}Carregando comentários...