Você está na página 1de 4

#include <stdio.

h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>

void rankArray(int n, int * nums){


int i=0,maior=0,soma=0;
double media = 0;
int menor = nums[0];
for (i = 0 ; i < n ; i++){
if (nums[i] > maior)
maior = nums[i];
if (nums[i] < menor)
menor = nums[i];
soma = soma + nums[i];
}
media = (double)soma/n;

FILE * rank;
rank = fopen("rank.txt","w");
fprintf(rank,"<--Status--> \n\n");
fprintf(rank,"Maior Numero: %d\nMenor Numero %d\nmedia: %.2f \n\nSoma: %d
",maior,menor,media,soma);
fclose(rank);

}
void Arraydeordenado(int n, int* nums){
int i,j;
for (i=n-1; i>=1; i--)
for (j=0; j<i; j++)
if (nums[j]>nums[j+1])
{
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
FILE * ordenado;
ordenado = fopen("ordenado.txt","w");
fprintf(ordenado,"<--ORDENADOS--> \n\n");
for (i = 0 ; i < n ; i++)
fprintf(ordenado,"%d;",nums[i]);
fclose(ordenado);
}
void printArray(int n, int vet[]){
int i;
for (i = 0; i < n; i++)
printf("%d ", vet[i]);
printf("\n");
}
void Arraydereversos(int n , int * nums){
int i;
int aux[n];

for (i = 0; i < n; i++)


aux[n - 1 - i] = nums[i];
for (i = 0; i < n; i++)
nums[i] = aux[i];
FILE * reversos;
reversos = fopen("reversoss.txt","w");
fprintf(reversos,"<--REVERSOS--> \n\n");
for (i = 0 ; i < n ; i++)
fprintf(reversos,"%d;",nums[i]);
fclose(reversos);
}
void ArrayDosBinarios(int qnt , int vet[]){
int i,tamanho_do_bit,print_bit,count;
FILE *binario;
binario=fopen("binarios.txt","w");
fprintf(binario,"<--BINARIOS--> \n\n");

for(i=0;i<qnt;i++){
count=0;
for(tamanho_do_bit=31; tamanho_do_bit>=0; tamanho_do_bit--){
print_bit = vet[i] >> tamanho_do_bit;

if (print_bit & 1){


fprintf(binario, "1");
count++;
}
else if (count > 0)
fprintf(binario, "0");
}
fprintf(binario, ";");
}
fclose(binario);
}
void ArrayNums(int n, int * nums){
int i;
int nums = 0;
FILE * nums_aleatorios;
srand(time(NULL));

//Cria arquivo com nums aleatorios


nums_aleatorios = fopen("Aleatorios.txt", "w");
fprintf(nums_aleatorios,"<--NUMEROS ALEATORIOS--> \n\n");
for(i = 0; i < n; i++) {
nums = rand();
nums[i] = nums;
fprintf(nums_aleatorios , "%d;", nums);
}
fclose(nums_aleatorios);
}
void menu(){
system("cls");
printf("[MENU] \n\n");
printf("[1] Ordem Reversa\n");
printf("[2] Organisar nums\n");
printf("[3] Maior, menor e media\n");
printf("[4] Converter para binario\n");
printf("[0] Sair\n");
}
void menu_um(){
system("cls");
printf("<--CRIANDO ARQUIVO-->\n");
}
int main(void) {
// DECLARAÇÃO DE VARIÁVEIS
int escolha = -1;
int i,tamanho;

//Scanear info do usuario


do {
menu_um();
printf("\nDigite a quantidade de números que deseja criar : ");
scanf("%d", &tamanho);
if(tamanho < 100){
menu_um();
printf("\nA quantidade minima e 100! Tente novamente!");sleep(2);

}while (tamanho < 100);


int nums[tamanho];
ArrayNums(tamanho,nums);
system("cls");
printf("<--CRIANDO ARQUIVO--> \n\n");
printf("Arquivo Criado com sucesso!");
sleep(2);
fflush(stdin);

while(escolha != 0){
menu();
printf("\nSelecione uma opção para seguir: ");
scanf("%d", &escolha);

if(escolha == 0){
menu();
printf("\nAte mais!");sleep(1);
break;
}

if(escolha == 1){
Arraydereversos(tamanho,nums);
menu();
printf("\nArquivo criado com ordem invertida!");sleep(2);
}

else if(escolha == 2){


Arraydeordenado(tamanho,nums);
menu();
printf("\nArquivo de numeros ordenados criado!");sleep(2);
}

else if(escolha == 3){


rankArray(tamanho,nums);
menu();
printf("\nArquivo com o Maior numero, Menor e a media
criado!");sleep(2);
}

else if(escolha == 4){


ArrayBinario(tamanho, nums);
menu();
printf("\nArquivo Criado com os numeros convertidos para
binario");sleep(2);
}
else {
menu();
printf("\nOpcao Invalida.");sleep(2);
}
fflush(stdin);
}
}

Você também pode gostar