Resultados 1 al 4 de 4

Programita en C

  1. #1 Programita en C 
    Iniciado
    Fecha de ingreso
    Apr 2003
    Mensajes
    47
    Descargas
    3
    Uploads
    0
    Hola a todos necesita alguien que me pueda ayudar a hacer o que me de un programa de formulación inorganica por que el curso se acaba y estoy jodidillo.(Ya se que igual lo que pido es demasiado pero necesito ayuda como sea)

    Este el el codigo que llevo como vereis soy un chapucillas pero soy incapaz de terminarlo.

    #include <conio.h>
    #include <string.h>
    elegir();
    reconocerbin();
    reconocerter();
    void oxidos(struct obtenercadena);
    void hidruros(struct obtenercadena);
    void tp(struct obtenercadena);

    struct obtenercadena
    {
    char comp[5];
    char compconp[7];
    int valencia;
    };

    main()
    {
    gotoxy(28,2);
    printf("PROGRAMA DE FORMULACION");
    gotoxy(31,4);
    printf("Elija una opcion.\n");
    gotoxy(28,8);
    printf("<1>.Compuestos Binarios.\n");
    gotoxy(28,10);
    printf("<2>.Compuestos Terciarios.\n");
    gotoxy(38,16);
    printf("<_>");
    gotoxy(39,16);
    elegir();
    getch();
    }//main

    elegir()
    {
    int funcion;

    scanf("%d",&funcion);
    switch (funcion)
    {
    case 1:
    reconocerbin();
    break;
    case 2:
    reconocerter();
    break;
    default:
    printf("No existe ninguna opcion. Intentelo de nuevo.");
    elegir();
    break;
    }//switch
    return(0);
    }//elegir

    reconocerbin()
    {
    struct obtenercadena global;
    clrscr( );

    printf("Dame un compuesto:\n\a");
    scanf("%s",global.comp);


    if(global.comp[2]==111 || global.comp[2]==104)
    {

    if(global.comp[2]==111)
    {
    gotoxy(10,4);
    printf("ES UN OXIDO:\n");
    oxidos(global);
    }//if
    if(global.comp[2]==104)
    {
    gotoxy(10,4);
    printf("ES UN HIDRURO:\n");
    hidruros(global);
    }//else
    }
    else
    {
    if(global.comp[3]==111)
    {
    gotoxy(10,4);
    printf("ES UN OXIDO:\n");
    oxidos(global);
    }//if
    if(global.comp[3]==104)
    {
    gotoxy(10,4);
    printf("ES UN HIDRURO:\n");
    hidruros(global);
    }//else
    }//else oxidos hidruros
    return(0);
    }//reconocerbin

    reconocerter()
    {
    struct obtenercadena global;
    clrscr( );

    if(global.comp[2]==111 || global.comp[2]==104)
    }
    void oxidos(struct obtenercadena datos)
    {

    if(datos.comp[2]==111)
    {
    if(datos.comp[1]==50)
    {
    datos.valencia=datos.comp[3];
    datos.valencia=datos.valencia-49;
    gotoxy(10,6);
    printf("Oxido de ");
    tp(datos);
    }//if valencia
    else
    {
    printf("\nEs imposible porque la valencia del oxigeno es 2.");
    }//else valencia
    }//if oxido largo
    else
    {
    if(datos.comp[2]==50)
    {
    datos.valencia=datos.comp[4];
    datos.valencia=datos.valencia-48;
    gotoxy(10,6);
    printf("Oxido de ");
    tp(datos);
    }//if valencia
    else
    {
    printf("\nEs imposible porque la valencia del oxigeno es 2.");
    }//else valencia
    }//else oxido corto
    }

    void hidruros(struct obtenercadena datos)
    {
    char *nometal[16]={"f","fl","br","i","at","o","s","se","te","n","p" ,"as","sb","c","si","b"};

    if(datos.comp[2]==104)
    {
    if(datos.comp[1]==49)
    {
    datos.valencia=datos.comp[3];
    datos.valencia=datos.valencia-48;
    gotoxy(10,6);
    printf("Hidruro de ");
    tp(datos);
    }//if valencia
    else
    {
    printf("\nEs imposible porque la valencia del hidrogeno es 1.");
    }//else valencia
    }
    else
    {
    if(datos.comp[2]==49)
    {
    datos.valencia=datos.comp[4];
    datos.valencia=datos.valencia-48;
    gotoxy(10,6);
    printf("Hidruro de ");
    tp(datos);
    }//if valencia
    else
    {
    printf("\nEs imposible porque la valencia del hidrogeno es 1.");
    }//else valencia
    }//else oxido corto
    }
    void tp(struct obtenercadena formular)
    {
    char ele[2];
    int x,i,columna,fila;

    ele[0]=formular.comp[0];
    ele[1]=formular.comp[1];
    ele[2]=NULL;

    if(ele[1]==50 || ele[1]==49)
    {ele[1]=NULL;}



    char *s1[15][6]={
    /*i x*/ {"li","na","k","rb","cs","fr"},
    {"be","mg","ca","sr","ba","ra"},
    {"b","al","ga","in","tl",""},
    {"c","si","ge","sn","pb",""},
    {"n","p","as","sb","bi",""},
    {"o","s","se","te","po",""},
    {"f","cl","br","i","at",""},
    {"fe","co","ni","","",""},
    {"zn","","","","",""},
    {"cu","","","","",""},
    {"ag","","","","",""},
    {"au","","","","",""},
    {"cd","","","","",""},
    {"cr","","","","",""},
    {"mn","","","","",""},
    };
    char *s2[15][6]= {
    {"litio","sodio","potasio","rubidio","cesio","fran cio"},
    {"berilio","magnesio","calcio","estroncio","bario" ,"radio"},
    {"boro","aluminio","galio","indio","talio",""},
    {"carbono","silicio","germanio","estaño","plomo"," "},
    {"nitrogeno","fosforo","arsenico","antimonio","bis muto",""},
    {"oxigeno","azufre","selenio","teluro","polonio"," "},
    {"fluor","cloro","bromo","yodo","astato",""},
    {"hierro","cobalto","niquel"},
    {"zinc","","","","",""},
    {"cobre","","","","",""},
    {"plata","","","","",""},
    {"oro","","","","",""},
    {"cadmio","","","","",""},
    {"cromo","","","","",""},
    {"manganeso","","","","",""},
    };

    int s3[15][5]= {
    {1},
    {2},
    {3},
    {2,4},
    {3,5},
    {2,4,6},
    {1,3,5,7},
    {2,3},
    {2},
    {1,2},
    {1},
    {1,3},
    {2},
    {2,3,6},
    {2,3,4,6,7},
    };

    for(i=0;i<15;i++)
    for(x=0;x<6;x++)
    if( strcmp(ele,s1[i][x]));
    else{
    printf("%s",s2[i][x]);
    columna=i;
    }

    for(x=0;x<5;x++)
    {
    if(formular.valencia==s3[columna][x])
    {
    char *s4[7]={"I","II","III","IV","V","VI","VII"};
    printf(" %s",s4[formular.valencia-1]);
    }
    }

    }


    MUCHISIMAS GRACIAS.
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    Para empezar es de mal gusto pedir que te "hagan la tarea".
    En fin, debes fijarte en los errores que te da tu compilador, ahí encontrarás la mayoría de ellos, aqui van unos errores:

    Cuando declaras y cuando programas las funciones debes especificar el tipo de valor que regresan (o retornan) y sus parámetros, por ejemplo:
    int elegir(void); de la otra forma estas llamando a esa funcion en lugar de declararlas, lo cual de todas formas estaría mal porque no esta dentro del main

    el scanf necesita como parámetro un apuntador, es decir que debes poner un & antes de la variable y esto es algo que se te pasó en una o dos instrucciones,

    otra, el return no lleva paréntesis


    char *s4[7]={"I","II","III","IV","V","VI","VII"}; ¿quien te dijo que así se hace? no le encuentro mucho sentido a esa declaración, cuando declaras un arreglo éste automáticamente ya es un apuntador, y al poner el * estas apuntando hacia un apuntador, por lo que los valores de "I","II",...no los "digiere" el compilador. Quita ese * y dejalo como char s4[7][LENGHT] por ejemplo, definiendo a LENGHT como el numero máximo de caracteres.

    Debe haber más errores, los cuales no ví porque lo revisé rápidamente además de que es tu trabajo encontrarlos, sólo te dí unos ejemplos. Lo difícil en la programación es encontrar errores, lo demás es puro juego, ánimo.
    Última edición por Giskard; 10-06-2005 a las 08:16
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  3. #3  
    Iniciado
    Fecha de ingreso
    Aug 2005
    Ubicación
    En un lugar de galicia, de cuyo nombre no kiero acordarme...
    Mensajes
    28
    Descargas
    0
    Uploads
    0
    Si tienes problemas con el C hay una web bastante buena dedicada casi exclusivamente a él: www.elrincondelc.com.

    Espero ke te sea de utilidad
    La curiosidad mató al gato, a mí me dio el saber
    NO a las patentes de software
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Aug 2004
    Mensajes
    201
    Descargas
    0
    Uploads
    0
    Si es por C, a lo mejor te puedo ayudar, pero de química ando cortito con sifón.
    From mind to code
    Citar  
     

Temas similares

  1. Programita
    Por ana6 en el foro INGENIERIA INVERSA
    Respuestas: 2
    Último mensaje: 14-06-2010, 13:24
  2. un programita
    Por cugalde en el foro APLICACIONES
    Respuestas: 1
    Último mensaje: 24-05-2007, 16:42
  3. un PEQUEÑO programita qa te permite ver mas halla de lo....
    Por Rxxx en el foro REDES Y TECNOLOGIAS WIRELESS
    Respuestas: 21
    Último mensaje: 05-09-2006, 03:40
  4. Programita
    Por kensou< en el foro OFF-TOPIC
    Respuestas: 2
    Último mensaje: 22-12-2002, 01:12
  5. Busco programita tipo John...
    Por windows en el foro LINUX - MAC - OTROS
    Respuestas: 0
    Último mensaje: 10-07-2002, 02:14

Marcadores

Marcadores