Esempio n. 1
0
/* ==========================================================================
 * ============================ FUNÇÃO PRINCIPAL ============================
 * =============================== NÃO ALTERAR ============================== */
int main() {

	/* Arquivo */
	int carregarArquivo = 0;
	scanf("%d\n", &carregarArquivo); // 1 (sim) | 0 (nao)
	if (carregarArquivo) carregar_arquivo();



	/* Tabela Hash */
	int tam;
	scanf("%d", &tam);
	tam = prox_primo(tam);

	Hashtable tabela;
	criar_tabela(&tabela, tam);
	if (carregarArquivo) carregar_tabela(&tabela);



	/* Execução do programa */
	int opcao = 0;
	while(opcao != 6) {
		scanf("%d", &opcao);
		switch(opcao) {

		case 1:
			getchar();
			cadastrar(&tabela);
			break;
		case 2:
			getchar();
			alterar(tabela);
			break;
		case 3:
			getchar();
			buscar(tabela);
			break;
		case 4:
			remover(&tabela);
			break;
		case 5:
			imprimir_tabela(tabela);
			break;
		case 6:
			liberar_tabela(&tabela);
			break;

		case 10:
			printf("%s\n", ARQUIVO);
			break;

		default:
			ignore();
			printf(OPCAO_INVALIDA);
			break;
		}
	}
	return 0;
}
Esempio n. 2
0
int main(){

	
	int menu;
	
	do{
	
	printf("1- Cadastrar \n 2-Calcular valor total \n");
	scanf("%d",&menu);
	
	if(menu ==1 ){

		cadastrar();

	}else if(menu == 2){

		valorEstoque();	
	}

	}while(menu >0 && menu <3);


			
return 0;	

}
Esempio n. 3
0
int main(int argc, char** argv) {
    
    int op;
    
    stat("/", &fi);
    int qtdMax = fi.st_blksize/sizeof(tCadastro);
    int posAtual = 0;
    tCadastro cadastro[qtdMax];
    tCadastro * aux;
    
    do { 
        printf("\t...M.e.n.u...\n");
        printf("\t| (1) Cadastrar funcionario\n");
        printf("\t| (2) Exibir funcionarios cadastrados\n");
        printf("\t| (3) Preencher cadastros restantes no bloco\n");
        printf("\t| (4) Escrever arquivo\n");
        printf("\t| (5) Ler arquivo\n");
        printf("\t| (0) Sair\n\t: ");
        scanf("%d",&op);
        getchar();
        
        switch(op){
            case 0:
                break;
                
                // Cadastrar funcionario
            case 1:
                cadastrar(&cadastro[posAtual]);
                posAtual++;
                break;
                
                // Exibe todos os funcionarios cadastrados
            case 2:
                exibeTodosCadastro(cadastro, posAtual);
                break;
                
                // Preenche automatico ateh completar o bloco
            case 3:
                cadastroAutomatico(cadastro, &posAtual, qtdMax);
                break;
                
                // Escreve blocos no arquivo
            case 4:
                escreveArquivo(cadastro, posAtual);
                break;
                
                // Leitura do arquivo para memoria
            case 5:
                aux = leituraArquivo(qtdMax);
                exibeTodosCadastro(aux, 23);
                break;
        }
        
    } while(op != 0);
    
    
    
    return (EXIT_SUCCESS);
}
Esempio n. 4
0
void USART2_IRQHandler(void) {
	static char t[2];
	static uint16_t cnt = 0; // this counter is used to determine the string length

	char *comando;
	char *argumento;
	t[1] = '\0';

	// check if the USART2 receive interrupt flag was set
	if (USART_GetITStatus(USART2, USART_IT_RXNE )) {

		t[0] = USART2 ->DR; // the character from the USART1 data register is saved in t
		/* check if the received character is not the LF character (used to determine end of string)
		 * or the if the maximum string length has been been reached
		 */
		if ((t[0] != '\n') && (cnt < MAX_STRLEN)) {
			if ((t[0] >= 'a' && t[0] <= 'z') || (t[0] >= 'A' && t[0] <= 'Z')
					|| (t[0] >= '0' && t[0] <= '9') || t[0] == ' ') {
				USART_puts(USART2, t);
				if (received_string[cnt] == '\0') {
					received_string[cnt + 1] = '\0';
				}
				received_string[cnt] = t[0];
				cnt++;
			} else if (t[0] == 0x7f) {
				if (cnt > 0) {
					cnt--;
					received_string[cnt] = '\0';
					USART_puts(USART2, "\b \b");
				}
			}
		} else if (t[0] == '\n') { // otherwise reset the character counter and print the received string
			cnt = 0;
			USART_puts(USART2, "\n");
			comando = strtok(received_string, " ");
			argumento = strtok(NULL, " ");
			if (strcmp(comando, "cadastrar") == 0) {
				cadastrar(argumento);
			} else if (strcmp(comando, "listar") == 0) {
				listar();
			} else if (strcmp(comando, "resetar") == 0) {
				resetarRegistros();
			} else if (strcmp(comando, "abrir") == 0) {
				abrir(argumento, 1);
			} else {
				USART_puts(USART2, "Comando desconhecido!");
			}
			USART_puts(USART2, "\n");
			USART_puts(USART2, ">");
			received_string[0] = '\0';
		}
	}
}
Esempio n. 5
0
// Funções
void main()
{
  int op1;

  do
  {
    // Menu
    op1 = menu();
    switch(op1)
    {
      // 1. Cadastrar
      case 1: cadastrar();
              break;

      // 2. Alterar
      case 2: alterar();
              break;

      // 3. Excluir
      case 3: excluir();
              break;

      // 4. Pesquisar
      case 4: pesquisar();
              break;

      // 5. Carregar banco de dados
      case 5: carregar();
              break;

      // 6. Salvar banco de dados
      case 6: salvar();
              break;

      // 7. Limpar banco de dados
      case 7: limpar();
              break;

      // 8. Sair
      case 8: printf("\n\n\tAte mais!\n");
      		  getch();
              break;

      // Outros
      default: printf("\n\n\tDigite uma opcao valida!\n\t[Pressione qualquer tecla para continuar...]\n");
      	      getch();
               break;
    }
  }
  while (op1!=8);
Esempio n. 6
0
void menu(){
  char op;
  clrscr();
  linha(1);
  linha(3);
  center("Menu Principal",2);
  gotoxy(30,5); cout<<"1 ... Cadastro";
  gotoxy(30,7); cout<<"2 ... Listar";
  gotoxy(30,9); cout<<"3 ... Fim do Programa";
  linha(22);
  linha(24);
  center("Escolha a Op‡Æo: ", 23);
  cin>>op;
  switch (op){
    case '1': cadastrar(); break;
    case '2': listar(); break;
    case '3': exit(0); break;
    default : menu();}}
Esempio n. 7
0
int main(){
	struct nomeGenerico objeto[5];
	int i=0;
	for(; i<5; i++){
		cadastrar( &objeto[i] );
	}
	
	char titulo[30];
	printf("entre com o titulo: ");
	scanf("%s", titulo);
	i=0;
	for(; i<5; i++){
		if( strcmp( objeto[i].titulo, titulo ) == 0){
			print( &objeto[i] );
		}
	}


}//gerado por gen.c
int main() {
	FILE* arquivo;
	TNo* raiz = NULL;
	int id, opcao;
	char nome[255];
	float av1, av2, av3;

	criaNovoArquivoModificado();

	if ((arquivo = fopen("ALTERADO.DAT", "r")) == NULL) {
		printf("Erro ao tentar abrir o arquivo.\n\n");
		exit(1);
	}

	arquivo = fopen("ALTERADO.DAT", "r");

	while (!feof(arquivo)) {
		fscanf(arquivo, "%d;%[^;]s", &id, nome);
		fscanf(arquivo, ";%f", &av1);
		fscanf(arquivo, ";%f", &av2);
		fscanf(arquivo, ";%f;", &av3);

		if (!feof(arquivo)) {
			raiz = cadastrar(raiz, raiz, id, nome, av1, av2, av3);
		}
	}

	opcao = usaMenu();

	if(opcao == 1) {
		printf("Opção 1 Escolhida");
		imprimirEmOrdem(raiz);
	} else {
		printf("Opção 2 Escolhida\n");
		printf("Digite o id do aluno:\n");
		scanf("%d", &id);
		buscar(raiz, id);
	}

	return 0;
}
Esempio n. 9
0
int main(){
	struct nomeGenerico objeto[5];
	int i=0;
	for(; i<5; i++){
 		cadastrar( &objeto[i] );
	}

	float p=1;
	while(!p==0){
		scanf("%f", &p);
		i=0;
		for(;i<5;i++){
			if( objeto[i].preco < p ){
				print( &objeto[i] );
				printf("\n");
			}
		}
	}
		

}//gerado por gen.c
Esempio n. 10
0
int main(){
        agenda ag;
	int i, op = 0;        
	ag.qtd = 0;
	ag.c = NULL;
	while (op != 1){	
		op = menu(op);
		switch(op){
			case 1:
				break;
			case 2:
				cadastrar(&ag);
				break;
			case 3:
				break;

		}
	}

	for(i = 0; i < ag.qtd; i++){
	        printf ("%s\n", ag.c[i].nome);
	        printf ("%s\n", ag.c[i].telefone);     
	}  
}
Esempio n. 11
0
int main(int argc, char **argv){

    int qntTurmas=0;
    int i, j;
    struct TURMAS *turma;
    double mediaFinal;
    //struct ALUNOS *aluno;

    //VALIDACAO QUANTIDADE DE TURMAS
    //se for passado somente 1 parametro pelo main
    if(argc == 1){        
    do{

        do{
            printf("\n# Quantas turmas voce quer cadastrar? \n");
            if(!scanf("%i", &qntTurmas)){;
            while(fgetc(stdin) != '\n'); 
                printf("\nERRO entrada invalida");
                printf("\n# Quantas turmas voce quer cadastrar? ");
                (!scanf("%i", &qntTurmas));
               // while(fgetc(stdin) != '\n');
            }else if(qntTurmas < 0){
                printf("\n# ERRO Quantidade de turmas deve ser maior que 0");
                printf("\n# Quantas turmas voce quer cadastrar? ");
                (!scanf("%i", &qntTurmas));
               // while(fgetc(stdin) != '\n');
            }             
        }while(qntTurmas < 1 );

        turma = (struct TURMAS *) malloc(qntTurmas * sizeof(struct TURMAS));   
        if(turma == NULL){
            printf("\nERRO %i", qntTurmas);
            printf("\n# ERRO: Nao foi possivel alocar dados para %i disciplinas.", qntTurmas);
        }        
        }while(qntTurmas < 1 || turma == NULL);
    }
    //se for passado mais de um parametro e o segundo ja seja um inteiro valido para quant de turmas
    else if(atoi(argv[1]) > 0){
        qntTurmas = atoi(argv[1]);
    }
    //se for passado mais de um parametro e o segundo nao for inteiro valido para qnt de turmas
    else{
        //qntTurmas = atoi(argv[1]);
        printf("\nERRO %s", argv[1]);
        do{

        do{
            printf("\n# Quantas turmas voce quer cadastrar? ");
            if(!scanf("%i", &qntTurmas)){;
            while(fgetc(stdin) != '\n'); 
                printf("\nERRO entrada invalida");
                printf("\n# Quantas turmas voce quer cadastrar? ");
                (!scanf("%i", &qntTurmas));
               //while(fgetc(stdin) != '\n');
            }else if(qntTurmas < 0){
                printf("\n# ERRO Quantidade de turmas deve ser maior que 0");
                printf("\n# Quantas turmas voce quer cadastrar? ");
                (!scanf("%i", &qntTurmas));
               // while(fgetc(stdin) != '\n');
            }             
        }while(qntTurmas < 1 );

        turma = (struct TURMAS *) malloc(qntTurmas * sizeof(struct TURMAS));   
        if(turma == NULL){
            printf("\nERRO %i\n", qntTurmas);
            printf("\n# ERRO: Nao foi possivel alocar dados para %i disciplinas.\n", qntTurmas);
        }        
        }while(qntTurmas < 1 || turma == NULL);         
       
    }//FIM DA VALIDACAO QUANTIDADE DE TURMAS

    printf("\n# Alocado com sucesso espaco para %i turmas", qntTurmas);
    printf("\n# Digite dados para %i turmas", qntTurmas);    
    cadastrar(turma, qntTurmas);

    printf("\n# FIM DOS CADASTROS\n");


	qsort(turma, qntTurmas, sizeof(struct TURMAS), comparaNome);

	for(i=0; i < qntTurmas; i++){
	qsort(turma[i].aluno, turma[i].qntAlunos, sizeof(struct ALUNOS), comparaNota);
	}

    printf("\n# RELATORIO PARA %i turmas\n", qntTurmas);

    //impressao relatorio turma
    printf("\nTURMA DISCIPLINA PROFESSOR QTDALUNOS \n");
    for(i=0; i < qntTurmas; i++){
    	
    	printf("%s", turma[i].numeroTurma);
    	printf("  %s", turma[i].disciplina);    	
    	printf("  %s", turma[i].professor);
    	printf("  %i\n", turma[i].qntAlunos);
    }

    printf("\n# RELATORIO DOS ALUNOS EM CADA TURMA\n");
    for(i=0; i < qntTurmas; i++){
    	printf("\nTURMA %s - %s - %i alunos\n", turma[i].numeroTurma, turma[i].disciplina, turma[i].qntAlunos);
    	
    	if(turma[i].qntAlunos > 0){
    		printf("\nMAT    ALUNO     G1   G2   MEDIA     G3       MEDIAFINAL   ");
    		for(j=0; j < turma[i].qntAlunos; j++){
    			
    			printf("\n%s", turma[i].aluno[j].matricula);
    			printf(" %s ", turma[i].aluno[j].nomeAluno);
    			printf("  %.1lf", turma[i].aluno[j].g1);  
    			printf("  %.1lf", turma[i].aluno[j].g2);
    			printf("  %.1lf", (turma[i].aluno[j].g1+ (turma[i].aluno[j].g2*2))/3);
    			printf("  %.1lf", turma[i].aluno[j].g3);

    			//calculo da media final
    			if(turma[i].aluno[j].g3 != 0){
    				//if(turma[i].aluno[j].g1 < turma[i].aluno[j].g2){
    				//	mediaFinal = (turma[i].aluno[j].g3 + (turma[i].aluno[j].g2 * 2))/3;
    				//}else{
    				//	mediaFinal = (turma[i].aluno[j].g1 + (turma[i].aluno[j].g3 * 2))/3;
    				//}
    				if (((turma[i].aluno[j].g3 + (turma[i].aluno[j].g2 * 2)) / 3) > ((turma[i].aluno[j].g1 + (turma[i].aluno[j].g3 * 2)) / 3)) {
					mediaFinal = (turma[i].aluno[j].g3 + (turma[i].aluno[j].g2 * 2)) / 3;
				} else {
					mediaFinal = (turma[i].aluno[j].g1 + (turma[i].aluno[j].g3 * 2)) / 3;
				}
    			}else{
    				mediaFinal = (turma[i].aluno[j].g1+ (turma[i].aluno[j].g2*2))/3;
    			}
    			printf("   %.1lf", mediaFinal);
    			if(mediaFinal >= 5.96){
    				printf("  APROVADO\n");
    			}else{
    				printf("  REPROVADO\n");
    			}

    			


    		}
    	}

    }






}