Co tam mam zle – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Co tam mam zle – C / C++ – Fórum – Programujte.comCo tam mam zle – C / C++ – Fórum – Programujte.com

 

Mikor687
~ Anonymní uživatel
3 příspěvky
14. 3. 2015   #1
-
0
-

Zdravim, s c++ iba zacinam a narazil som na jeden problem. Chcem spravit program ktory skontroluje ci je cislo poistenia v spravnej forme (XXX-XX-XXXX). Neviem ale ako vo funkcii main ziskat navratovu hodnotu funkcie ("x") ktora toto cislo prekontroluje. 

#include <iostream>
using namespace std;

bool x(char*);

int main()

{
    char cislo;
    cout << "Zadajte cislo zdravotneho poistenia (XXX-XX-XXXX): ";
    cin >> cislo;
    bool* pomoc = x(cislo);    // takto nejako som chcel ziskat navratovu hodnotu funckie x

bool x(char* z)
{
    if (strlen(z) != 11)
        return false;
    for (int i = 0; i < 11; i++)
    {
        if (i == 3 || i == 6)
            if (z[i] != '-')
                return false;
            else if (!isdigit(z[i]))
                return false;
    }
    return true;
}

Nahlásit jako SPAM
IP: 95.105.230.–
KIIV
~ Moderátor
+43
God of flame
14. 3. 2015   #2
-
0
-

proc tam mas probuh ukazatel na bool?

bool pomoc = x(cislo);

nebo rovnou

if (x(cislo)) {

  je to ok

}

+ ten cyklus a hlavne ty ify jsou podle me blbe...

Nahlásit jako SPAM
IP: 94.113.95.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mikor687
~ Anonymní uživatel
3 příspěvky
14. 3. 2015   #3
-
0
-

Mne to furt vypisuje tuto chybu: cannot convert argument 1 from 'char' to 'char *'

Nahlásit jako SPAM
IP: 95.105.230.–
BDS+3
Věrný člen
14. 3. 2015   #4
-
0
-

#3 Mikor687

cannot convert argument 1 from 'char' to 'char *'  >>> kdyz uz tak: &cislo

mimo to celý ten kód stojí za ho..

Nahlásit jako SPAM
IP: 185.69.69.–
W10 :)
Mikor687
~ Anonymní uživatel
3 příspěvky
14. 3. 2015   #5
-
0
-

S programovanim som zacal len nedavno no :/ a diki moc, uz to mam.

Nahlásit jako SPAM
IP: 95.105.230.–
ingiraxo+15
Grafoman
14. 3. 2015   #6
-
+1
-
Zajímavé

#5 Mikor687
další možností je regex... 

static bool validate(string input)
{
    static regex r = regex("[0-9]{3}-[0-9]{2}-[0-9]{4}");
    return regex_match(input, r);
}

int main()
{
    string input;
    bool valid;
    do {
        cout << "Zadej cislo ve formatu (xxx-xx-xxxx): ";
        getline(cin, input);
        valid = validate(input);
        cout << (valid ? "Platne cislo!" : "Neplatne cislo! Zadejte cislo znovu.") << endl;
    } while (!valid);
    return EXIT_SUCCESS;
}
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý