Kezdőoldal » Számítástechnika » Programozás » Letudná vezetni valaki hogy...

Letudná vezetni valaki hogy ez a program mit csinál? (lépésről lépésre kéne)

Figyelt kérdés

#include<stdio.h>

#include<stdlib.h>

#include<string.h>


FILE *fp;


int getNext() {

int a,b,c,d,e;

fscanf(fp,"%d %d %d %d %d",&a,&b,&c,&d,&e);

printf("Sorosszeg: %d\n",a+b+c+d+e);


}


main() {

char str[40];

fp = fopen("szamok.txt","rt");

if (fp==NULL)

return -1;


while (!feof(fp)) {

getNext();

printf("Keri a kovetkezo sort? ");

gets(str);

if (strcmp(str,"nem")==0)

break;

}

}


2012. aug. 23. 13:07
 1/2 ejbenjaro ***** válasza:

Bár nem vagyok jártas a c++-ban, de valami ilyesmi:

Az #include sorok a programodhoz kapcsolják a szükséges fejlécállományokat.

A FILE *fp-vel deklarálsz egy mutatót, ami majd egy fájlra mutat.

Az int getNext() egy függvény amelyen belül létrehozol 5 egész típusú változót. Az fscan függvénnyel adatokat olvasol soronként a fájlból és ezeket a korábban deklarált egész típusú változókba töltöd. A fájl felépítése valószínűleg olyan, hogy egy sorban 5 darab egész szám van. A printf megjeleníti a fájlból beolvasott sor számainak az összegét.

A main() a főprogram lényegében. Itt egy 40 karakter hosszú stringet deklarálsz, majd megnyitod a szamok.txt fájlt olvasásra az fopen függvénnyel, amely egy mutatóval térhet vissza, amit az fp változódban tárolsz. Ezt követően az if-ben megvizsgálod, hogy sikerült e fájlt megnyitni, ha nem akkor a program futása megszakad és -1 értékkel tér vissza. Ha sikeres volt a fájl nyitás, akkor a while ciklussal fájl végéig olvasod a fájlt soronként, felhasználva a korábban létrehozott getNext függvényt.

A printf megjelenít egy kérdést a felhasználó felé, hogy akar e következő sort olvasni a fájlból. A gets(str) beolvassa a felhasználó válaszát az str változóba, majd az if feltételben megvizsgálja, hogy mi volt a válasz, ha nem volt a válasz, akkor kilép a programból, ellenkező esetben olvassa a következő sort.

Hát nagyjából ennyi. A C++ tudorok esetleg kijavíthatnak ha valamit félreértettem.

2012. aug. 23. 15:35
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
köszi :)
2012. aug. 23. 16:22

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!