Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.09.07
Prihlásený: 21.11.08
Príspevky: 6
Témy: 3
Príspevok NapísalOffline : 21.11.2008 14:06

zdravim, poprosil by som o radu, mam takyto problem (vlastne su dva):

1) potrebujem v c/c++ dosiahnut, aby program cakal na vstup od uzivatela. totiz prebehne isty proces (praca so suborom) a na konci mam vypis, ci sa proces podaril, alebo nie. kedze vsak je to posledny prikaz suboru, tento text sa vypise ale hned sa okno zavrie, takze ho prakticky nebolo vidiet. potreboval by som nieco ako bolo readkey v pascale, teda ze program vypise tento text, potom bude cakat na stlacenie akejkolvek klavesy a az potom sa skonci. podla moznosti by som uvital co najjednoduchsi postup, som viac-menej zaciatocnik.

2) druha otazka sa tyka priamo tejto prace so suborom. prechadzam subor znak po znaku (cez getc), znaky porovnavam, mam tam nejaky switch atd a potom tieto znaky (respektive nejake zmenene, na zaklade vyhodnotenia cez switch) vkladam do druheho suboru (cez putc). teda je to kopia suboru, ale s tym ze iste konkretne znaky sa nahradia inymi. funguje mi to tak ako ma, ale na konci vystupneho suboru urobi vzdy este jeden znak navyse, je to znak "˙" (bez uvodzoviek, samozrejme. vyzera to ako samostatna bodka, ktora sa inak dava nad pismena). najradsej by som bol aby mi ju tam nedavalo vobec, ale na to neviem prist, preco ju tam dava, tak by som to chcel aspon obabrat takym sposobom, ze by po prebehnuti celeho procesu este spravilo taku vec, ze jednoducho odseknut posledny znak suboru prec. da sa to nejako jednoducho spravit?

dakujem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 21.11.2008 15:51

1) skus system("pause"); alebo getch();

2) vyskusaj poslat zdrojovy kod.







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.09.07
Prihlásený: 21.11.08
Príspevky: 6
Témy: 3
Príspevok Napísal autor témyOffline : 21.11.2008 23:26

1) ked som si dal do googlu system("pause"), prve kde mi to naslo bol clanok "Things to avoid in C/C++", tak som si povedal ze toto nebudem pouzivat :D
getch() aj getchar() som uz skusal a nefungovali, ale napadla ma druha vec, vyskusat dat 2x po sebe getchar(). skusil som, a ide to :) netusim preco ten prvy este nezareaguje (ako keby mal este z predchadzajuceho kroku nejaky znak, ktory hned nacita a tym padom prejde dalej...) ale hlavne ze to funguje ako chcem. caka na stlacenie klavesy.

2) tu je kod:
Kód:
#include <stdio.h>

void main(){
   char nazov[255];
   char saveto[255];
   printf("Zadaj nazov vstupneho suboru.\n");
   scanf("%s", &nazov);
   FILE *fr, *fw;
   fr=fopen(nazov,"r");
   if (!fr){
      printf("Nepodarilo sa otvorit subor \"%s\".\n", nazov);
   }
   else {
      printf("Zadaj nazov vystupneho suboru.\n");
      scanf("%s", &saveto);
      fw=fopen(saveto,"w");
      char c;
      while (!feof(fr)){
         c=getc(fr);
         switch (c){
            case '/*nejaky char*/':
               putc('/*nejaky iny char*/', fw);
               break;
            /*vela takychto case-ov, na kazdy zo znakov ktore kontrolujem*/
            default:
               putc(c, fw);
               break;
         }
      }
      printf("Hotovo.\n");
      fclose(fr);
      fclose(fw);
   }
   getchar();
   getchar();
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 22.11.2008 12:21

Nepouzi funkciu feof(), ale makro EOF. A funkcia main() musi vraciat premennu typu int. :)
Kód:
#include <stdio.h>

int main(){
   char nazov[255];
   char saveto[255];
   printf("Zadaj nazov vstupneho suboru.\n");
   scanf("%s", &nazov);
   FILE *fr, *fw;
   fr=fopen(nazov,"r");
   if (!fr){
      printf("Nepodarilo sa otvorit subor \"%s\".\n", nazov);
   }
   else {
      printf("Zadaj nazov vystupneho suboru.\n");
      scanf("%s", &saveto);
      fw=fopen(saveto,"w");
      char c;
      while ((c=getc(fr))!=EOF){
         switch (c){
            case '/*nejaky char*/':
               putc('/*nejaky iny char*/', fw);
               break;
            /*vela takychto case-ov, na kazdy zo znakov ktore kontrolujem*/
            default:
               putc(c, fw);
               break;
         }
      }
      printf("Hotovo.\n");
      fclose(fr);
      fclose(fw);
   }
   getchar();
   getchar();
}







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.09.07
Prihlásený: 21.11.08
Príspevky: 6
Témy: 3
Príspevok Napísal autor témyOffline : 22.11.2008 21:29

vdaka, uz to funguje, teda uz tam nedava ten znak na konci.

este sa spytam: preco by mala funkcia main vracat integer? nemozem ju mat ako void? ved to funguje aj tak. alebo je to nejaka dogma, ze tak to musi byt a hotovo? (aj v skole nas ucili ze main moze vracat but integer, alebo void, alebo aj char ked chceme, ze je to jedno, skratka cokolvek - jedina podmienka aby to cez return vracalo taky typ ako je pred nazvom funkcie napisany)


Offline

Skúsený užívateľ
Skúsený užívateľ
cakat na vstup & zmazanie posledneho znaku

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 22.11.2008 22:14

Je to ANSI štandard pre C++ (správne dokončený program má vrátiť celočíselnú hodnotu 0), v C je to tuším jedno.







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Prekonvertovanie "&#9608;" do nfo znaku

v PHP, ASP

0

312

23.03.2012 8:47

d0.0b Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. AT&T má systém na automatické zmazanie odoslaného e-mailu

v Novinky

6

615

04.07.2013 7:20

Poki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. I/P: ASUS TUF Gaming F15 FX506LH-HN004 (i5 10300H & GTX 1650 & 16GB RAM & 512 GB SSD)

v Informujem sa

4

984

27.09.2022 15:15

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Symbian & android & iOS & WinMobile

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Smartfóny a tablety

41

2854

15.12.2011 21:16

haffen Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vymazanie posledneho zaznamu

v Databázy

7

751

29.08.2009 12:55

pogo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. id posledného záznamu

v Databázy

6

655

10.05.2010 19:45

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. oplati sa cakat?

v Grafické karty

21

809

25.09.2009 21:21

Cirky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Meno posledneho uploadnuteho suboru v zlozke?

v PHP, ASP

3

345

31.03.2010 19:12

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Výber posledného uploadnutého súboru z dir?

v PHP, ASP

6

493

13.12.2009 14:00

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpBB2 - mod na upravu LEN posledneho prispevku

v Redakčné systémy

2

662

20.06.2009 13:52

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. oplatí sa čakať na Sandy?

v Procesory

3

516

04.10.2010 8:01

mungo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kupa grafiky ,,, cakat alebo kupovat ,,,

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Grafické karty

47

2020

10.09.2009 11:18

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MB na SB... čakat, či nečakat....

v Základné dosky

7

798

06.02.2011 12:59

jtbs Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Oplati sa cakat na ATI R600

v ATI/AMD grafické karty

10

907

03.03.2007 18:17

extrem28 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Asus Rampage Extreme alebo čakať na X58?

v Základné dosky

10

897

10.09.2008 0:07

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vista Ultim.64x co cakat pri instalacii

v Operačné systémy Microsoft

3

272

08.07.2008 10:19

Gyrxiur Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra