si lo llegan a hacer va a ser en mi opinion el peor error que pueden hacer... a parte de haberle robado todo a steve jobs...
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Eternal Idol en 26 Agosto 2010, 16:06 PM
scanf no es recomendable, asi tenes mas seguridad (al pasar el tamaño del buffer) y no se ensucia el buffer del teclado (por eso getchar funciona):fgets(sta, sizeof(sta), stdin);
scanf con %s lee una palabra sola, no es problema del conteo, probalo con fgets y vas a ver como funciona bien. Esto es matar dos pajaros de un tiro
#include <stdio.h>
#include <stdlib.h>
char sta[50];
int y=0;
main (){
printf("Ingrese la frase a la cual desea contarle las letras\n");
scanf("%s",sta);
while (sta[y]!='\0'){
y++;
}
printf("La frase tiene %d caracteres\n", y);
getchar();
return 0;
}
e2= sqrt((b2*b2)-(4*a2*c2));
e2 = (-(b2)+e2)/(2*a2);
f2 = sqrt((b2*b2)-(4*a2*c2));
f2 = (-(b2)-f2)/(2*a2);
e2= ((b2*b2)(-4*(a2*c2))); //aca puse bien la distribucion de la ecuacion.
if (e2>0){
e2=(sqrt(e2))/(2*2a);
}
else{
printf("No existe raiz 1.");}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
float divis(float numa,float numb,float numc,float dena,float denb,float denc);
float div0(float numa,float numb,float numc,float dena,float denb,float denc);
float divt(float numa,float numb,float numc,float dena,float denb,float denc);
float diva(float numa,float numb,float numc,float dena,float denb,float denc);
float var10(float b,float c);
float var20(float a,float c);
float vartrue(float a,float b,float c);
float a;
float b;
float c;
float raiz1;
float raiz2;
float ordenada;
float numa;
float numb;
float numc;
float dena;
float denb;
float denc;
float asihor;
float asiver1;
float asiver2;
int x;
int main(int argc, char *argv[]){ //comienzo funcion main
prin: //menu principal
system("cls");
printf (" *****************Version 2.0*******************\n\a");
printf (" ----------------------------------------------------\n| Si desea calcular una funcion polinomica ingrese 1.|\n| Si desea calcular una funcion racional ingrese 2. |\n ----------------------------------------------------\n");
scanf ("%d",&x);
switch (x){
case 1:
goto poli;
case 2:
goto raci;
case 1992:
goto rights;
default:
goto prin;
}
rights: //Rights
system("cls");
printf ("PROGRAMADO Y DISEÑADO POR ALEJANDRO BENTIVENGO ^^ \n");
system("PAUSE");
goto prin;
poli: //ACA EMPIEZA LA SELECCION DE LAS POLINOMICAS
system("cls");
printf ("Esta opcion unicamente calcula los valores correspondientes a funciones polinomicas de hasta grado 2\n\a");
printf ("Ingrese el valor a de la funcion\nEn caso de que no exista colocar 0\n");
scanf ("%f",&a);
printf ("Ingrese el valor b de la funcion\nEn caso de que no exista colocar 0\n\a");
scanf ("%f",&b);
printf ("Ingrese el valor c de la funcion\nEn caso de que no exista colocar 0\n\a");
scanf ("%f",&c);
if (a==0) {
var10(b,c);
goto pregunta;
}
else if (b==0){
var20(a,c);
goto pregunta;
}
else {
vartrue(a,b,c);
goto pregunta;
}
pregunta: //PREGUNTA PARA ARRANCAR DE VUELTA
system("cls");
printf (" ********************************************\n * Si desea resolver otra funcion ingrese 1.*\n * Si desea salir ingrese 2. *\n ********************************************\n\a");
scanf ("%d",&x);
switch (x){
case 1:
goto prin;
case 2:
return (0);
default:
goto pregunta;
}
raci: // Comiendo funciones RACIONALES
system("cls");
printf ("Esta opcion unicamente calcula los valores correspondientes a funciones racionales de hasta grado 2\nEste programa expresa: Las asintotas, las raices, y la ordenada al origen.\n\a");
printf ("Comenzando por el numerador, ingrese a.\nEn caso que no exista colocar 0.\n\a");
scanf ("%f",&numa);
printf ("Ingrese el b del numerador.\nEn caso que no exista colocar 0.\n\a");
scanf ("%f",&numb);
printf ("Ingrese el c del numerador.\nEn caso que no exista colocar 0.\n\a");
scanf ("%f",&numc);
printf ("Siguiendo por el denominador, ingrese el a del mismo.\nEn caso que no exista colocar 0.\n\a");
scanf ("%f",&dena);
printf ("Ingrese el b del denominador.\nEn caso que no exista colocar 0.\n\a");
scanf ("%f",&denb);
printf ("Ingrese el c del denominador.\nEn caso que no exista colocar 0.\n\a");
scanf ("%f",&denc);
if (numa==0 && dena==0){
divis(numa,numb,numc,dena,denb,denc);
goto pregunta;
}
else if (numa==0 && dena!=0){
div0(numa,numb,numc,dena,denb,denc);
goto pregunta;
}
else if (numa!=0 && dena==0){
diva(numa,numb,numc,dena,denb,denc);
goto pregunta;
}
else {
divt(numa,numb,numc,dena,denb,denc);
goto pregunta;
}
}
float var10(float b,float c){
system("cls");
raiz1=((0-c)/b);
ordenada=c;
printf ("La raiz esta en %f\nY la ordenada al origen en %f\n\a", raiz1, ordenada);
system("PAUSE");
return (0);
}
float var20(float a,float c){
system("cls");
raiz1=(-4*(a*c));
if (raiz1>0){
raiz1=sqrt(raiz1);
raiz1=0-raiz1;
raiz1=raiz1/(2*a);
}
else {
ordenada=c;
printf ("La funcion no tiene raices.\nLa ordenada esta en %f\n\a", ordenada);
system("PAUSE");
return (0);
}
raiz2=(-4*(a*c));
raiz2=sqrt(raiz2);
raiz2=0+raiz2;
raiz2=raiz2/(2*a);
ordenada=c;
printf ("La raiz 1 esta en %f\nLa raiz 2 esta en %f\nY la ordenada al origen en %f\n\a", raiz1, raiz2, ordenada);
system("PAUSE");
}
float vartrue(float a,float b,float c){
system("cls");
raiz1=((b*b)-4*(a*c));
if (raiz1>0){
raiz1=sqrt(raiz1);
raiz1=(0-b)-raiz1;
raiz1=raiz1/(2*a);
}
else {
ordenada=c;
printf ("La funcion no tiene raices.\nLa ordenada esta en %f\n\a", ordenada);
system("PAUSE");
return (0);
}
raiz2=((b*b)-4*(a*c));
raiz2=sqrt(raiz2);
raiz2=(0-b)+raiz2;
raiz2=raiz2/(2*a);
ordenada=c;
printf ("La raiz 1 esta en %f\nLa Raiz 2 esta en %f\nY la ordenada al origen en %f\n\a", raiz1, raiz2, ordenada);
system("PAUSE");
}
float divis(float numa,float numb,float numc,float dena,float denb,float denc){
system("cls");
asiver1=((0-denc)/denb);
asihor=(numa/dena);
raiz1=((0-numc)/numb);
ordenada=(numc/denc);
printf ("La raiz se encuentra en %f.\nLa asintota Vertical en %f y la horizontal en %f.\nLa ordenada esta en %f\n\a", raiz1, asiver1, asihor, ordenada);
system("PAUSE");
}
float div0(float numa,float numb,float numc,float dena,float denb,float denc){
system("cls");
asihor=0;
asiver1=((denb*denb)-4*(dena*denc));
if (asiver1>0){
asiver1=sqrt(asiver1);
asiver1=((0-denb)-asiver1);
asiver1=asiver1/(2*dena);
asiver2=((denb*denb)-4*(dena*denc));
asiver2=sqrt(asiver2);
asiver2=((0-denb)+asiver2);
asiver2=asiver2/(2*dena);
printf ("Existe asintota Vertical en %f y %f\n\a", asiver1, asiver2);
}
else {
printf ("No existe Asintota Vertical\n\a");
}
raiz1=((0-numc)/numb);
ordenada=(numc/denc);
printf ("La asintota horizontal se encuentra en %f.\nLa raiz se encuentra en %f.\nLa ordenada se encuentra en %f\n\a",asihor,raiz1,ordenada);
system("PAUSE");
}
float divt(float numa,float numb,float numc,float dena,float denb,float denc){
system("cls");
asihor=numa/dena;
asiver1=((denb*denb)-4*(dena*denc));
if (asiver1>0){
asiver1=sqrt(asiver1);
asiver1=((0-denb)-asiver1);
asiver1=asiver1/(2*dena);
asiver2=((denb*denb)-4*(dena*denc));
asiver2=sqrt(asiver2);
asiver2=((0-denb)+asiver2);
asiver2=asiver2/(2*dena);
printf ("Existe asintota Vertical en %f y %f\n\a", asiver1, asiver2);
}
else {
printf ("No existe Asintota Vertical\n\a");
}
raiz1=((numb*numb)-4*(numa*numc));
if (raiz1>0){
raiz1=sqrt(raiz1);
raiz1=((0-numb)-raiz1);
raiz1=(raiz1/(2*numa));
raiz2=((numb*numb)-4*(numa*numc));
raiz2=sqrt(raiz2);
raiz2=((0-numb)+raiz2);
raiz2=(raiz2/(2*numa));
printf ("Existe raiz en %f y %f\nCUIDADO!: Si el valor de las raices es igual al de las asintotas\nentonces no es una raiz!!!\n\a",raiz1,raiz2);
}
else {
printf ("No existen raices\n\a");
}
ordenada=(numc/denc);
printf ("La ordenada se encuentra en %f\nY la asintota horizontal en %f.\n\a", ordenada, asihor);
system("PAUSE");
}
float diva(float numa,float numb,float numc,float dena,float denb,float denc){
system("cls");
printf ("No existe asintota horizontal\n\a");
raiz1=((numb*numb)-4*(numa*numc));
if (raiz1>0){
raiz1=sqrt(raiz1);
raiz1=((0-numb)-raiz1);
raiz1=(raiz1/(2*numa));
raiz2=((numb*numb)-4*(numa*numc));
raiz2=sqrt(raiz2);
raiz2=((0-numb)+raiz2);
raiz2=(raiz2/(2*numa));
printf ("Existe raiz en %f y %f\nCUIDADO!: Si el valor de las raices es igual al de las asintotas\nentonces no es una raiz!!!\n\a",raiz1,raiz2);
}
else {
printf ("No existen raices\n\a");
}
asiver1=((0-denc)/denb);
ordenada=numc/denc;
printf ("Existe asintota vertical en %f\nYla ordenada al origen en %f\n\a",asiver1,ordenada);
system("PAUSE");
}