コード例 #1
0
ファイル: agenda.c プロジェクト: FlavScheidt/bcc
/***************
	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");
	}
}
コード例 #2
0
ファイル: main.c プロジェクト: HarumiGallegosBarrios/edd2015
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;
}
コード例 #3
0
ファイル: main.c プロジェクト: lucasmoreira/USP
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;
}