/*************** Programa Principal ***************/ void main() { char *aux; char opcao=' '; int num = 0; /***** Inicia Arquivo *****/ FILE *registro; registro = fopen("matriculas.dat", "r +"); if (registro == NULL) { printf("----------------------------------\n"); printf("Erro 101 - Arquivo Inexistente\n"); printf("----------------------------------\n"); } else { Lista* matriculas;//Cria agenda do tipo lista agenda = inicializa(); //Inicializa lista if (fgetc(registro) != EOF) { rewind(registro); fgets(aux, 30*sizeof(char), registro); num = atoi(aux); printf("%d", num); copiaLista(matriculas, registro, &num); } else { fprintf(registro, "%d", num); } /***** Menu *****/ while (opcao != 'q') { opcao = imprime_menu(); //Imprime o menu switch (opcao) { case 'i': matriculas = insere(matriculas, registro); num++; break; case 'b': busca(matriculas); getchar(); break; case 'p': imprime_tudo(matriculas); getchar(); break; } } rewind(registro); fprintf(registro, "%d \n", num); //Coloca numero de contatos no inicio do arquivo printf("---------------------------\n"); printf("Salvando e saindo\n"); printf("---------------------------\n"); } }
int main() { int opcion; float numero1; float numero2; float resultado; printf("Programa calculadora\n"); do{ imprime_menu(); scanf("%d", &opcion); switch(opcion) { case SUMA: introducir_datos(&numero1, &numero2); resultado = suma(numero1, numero2); imprimir_resultado(resultado); break; case RESTA: introducir_datos(&numero1, &numero2); resultado = resta(numero1, numero2); imprimir_resultado(resultado); break; case MULTIPLICACION: introducir_datos(&numero1, &numero2); resultado = multiplicacion(numero1, numero2); imprimir_resultado(resultado); break; case DIVISION: introducir_datos(&numero1, &numero2); resultado = division(numero1, numero2); imprimir_resultado(resultado); break; default: break; } }while (opcion != 5); return 0; }
int main() { int m[MAXLINHA][MAXCOLUNA], linhas, colunas, maiorValor; int c_m[MAXLINHA][MAXCOLUNA], c_linhas, c_colunas, c_maiorValor; char nome_arquivo[MAX_NAME], c_nome_arquivo[MAX_NAME], complemento[MAX_NAME], menu = '9'; int a, b, c, d, t = 0, index_char; printf("Digite o nome do arquivo de entrada: "); scanf("%s", nome_arquivo); while (le_pgm(nome_arquivo, m, &linhas, &colunas, &maiorValor) == 0) { printf("Digite o nome do arquivo de entrada: "); scanf("%s", nome_arquivo); } printf("Arquivo %s.pgm carregado com sucesso.\n", nome_arquivo); imprime_menu(); while(menu != 's') { if (menu == 'c') { printf("Digite o nome do arquivo de entrada: "); scanf("%s", nome_arquivo); if (le_pgm(nome_arquivo, m, &linhas, &colunas, &maiorValor) == 1) { t = 0; printf("Arquivo %s.pgm carregado com sucesso.\n\n", nome_arquivo); } else return 0; } else if (menu == 'a') { imprime_menu(); } else if (menu == 't') { imprime_matriz(m, linhas, colunas); } else if (menu == 'n') { negativo(m, linhas, colunas); complemento[t++] = 'n'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'r') { rotacao(m, &linhas, &colunas); complemento[t++] = 'r'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'v') { rebatimentoVertical(m, linhas, colunas); complemento[t++] = 'v'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'h') { rebatimentoHorizontal(m, linhas, colunas); complemento[t++] = 'h'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'x') { printf("Informe x superior: "); scanf("%d", &a); printf("Informe y superior: "); scanf("%d", &b); printf("Informe x inferior: "); scanf("%d", &c); printf("Informe y inferior: "); scanf("%d", &d); if (a < 0 || b < 0 || c > (linhas - 1) || d > (colunas - 1) || a > c || b > d) { printf("Limites invalidos\n\n"); } else { corte(m, &linhas, &colunas, a, b, c, d); complemento[t++] = 'x'; printf("Operacao realizada com sucesso.\n"); } } else if (menu == 'e') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } filtroErosao(m, linhas, colunas, a); complemento[t++] = 'e'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'd') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } filtroDilatacao(m, linhas, colunas, a); complemento[t++] = 'd'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'm') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } filtroMediana(m, linhas, colunas, a); complemento[t++] = 'm'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'z') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } filtroMedia(m, linhas, colunas, a); complemento[t++] = 'z'; printf("Operacao realizada com sucesso.\n"); } else if (menu == '1') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } printf("Informe o valor de k: "); scanf("%d", &b); filtroBorda1(m, linhas, colunas, a, b); complemento[t++] = '1'; printf("Operacao realizada com sucesso.\n"); } else if (menu == '2') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } printf("Informe o valor de k: "); scanf("%d", &b); filtroBorda2(m, linhas, colunas, a, b); complemento[t++] = '2'; printf("Operacao realizada com sucesso.\n"); } else if (menu == '3') { printf("Digite o tamanho da janela: "); scanf("%d", &a); while(a < 3 || a > 50) { printf("Tamanho invalido. A janela deve ser entre 3 e 50.\n"); printf("Digite o tamanho da janela: "); scanf("%d", &a); } printf("Informe o valor de k: "); scanf("%d", &b); filtroBorda3(m, linhas, colunas, a, b); complemento[t++] = '3'; printf("Operacao realizada com sucesso.\n"); } else if (menu == 'g') { for(index_char = 0; nome_arquivo[index_char] != 0; index_char++) { c_nome_arquivo[index_char] = nome_arquivo[index_char]; } if (t > 0) c_nome_arquivo[index_char++] = '-'; for(a = 0; a < t; a++) c_nome_arquivo[index_char++] = complemento[a]; while(c_nome_arquivo[index_char] != 0) c_nome_arquivo[index_char++] = 0; grava_pgm(c_nome_arquivo, m, linhas, colunas, maiorValor); printf("%s.pgm\nArquivo %s.pgm gravado com sucesso.\n", c_nome_arquivo, c_nome_arquivo); } else if (menu == 'C') { printf("Digite o nome do arquivo para comparacao: \n"); scanf("%s", c_nome_arquivo); if (le_pgm(c_nome_arquivo, c_m, &c_linhas, &c_colunas, &c_maiorValor) == 1) { if (c_linhas != linhas || c_colunas != colunas) { printf("As matrizes tem dimensoes diferentes.\n"); } else { /* Compara valor a valor e verifica se é igual ou diferente */ c = 1; for(a = 0; a < linhas; a++) { for(b = 0; b < colunas; b++) { if (m[a][b] != c_m[a][b]) { c = 0; break; } } if (c == 0) break; } if (c == 0) printf("As matrizes tem dimensoes diferentes.\n"); else printf("As matrizes sao iguais.\n"); } } else { printf("Falha ao carregar arquivo %s.pgm de comparacao.\n", c_nome_arquivo); } } else if (menu != '9') { printf("Comando invalido\n"); } printf("Digite um comando: "); scanf(" %c", &menu); } return 0; }