Dobrý den,
Nevím si rady s jedním programem, který má vlastně ukázat jak má vypadat rovnice do chemie. Uživatel zadá např: dusičnan stříbrný a program mu má vyhodit AgNO3 (trojka je dolní index). Funguje to tak, že zadá jméno prvního prvku (to je dusík), koncovku prvního prvku(ičný) a pak druhý prvek a jeho koncovku. Vytvořil jsem proto 60 proměnných prvků PSP, do kterých jsem inicializoval určitý název prvku. Cykly by pak zajistily to, jestli do vstupu nezadal uživatel hovadiny, a funkce pak s proměnnými, kde by se zkontrolované vstupy uložili, pracovala a vyhodila výsledek. Jenže jak to bývá, vždycky je v něčem háček. Jakmile uživatel zadá první prvek, tak mi jej cyklus ve funkci nechce zkontrolovat. Jestli bude true tak by se něco na to, že to funguje mělo vypsat, ale nejde to. Prosím vás proto o radu.
Zde je kód:
#include <stdio.h>
//program ma za ukol prevest nazev vzorce na vzorec
char vstup1(char vstup);
int main()
{
//ctyry zakladni promenne, ktere ziskaji n8zev vzorce od uzivatele
char prvniprvek[] = "";
char koncovka1[] = "";
char druhyprvek[] = "";
char koncovka2[] = "";
//dve vedlejsi promenne, ktere zjisti co uzivatel zadal
char prvek1[] = "";
char prvek2[] = "";
//promenne pro koncovky
char ny[] = "ny";
char naty[] = "naty";
char ity[] = "ity";
char icity[] = "icity";
char ecny[] = "ecny";
char icny[] = "icny";
char ovy[] = "ovy";
char isty[] = "isty";
char icely[] = "icely";
//prvky, ktere se budou pouzivat
char h[] = "vodik";
char li[] = "lithium";
char be[] = "beryllium";
char na[] = "sodik";
char mg[] = "horcik";
char k[] = "draslik";
char ca[] = "vapnik";
char sc[] = "skandium";
char rb[] = "rubidium";
char sr[] = "stroncium";
char y[] = "yttrium";
char cs[] = "cesium";
char ba[] = "baryum";
char la[] = "lanthan";
char fr[] = "francium";
char ra[] = "radium";
char ac[] = "aktinium";
char ti[] = "titan";
char v[] = "vanad";
char cr[] = "chrom";
char mn[] = "mangan";
char fe[] = "zalezo";
char co[] = "kobalt";
char ni[] = "nikl";
char cu[] = "med";
char zn[] = "zinek";
char zr[] = "zirkonium";
char nb[] = "niob";
char mo[] = "molybden";
char tc[] = "technecium";
char ru[] = "ruthenium";
char rh[] = "rhodium";
char pd[] = "palladium";
char ag[] = "stribro";
char cd[] = "kadmium";
char he[] = "helium";
char b[] = "bor";
char c[] = "uhlik";
char n[] = "dusik";
char o[] = "kyslik";
char f[] = "fluor";
char ne[] = "neon";
char al[] = "hlinik";
char si[] = "kremik";
char p[] = "fosfor";
char s[] = "sira";
char cl[] = "chlor";
char ar[] = "argon";
char ga[] = "gallium";
char ge[] = "germanium";
char as[] = "arsen";
char se[] = "selen";
char br[] = "brom";
char kr[] = "krypton";
char in[] = "indium";
char sn[] = "cin";
char sb[] = "antimon";
char te[] = "tellur";
char i[] = "jod";
char xe[] = "xenon";
//ziskani dat od uzivatele
printf("Zadejte prvni prvek: ");
scanf("%s", &prvniprvek);
printf("Zadejte koncovku prvniho prvku: ");
scanf("%s", &koncovka1);
printf("Zadejte druhy prvek: ");
scanf("%s", &druhyprvek);
printf("Zadejte koncovku druheho prvku: ");
printf("%s",&koncovka2);
getchar();
getchar();
getchar();
getchar();
return 0;
}
char vstup1(char vstup)
{
while(prvniprvek == h)
{
printf("%s", vstup1("vodik"));
}
while( prvniprvek == li)
{
}
while(prvniprvek == be)
{
}
while(prvniprvek == na)
{
}
while(prvniprvek == mg)
{
}
while(prvniprvek == k)
{
}
while(prvniprvek == ca)
{
}
while( prvniprvek == sc)
{
}
while(prvniprvek == rb)
{
}
while(prvniprvek == sr)
{
}
while(prvniprvek == y)
{
}
while(prvniprvek == cs)
{
}
while(prvniprvek == ba)
{
}
while(prvniprvek == la)
{
}
while(prvniprvek == fr)
{
}
while(prvniprvek == ra)
{
}
while(prvniprvek == ac)
{
}