Logo Studenta

Programacion I - T P Nro 06

¡Este material tiene más páginas!

Vista previa del material en texto

Julieta Ruppert 
1. 
#include <stdio.h> 
 
//prototipo funciones 
int leer_valor(); 
int leer_ref(int *valor); 
int validar(int *valor1, int valor2); 
int numeros_pares(int *valor1, int *valor2); 
 
 
//main 
int main(){ 
 int num1, num2, num_menor; 
 
 num1 = leer_valor(); 
 
 leer_ref(&num2); 
 
 num_menor = validar(&num1, num2); 
 
 if(num_menor == num2){ 
 printf("Error"); 
 } 
 else{ 
 numeros_pares(&num1, &num2); 
 } 
 
 return 0; 
} 
 
 
//encabezado funciones 
Julieta Ruppert 
int leer_valor(){ 
 int valor; 
 
 do{ 
 printf("Ingrese un numero: "); 
 scanf("%d", &valor); 
 
 }while(valor<0); 
 
 return valor; 
} 
 
int leer_ref(int *valor){ 
 
 do{ 
 printf("Ingrese un numero: "); 
 scanf("%d", valor); 
 
 }while(*valor<0); 
 
 return *valor; 
} 
 
int validar(int *valor1, int valor2){ 
 int menor; 
 
 do{ 
 menor = *valor1<valor2; 
 
 }while(*valor1>=valor2); 
 
 return menor; 
Julieta Ruppert 
} 
 
int validar(int *valor1, int valor2){ 
 int menor; 
 
 do{ 
 menor = *valor1 < valor2; 
 if (*valor1 >= valor2) { 
 printf("El segundo número debe ser mayor que el primero. Ingrese un 
nuevo número: "); 
 scanf("%d", &valor2); 
 } 
 }while(*valor1 >= valor2); 
 
 return menor; 
} 
 
 
int numeros_pares(int *valor1, int *valor2){ 
 printf("Los numeros pares entre %d y %d son: ", *valor1, *valor2); 
 
 for (int i = *valor1; i <= *valor2; i++){ 
 if (i % 2 == 0) { 
 printf("%d ", i); 
 } 
 } 
} 
 
 
 
 
 
 
Julieta Ruppert 
2. 
#include <stdio.h> 
 
//prototipo funciones 
void leer(int limite_inferior, int limite_superior, int *resultado); 
int valor_horas(int *valor_categoria); 
int sueldo_neto(int *horas_validadas, int valor_horas); 
void descuento(int *sueldo_neto, int *sueldo_descuento); 
 
//main 
 
int main(){ 
 int cantidad_empleados, cantidad_horas, categoria, cobro_categoria, sueldo, 
sueldo_aporte; 
 
 printf("Cantidad de empleados.\n"); 
 leer(0, 500, &cantidad_empleados); 
 
 printf("Cantidad de horas trabajadas.\n"); 
 leer(0, 300, &cantidad_horas); 
 
 printf("Categoria.\n"); 
 leer(1, 5, &categoria); 
 
 cobro_categoria = valor_horas(&categoria); 
 
 sueldo = sueldo_neto(&cantidad_horas, cobro_categoria); 
 
 descuento(&sueldo, &sueldo_aporte); 
 
 printf("El sueldo neto promedio de los empleados fue: %d.\n", sueldo); 
 printf("El sueldo con un 13 porciento de descuento fue: %d.\n", sueldo_aporte); 
 
Julieta Ruppert 
 return 0; 
} 
 
//encabezado funciones 
 
void leer(int limite_inferior, int limite_superior, int *resultado){ 
 int valor; 
 
 do { 
 printf("Ingrese un numero entre %d y %d: ", limite_inferior, limite_superior); 
 scanf("%d", &valor); 
 } while (valor < limite_inferior or valor > limite_superior); 
 
 *resultado = valor; 
 
} 
 
int valor_horas(int *valor_categoria){ 
 int valor_horas; 
 
 switch(*valor_categoria){ 
 case 1: 
 valor_horas = 15; 
 break; 
 
 case 2: 
 valor_horas = 10; 
 break; 
 
 case 3: 
 valor_horas = 7; 
 break; 
Julieta Ruppert 
 
 default: 
 valor_horas = 5; 
 break; 
 } 
 
 return valor_horas; 
} 
 
int sueldo_neto(int *horas_validadas, int valor_horas){ 
 int sueldo_neto; 
 
 if(*horas_validadas < 160){ 
 sueldo_neto = (*horas_validadas * valor_horas)*1; 
 } 
 else if(*horas_validadas >= 160 and *horas_validadas <= 200){ 
 sueldo_neto = (*horas_validadas * valor_horas)*2; 
 } 
 else{ 
 sueldo_neto = (*horas_validadas * valor_horas)*3; 
 
 } 
 
 return sueldo_neto; 
} 
 
 
void descuento(int *sueldo_neto, int *sueldo_descuento){ 
 float aporte; 
 
 aporte = *sueldo_neto * 0.13; 
 
Julieta Ruppert 
 *sueldo_descuento = *sueldo_neto - aporte; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Julieta Ruppert 
3. 
#include <stdio.h> 
#include <conio.h> 
#include <math.h> 
 
//prototipo funciones 
int llenar_vector(int v[]); 
int media(int v[], int *promedio); 
void proximo(int v[], int promedio, int *posicion_cercano); 
 
//main 
int main(){ 
 int vector[7]; 
 int media_aritmetica; 
 int mas_proximo; 
 
 llenar_vector(vector); 
 
 media(vector, &media_aritmetica); 
 
 proximo(vector, media_aritmetica, &mas_proximo); 
 
 printf("La media aritmetica del vector es %d.\n", media_aritmetica); 
 printf("La posicion del elemento mas cercano a la media es %d", mas_proximo); 
 
 return 0; 
} 
 
//encabezado funciones 
int llenar_vector(int v[]){ 
 int i; 
 
Julieta Ruppert 
 for(i=0 ; i<7 ; i++){ 
 printf("Ingrese un valor para la posicion %d del vector: ", i); 
 scanf("%d", &v[i]); 
 } 
} 
 
int media(int v[], int *promedio){ 
 int i; 
 int suma = 0; 
 
 for(i=0 ; i<7 ; i++){ 
 suma = suma+v[i]; 
 } 
 
 *promedio = suma/7; 
 
 return *promedio; 
} 
 
void proximo(int v[], int promedio, int *posicion_cercano){ 
 int cercano = v[0]; 
 *posicion_cercano = 0; 
 int i; 
 
 for(i=0 ; i<7 ; i++){ 
 if(fabs(v[i] - promedio) < fabs(cercano - promedio)){ 
 cercano = v[i]; 
 *posicion_cercano = i; 
 } 
 } 
 
} 
Julieta Ruppert 
4. 
#include <stdio.h> 
#include <string.h> 
#include <ctype.h> 
 
//prototipo funciones 
void leer(char letras[]); 
int palindrome(char letras[], int *es_palindrome); 
 
 
//main 
int main(){ 
 char palabra[25]; 
 int capicua; 
 int longitud; 
 
 leer(palabra); 
 
 longitud = palindrome(palabra, &capicua); 
 
 if(capicua == 1){ 
 printf("La palabra '%s' es un palindromo\n", palabra); 
 } 
 else{ 
 printf("La palabra '%s' no es un palindromo\n", palabra); 
 } 
 
 return 0; 
} 
 
 
//encabezado funciones 
Julieta Ruppert 
void leer(char letras[]){ 
 printf("Ingrese una palabra: "); 
 scanf("%s", letras); 
} 
 
int palindrome(char letras[], int *es_palindrome){ 
 int longitud = strlen(letras); 
 int i = 0; 
 int j = longitud -1; 
 
 *es_palindrome = 1; 
 
 for(i=0 ; i<longitud/2 ; i++, j--){ 
 if(tolower(letras[i]) != tolower(letras[j])){ 
 *es_palindrome = 0; 
 } 
 } 
 
 return longitud; 
}

Continuar navegando