Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Divisores de um número

$
0
0

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;
}

Viewing all articles
Browse latest Browse all 14190