Jak dál pro návrat ? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak dál pro návrat ? – C / C++ – Fórum – Programujte.comJak dál pro návrat ? – C / C++ – Fórum – Programujte.com

 

Luckaa+2
Návštěvník
3. 8. 2012   #1
-
0
-

Dobrý den mám opět dotaz :) Zkouším "(učím se)" udělat program fiktivní firmy s přihlášením. Po spuštění programu se program zepta jestli je uživatel zaregistrovan 

cout << " Vítejte \n Jste registrovan ? \n\n Y = Ano \n N = NE \n";  
  fstream f; 
  
   cin >> kontrola;
   switch(kontrola)
  
  {
                   
  case 'Y':
              if ('Y')
              {
              cout << " Zadejte vase jmeno : ";
              char jmeno[20];
              cin >> jmeno;
              f.open(jmeno);             
              cin.get();
    if(!f){
        cerr << "\n\n                Uzivatel nenalezen !!!! \a\n\n Zkontrolujte vase uzivatelsko jmeno zda je spravne\n a nebo se zaregistrujte\n\n";
        cin.get();
        
}
while(f.good())
	cout << (char)f.get(); 
	cin.get();

return kontrola;

Pokud ano program si vyžádá jméno uživatele. To vyplívá z předchozí registrace kdy užvatel zada sve jmeno tak se uloži nazev složky pod jeho jmenem.  Problém spočívá v tom, že když uživatel zadá platné jméno  a složka se otevře tak program dál nepokračuje. Po stisknutí ENTER se program ukončí.

Dale Registrace

Potřebovala bych aby po registraci se vše vrátilo na přihlášení.

Zde kus kodu registrace

	case 'N':
       cout << " Registrace : \n\n";
       cout << "Zadejte prosim 4X nahodne cislo, tyto cisla vytvori vase prihlasovaci ID a heslo. Pamatujte cim vetsi cislo napisete tim delsi bude vase heslo (ale bezpecnejsi) Doporucujeme kazde cislo 2-3 ciferne. \n\n";
  
  
  cout << "\nVyberte 4x nahodne cislo ?\n";
  cin >> cislo1;
  cout << "Vyberte 3x nahodne cislo ?\n";
  cin >> cislo2;
  cout << "Vyberte 2x nahodne cislo ?\n";
  cin >> cislo3;
  cout << "Vyberte 1x nahodne cislo ?\n";
  cin >> cislo4;
  

  cout << "Vase jmeno\n";
  char name[20];
  cin >> name;

 

  cout << "Vas vek \n";
  
  int old;
  cin >> old;
  
  // Výpis nového uživatele
  cout << "_____________________________________\n\n";
  cout << "Vase jmeno: " << name << "\n";
  cout << "Vas vek: " << old << "\n";
  cout << "Vase nove ID je " << cislo1 + cislo2 + cislo3 / cislo4  << "\n";
  cout << "Vase prihlasivaci heslo je : " << cislo1 + cislo2 + cislo3 + cislo4 * cislo3 + ALGORITMUS << "\n";
  cout << "\n";
  cin.get();
  cin.get();
  
   ofstream fout(name);
  fout << " Zamestnanec : " << name << "\n ID :"<< cislo1+cislo2+cislo3-cislo4 << " "; 
  f.close();
fout.close();

  cout << "\n\n          Nyni se muzete prihlasit\n"
  break;
   
        
   }

   return (kontrola);       
    }      // KONEC REGISTRAce

Za každou radu moc vděčná :) Jen podotknu stále se učím takže mé znalosti jsou malé :)

Přeji krásný den.

Nahlásit jako SPAM
IP: 93.91.154.–
Ucim se c++
Pouzivam Dev-C++
A bavi me to! :)
Atheo+4
Stálý člen
3. 8. 2012   #2
-
+1
-
Zajímavé

#1 Luckaa
divny jednou pises priklad : "vděčná" jednou "vděčný" xD myslim ze nemusis delat ze si holka tu se radi vsem :D

Nahlásit jako SPAM
IP: 188.175.140.–
Luckaa+2
Návštěvník
3. 8. 2012   #3
-
0
-

#2 Atheo
:) Já čekala že se toho někdo všimne :) Ne opravdu sem holka ale minule psal za mě přítel a já mu říkala co napsat. No a on udělal chybu.

Nahlásit jako SPAM
IP: 93.91.154.–
Ucim se c++
Pouzivam Dev-C++
A bavi me to! :)
Atheo+4
Stálý člen
3. 8. 2012   #4
-
+1
-
Zajímavé

#3 Luckaa
Ja c++ neumim takze ti moc neporadim ;) ale jelikoz se po naloadovani slozky program ukonci tak to tam asi bude nekde napsane protoze program si nedela co chce ale co mu napises:) takze bych misto toho pouzil treba neco co tam mas "return neco;" nebo pokud chces aby se po naloadovani slozky delo neco noveho coz je asi jasny tak primo si napsat funkci co by to melo delat a hned za prihlaseni dat tu funkci napriklad 

case 'Y':
              if ('Y')
              {
              cout << " Zadejte vase jmeno : ";
              char jmeno[20];
              cin >> jmeno;
              f.open(jmeno);             
	      funkce_pro_vykonani_dalsich_operaci();

/* a treba do vedlejsiho souboru */

void funkce_pro_vykonani_dalsich_operaci(void);

funkce_pro_vykonani_dalsich_operaci()
{
	// obsah funkce
}

ale podle me se v tom vyznas urcite lip nez ja takze muj koment bude nejspis zbytecny:) jen rikam jak bych to zkusil ja

Nahlásit jako SPAM
IP: 188.175.140.–
Luckaa+2
Návštěvník
3. 8. 2012   #5
-
0
-

#4 Atheo
Určitě nad tím budu přemýšlet :) A Děkuji ... No hlavně tvá reakce mě celkem překvapila :) a já si říkala že písmenko sem nebo tam nikoho zajimat nebude :) no Snad sem to dostatečně vysvětlila :)

Nahlásit jako SPAM
IP: 93.91.154.–
Ucim se c++
Pouzivam Dev-C++
A bavi me to! :)
Atheo+4
Stálý člen
3. 8. 2012   #6
-
0
-

#3 Luckaa
jeste neco z C++ vim prdlacku ale v C bych si to napsal nasledovne 

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

void funkce_cls(void);
void funkce_pro_vykonani_dalsich_operaci(void);

void funkce_cls()
{
	COORD coordScreen = { 0, 0 };
	DWORD cCharsWritten;
	CONSOLE_SCREEN_BUFFER_INFO csbi;
	DWORD dwConSize;
	HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

	GetConsoleScreenBufferInfo(hConsole, &csbi);
	dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
	FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen,    &cCharsWritten);
	GetConsoleScreenBufferInfo(hConsole, &csbi);
	FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
	SetConsoleCursorPosition(hConsole, coordScreen);
}
// funkce na vymazani obrazu

funkce_pro_vykonani_dalsich_operaci()
{
	funkce_cls();
	printf("Blabla dalsi cast aplikace");
}

// a do main souboru napsat jen

case 'Y':
              if ('Y')
              {
              cout << " Zadejte vase jmeno : ";
              char jmeno[20];
              cin >> jmeno;
              f.open(jmeno);             
	      funkce_pro_vykonani_dalsich_operaci();
// tzn vymaze se obraz co tam byl a vypise to "blabla dalsi cast aplikace a tu uz muzes pokracovat dal ;) myslim ze v Cpp to pujde podobne / stejne
Nahlásit jako SPAM
IP: 188.175.140.–
Atheo+4
Stálý člen
3. 8. 2012   #7
-
0
-

#6 Atheo
ma je jedno ci jsi holka/kluk ;) jen me to udivilo kdyz v jednom topicu jsem videl holku a v druhym kluka ;)

Nahlásit jako SPAM
IP: 188.175.140.–
Luckaa+2
Návštěvník
3. 8. 2012   #8
-
0
-

#7 Atheo
Já to chápu.

Nahlásit jako SPAM
IP: 93.91.154.–
Ucim se c++
Pouzivam Dev-C++
A bavi me to! :)
Atheo+4
Stálý člen
3. 8. 2012   #9
-
0
-

#8 Luckaa
a co se tyce druheho dotazu k registraci tak to pujde uplne stejne :) a uz nebudu spammovat snad jsem poradil

Atheo

Nahlásit jako SPAM
IP: 188.175.140.–
Luckaa+2
Návštěvník
3. 8. 2012   #10
-
0
-

#9 Atheo
V pohodě klidně piš. Jak sem napsala za každou radu budu moc ráda. A hlavně třeba i blbost tak se tím učím.

Nahlásit jako SPAM
IP: 93.91.154.–
Ucim se c++
Pouzivam Dev-C++
A bavi me to! :)
zlz
~ Anonymní uživatel
634 příspěvků
3. 8. 2012   #11
-
+1
-
Zajímavé

   

bool prihlasen = false;
while (!prihlasen) {
   ...
   case registrace:
      prihlasen = vytvoreniuzivatele(); // s automatickym prihlasenim po registraci
      break;
   case prihlaseni:
      prihlasen = prihlaseniuzivatele();
      break;
   case konec:
      exit(EXIT_FAILURE);
      break;
}
// tady uz je uzivatel prihlaseny
Nahlásit jako SPAM
IP: 80.188.216.–
Luckaa+2
Návštěvník
3. 8. 2012   #12
-
0
-

#11 zlz
Děkuji. :)

Nahlásit jako SPAM
IP: 93.91.154.–
Ucim se c++
Pouzivam Dev-C++
A bavi me to! :)
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, 35 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ý