Cistenie v C

Programovacie jazyky, rady, poradňa...
maetoo
Light Star
Light Star
Príspevky: 263
Registrovaný: 24 okt 2009, 20:05
Bydlisko: Trenčín

Cistenie v C

Príspevok od používateľa maetoo »

Aky je príkaz v Cečku na vymazanie konzoly ?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Cistenie v C

Príspevok od používateľa BX »

system("cls"); na Windows, system("clear") na Unix
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Cistenie v C

Príspevok od používateľa harrison314 »

No ak ti staci vymazat iba aktualny riadok a prepisat ho niecim inym, pouzi printf("\rTVOJ NOVY TEXT");
maetoo
Light Star
Light Star
Príspevky: 263
Registrovaný: 24 okt 2009, 20:05
Bydlisko: Trenčín

Re: Cistenie v C

Príspevok od používateľa maetoo »

Vďaka za radu. Vymazanie mám poriešene. Nechcem zakladat novu tému, tak to napišem sem.
Mám v programe spravene klasicku menu cez switch.
Pokial uživatel stlači klavesnicu v určitom rozsahu, všetko je v poriadku. Ale pokial stlači klavesnicu mimo rozsahu,
program uživatela automaticky upozorni, že stlačil klavesu mimo rozsahu.
A tu je problém. Keď ho program upozorni, že stlačil klavesnicu mimo rozsahu, program sa automaticky ukonči.
Ako dosiahnuť to, že keď ho program upozorni na nespravne stlačenie klavenice, aby sa neukončil,
ale aby čakal na ďalšie zadanie možnosti.

Programujem v C iba niečo cez mesiac, takže nemám v C moc skusenosti.
Ako dosiahnuť to, aby program čakal na ďalšiu možnosť? Ako by ste to vy riešili?

Zdrojovy kod:

Kód: Vybrať všetko

//CodeBlocks hlavicky
#include <stdio.h>
#include <stdlib.h>

//Moje hlavicky
#include "game_key.h"
#include "email.h"
#include "windows_keys.h"
#include "forum.h"
#include "define.h"

int main()
{
    int menuDatabaza; //Typ premennej pre: menuDatabaza

//do{

    printf("Databaza\n" //Vypise na monitor: Databaza
           "\n" //Dvojita medzera
           "\n"
           "Menu\n" //Vypise na monitor: Menu
           "\n" //Medzera
           "1.Kluce k hram\n" //Zobrazi uzivatelovi moznosti ovladania programu
           "2.Emailove adresy\n"
           "3.Windows licencie\n"
           "4.Diskusne fora\n"
           "\n"
           "Q - Koniec programu\n"
           );

           printf("\n"
                  "Zvolte moznost\n" //Vyziva uzivatela na zadanie cisla resp.moznosti
                 );
           scanf("%d", &menuDatabaza); //Sleduje ktore cislo resp.moznost bude zvolena

           switch(menuDatabaza) { //Menu pre uzivatela

               case 1:  //Moznost 1
                        CleanConsole //Vymaze konzolu
                        printf("%d", games()); //Zavola funkciu games z hlavicky game_key
                        break;

                case 2: //Moznost 2
                        CleanConsole //Vymaze konzolu
                        printf("%d", emails()); //Zavola funkciu emails z hlavicky emails
                        break;

                case 3: //Moznost 3
                        CleanConsole //Vymaze konzolu
                        printf("%d", windows_keys()); //Zavola funkciu widnows_keys z hlavicky windows_keys
                        break;

                case 4: //Moznost 4
                        CleanConsole //Vymaze konzolu
                        printf("d", _forum()); //Zavola funkciu _forum z hlavicky forum
                        break;

               default: //Upozorni uzivatela na nespravne stlacenie klavisnice
                        CleanConsole //Vymaze konzolu
                        printf("Zadali ste nespravnu volbu.\n"
                               "Volbu Zopakujte\n"
                              );
                        break;
                                }
  //}while(getchar() !='q');

                //CleanConsole

    return 0;
}
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Cistenie v C

Príspevok od používateľa harrison314 »

ked to mas v maine, tak si sprav nad vykreslovanim a citnim menu nekonecn cyklus, stlacenu klavesu nacitaj ako klavesu, nie ako cislo

Kód: Vybrať všetko

for(;;)
{
...
switch(key)
{
  case '1': ....
  .....
  case 'q':
 case 'Q':
  return 0; //alebo exit(0);
 
}

maetoo
Light Star
Light Star
Príspevky: 263
Registrovaný: 24 okt 2009, 20:05
Bydlisko: Trenčín

Re: Cistenie v C

Príspevok od používateľa maetoo »

Či som to spravne pochopil.
Nekonečny cyklus for bude začinať v kode nad

Kód: Vybrať všetko

 printf("Databaza\n" //Vypise na monitor: Databaza
a končiť v kode pod?

Kód: Vybrať všetko

        
       default: //Upozorni uzivatela na nespravne stlacenie klavisnice
                        CleanConsole //Vymaze konzolu
                        printf("Zadali ste nespravnu volbu.\n"
                               "Volbu Zopakujte\n"
                              );
                        break;
                                }
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Cistenie v C

Príspevok od používateľa harrison314 »

Dany cyklus skonci stlacenim klavesy "q" a tym sa ukonci program.
Napísať odpoveď