Calcular un campo electrico, sus distintas componentes y la fuerza electrostática debida a este. - informatica-ieef-etsidi/formulas-aritmeticas-e105-ee105 GitHub Wiki

En el siguiente código, se puede calcular el valor de un campo eléctrico, la carga que lo produce o la distancia a la que se tienen cierta intensidad de campo, además de un apartado de calculo de la fuerza electrostática.

// Nombre: Alfonso Pinto

#include<stdio.h>
#include<math.h>   //uso esta libreria para poder usar la funcion raiz cuadrada mas adelante

void main() {
	
	double K = 9000000000;   //defino el valor de la constante de coulomb
	int i;    //es un caracter que usa para el condional mas adelante
	int eleccion;   //es el nombre de la 'variable' que defino al usar el switch
	//Relativo a el campo Electrico
	float carga; //la carga en coulombs
	float distancia; //la distancia en metros
	float campo; //el campo en newtons partido de coulombs
	float s1;   //solucion1, es el campo que obtengo
	float s2;  //solucion2, es el valor de la carga que obtengo
	float s3;  //solucion3, es el valor de la distancia que obtengo
	// Relativo a la fuerza de Coulomb
	float carga1;  //defino la primera carga
	float carga2;  //defino la segunda carga
	float solucion;  //es la solucion, el valor de la fuerza
	int j;  //variable que defino para el uso del while 
	j = 1;

	do {

		printf("Bienvenido a \"Campo Electrico\" \n");
		printf("Pulse la tecla 1 para acceder a  \"Campo Electrico\" \n");
		printf("Pulse la tecla 2 para acceder a  \"Fuerza de Coulomb\" \n");
		printf("Pulse la tecla 3 para acceder a  \"Informacion\" \n ");
		scanf_s("%d", &i);

		system("cls"); //limpio la pantalla en cuanto pulso el 1 o el 2

		if (i == 1) {
			printf("Que desea hacer? \n");
			printf("1 Calcular campo \n");
			printf("2 Calcular la carga \n");
			printf("3 Calcular la distacia \n");
			scanf_s("%d", &eleccion);

			switch (eleccion) {            //uso el switch en vez de usar el if...else para poner distintos casos mas sencillos
			case 1:

				printf("Introduce la carga(en coulombs)= \n");
				scanf_s("%f", &carga);
				printf("Introduce la distancia(en metros)= \n ");
				scanf_s("%f", &distancia);
				s1 = K * carga / (distancia*distancia);
				printf("El valor del campo es %f N/C \n\n\n", s1);
				break;
			case 2:

				printf("Introduce el valor del campo(en N/C)= \n");
				scanf_s("%f", &campo);
				printf("Introduce la distancia(en metros)= \n");
				scanf_s("%f", &distancia);
				s2 = campo * distancia*distancia / K;
				printf("El valor de la carga es %f C \n\n\n", s2);
				break;
			case 3:

				printf("Introduce el valor del campo(en N/C)= \n");
				scanf_s("%f", &campo);
				printf("Introduce el valor de la carga(en coulombs)= \n");
				scanf_s("%f", &carga);
				s3 = sqrt(K*carga / campo);  //con la ayuda de la libreria math.h uso la funcion raiz cuadrada
				printf("La distancia es %f m \n\n\n", s3);
				break;
			default:    //indica que tiene que hacer el programa en caso de que no se elija ninguna de las opciones anteriores
				printf("No ha elegido una de las opciones propuestas \n");


			}
		}
		else if (i == 2) {   //esta condiciion nos dira el valor de la fuerza electrostatica

			printf("Introduzca el valor de la carga 1(en coulombs)= \n");
			scanf_s("%f", &carga1);
			printf("Introduzca el valor de la carga 2(en coulombs)= \n");
			scanf_s("%f", &carga2);
			printf("Introduzca el valor de la distancia(en metros)= \n");
			scanf_s("%f", &distancia);
			solucion = K * carga1*carga2 / (distancia * distancia);
			printf("El valor de la fuerza de Coulomb es %f N \n\n\n", solucion);
		}
		else if (i == 3) {
			printf("El programa calcula el valor de los distintos elementos que podemos encontrar en un campo electrico \n ");
			printf("creado por una carga puntual. El valor tanto del campo como el de la fuerza de se da como escalar aunque \n");
			printf("hay que recordar que es un valor vectorial. \n\n\n");

		}
		else {
			printf("Error, pulse otra tecla \n\n\n");
		}
		system("pause");
		system("cls");
	} while (j = 1);
	system("PAUSE");
}
⚠️ **GitHub.com Fallback** ⚠️