Visual C++
Jelentkezz be a hozzászóláshoz.
Hamarosan ZH-t írok programozásból, de egy-két kérdésre nem tudom a választ, a tanár meg semmilyen írott anyagot nem adott, amibõl meg lehetne keresni a választ.
A kérdések a következõk:
Honnan tudják egy osztály tagfüggvényei, hogy éppen melyik példány adattagjain dolgoznak?
Hol helyezkedik el a formális paraméterlistában a this mutató és milyen a típusa?
Mit helyettesít a this az alábbi értékadásban?
gomb = new TSpeedButton( this ) ;
Milyen használati elõnye van az alapértelmezett paraméterek használatának?
Az alapértelmezett paramétereket (is) tartalmazó formális paraméterlista tervezésekor, hol célszerû szerepel-tetni az alapértelmezettnek szánt paramétereket?
Melyik tagfüggvény végzi a konstans adattagok kezdõérték beállítását?
Milyen a konstans adattagok esetén használt taginicializáló lista szintaxisa?
Kösz elõre is.
Írja meg a squeeze(s1,s2) fgv-t, amely az s1 karaktersorozatból töröl minden karaktert ami az s2-ben megtalálható.
Fél óránk van rá!
Köszönjük!
#include <stdio.h>
#include <stdlib.h>
typedef struct _tanulo {
char nev<10>10>;
char vezeteknev<12>12>;
int szemelyiszam;
char ertekeles;
struct _tanulo *dalsi;
} tanulo;
tanulo *elso,*utolso, *tmp, *pp;
extern void menu();
extern int Create_List();
extern int Add_Tanulo();
extern int Del_Tanulo();
extern int Del_List();
extern int Write_Textsubor();
extern int Read_Textsubor();
extern int Print_Monitor();
int main()
{
char elem;
printf("\n\n",elso);
menu();
while((elem=getchar()) != 'x')
{
if(elem!='\n'){
switch(elem){
case 'a':
Create_List();
break;
case 'b':
Add_Tanulo();
break;
case 'c':
Del_Tanulo();
break;
case 'd':
Del_List();
break;
case 'e':
Write_Textsubor();
break;
case 'f':
Read_Textsubor();
break;
case 'g':
Print_Monitor();
break;
case 'x':
return 0;
break;
default:
printf("Ervenytelen... Meg1x probald meg\n");
}
menu();
}
}
}
void menu()
{ printf("\n*************************************************\n\n");
printf("MENU:\n");
printf("a: hozz letre egy ures listat \n");
printf("b: tanulo behelyezese a listaba \n");
printf("c: tanulo torlese a listabol \n");
printf("d: az egesz lista torlese \n");
printf("e: tanulok listajanak kiírasa szoveges fajlba(.txt)\n");
printf("f: tanulok listajanak beolvasasa szoveges fajlbol \n");
printf("g: tanulok listajanak kiirasa kepernyore \n");
printf("x: EXIT\n");
}
int Create_List(){
if(elso==NULL) {
if ((elso = (tanulo *) malloc(sizeof(tanulo)))== NULL {
printf("Not enough memory...\n");
return -1;
}
else
{
elso->dalsi=NULL;
elso->szemelyiszam=-1
utolso=elso;
printf("A lista letrehozva...\n");
}
}
else
{
printf("Nem lehet letrehozni, mert mar letezik...\n");
return -1;
}
return 0;
}
int Add_Tanulo()
{
if(elso==NULL)
{
printf("A lista nem letezik...\n");
return (-1);
}
if(!(utolso->szemelyiszam==-1)){
if ((tmp = (tanulo *) malloc(sizeof(tanulo)))== NULL)
{
printf("Not enough memory...\n");
return -1;
}
else
{
utolso->dalsi=tmp;
utolso=tmp;
tmp->dalsi=0;
utolso->szemelyiszam=-1;
}
}
printf("Nev:\n");
scanf("%s",utolso->nev);
printf("Vezeteknev:\n");
scanf("%s",utolso->vezeteknev);
printf("Szemelyi szam:\n");
scanf("%i",&utolso->szemelyiszam);
printf("Ertekeles:");
scanf(" %c",&utolso->ertekeles);
return 0;
}
int Del_Tanulo()
{
int rc,k=0;
printf("Szemelyi szam:",&rc);
scanf("%d",&rc);
if(elso==0 || elso->szemelyiszam==-1)
{
printf("Nincs semmi az adatbazisban...\n");
}
else
{
pp=elso;
for(tmp=elso;tmp!=NULL && k==0;tmp=tmp->dalsi)
{
if(tmp->szemelyiszam==rc){
if(tmp==elso)
elso=elso->dalsi;
pp->dalsi=tmp->dalsi;
free( (void *) tmp);
k=1;
printf("A bejegyzes torolve...\n");
}
else
pp=tmp;
}
}
return 0;
}
int Del_List()
{
if(elso!=0){
pp=elso;
while(pp!=0){
tmp=pp->dalsi;
free((void *)pp);
pp=tmp;
}
elso=0;
}
return 0;
}
int Write_Textsubor()
{
FILE *file;
char filename<256>256>;
printf("Add meg a fajl nevet:");
scanf("%s",filename);
if((file=fopen(filename,"w"))==NULL){
printf("Nem lehet letrehozni...\n\n");
return -1;
}
for(tmp=elso;tmp!=NULL;tmp=tmp->dalsi){
if(tmp->szemelyiszam!=-1) fprintf(file,"%s %s %i %c\n",tmp->nev,tmp->vezeteknev,tmp->szemelyiszam,tmp->ertekeles);
}
fflush(file);
fclose(file);
return 0;
}
int Read_Textsubor()
{
FILE *file;
char filename<256>256>;
printf("Add meg a fajl nevet:");
scanf("%s",filename);
if((file=fopen(filename,"r"))==NULL){
printf("Nem lehet megnyitni...\n\n");
return -1;
}
if(elso==NULL)
{
if ((elso = (tanulo *) malloc(sizeof(tanulo)))== NULL) {
printf("Not enough memory...\n");
return -1;
}
else
{
elso->dalsi=NULL;
elso->szemelyiszam=-1;
utolso=elso;
}
}
if(!(utolso->szemelyiszam==-1)){
if ((tmp = (tanulo *) malloc(sizeof(tanulo)))== NULL) {
printf("Not enough memory...\n");
return -1;
}
else
{
utolso->dalsi=tmp;
utolso=tmp;
tmp->dalsi=0;
utolso->szemelyiszam=-1;
}
}
while(fscanf(file,"%s %s %i %c",utolso->nev,utolso->vezeteknev,&utolso->szemelyiszam,&utolso->ertekeles)!=EOF){
if(!(utolso->szemelyiszam==-1)){
if ((tmp = (tanulo *) malloc(sizeof(tanulo)))== NULL) {
printf("Not enough memory...\n");
return -1;
}
else
{
utolso->dalsi=tmp;
utolso=tmp;
tmp->dalsi=0;
utolso->szemelyiszam=-1;
}
}
}
fclose(file);
return 0;
}
int Print_Monitor()
{
for(tmp=elso;tmp!=NULL;tmp=tmp->dalsi){
if(tmp->szemelyiszam!=-1)
printf("%s %s %i %c\n",tmp->nev,tmp->vezeteknev,tmp->szemelyiszam,tmp->ertekeles);
}
return 0;
}
Írjatok interaktív programot(felhasználó által vezérelt), amelyik implementálja(felhasználja) a tanulók rendezetlen, láncolt listáját. Minden tanuló bejegyzése tartalmazza a vezetéknevet, nevet, személyi számot és az értékelést(A,B,C,D,E,F). Ezen kívül mutatót(pointert) is tartalmaz, amely a következõ tanuló bejegyzésére mutat a listában. A tanulók listája dinamikusan fog változni a tanulók aktuális száma szerint.
Foglaljátok bele a következõ lehetõségeket a felhasználóval való komunikációnál:
a: hozz létre egy üres listát
b: tanuló behelyezése a listába
c: tanuló törlése a listából
d: az egész lista törlése
e: tanulók kistájának kiírása szöveges fájlba(.txt)
f: tanulók listájának beolvasása szöveges fájlból(.txt)
g: tanulók kistájának kiírása képernyõre
x: a program bezárása
Na igen..megint en..meg mindig ez a program...😞
olyat kellene bele tenni, hogy ha a dataf.txt ures, de letezik,akkor nem 0erteket kellene adnia, hanem kiirni, pl. hogy a fajl ures!
Az if(darab==0) szorakoztam, de sehogy nem hozta ossze tokeletesre..please meg ezt az egyet...a tanarom nagyon szivat mostansag😞
es a vegere raktam volna egy getch()-et
akkor nem lett volna gond ..csak vhogy kimaradt..megegyszer nagyon szepen KOX!
test.c:2:18: error: conio.h: Nincs ilyen fájl vagy könyvtár
2. Az alábbi állomány (az 50.0, és a -52.3 utáni két sorban 6 szóköz van, a -52.3 után egy szóköz):
50.2
50.0
-52.3
55.3
esetén az alábbi kimenetet kapom vissza:
A dataf.txt fajlban 3 ertek talalhato
A fajlban 1 negativ szamot talaltam
Legjobb ertek 55.30
Legrosszabb ertek 50.00
Atlagos ertek 51.83
Szóval rendben van. nincs hiba.
#include<stdio.h>
#include<conio.h>
float szam;
float max;
float min;
float osszeg=0.0;
float atlag;
int darab=0;
int j;
FILE* Scorefajl;
int main()
{
if((Scorefajl=fopen("dataf.txt", "r" )) == NULL )
{
printf( "A fajlt nem talalhato!\n\n");
return -1;
}
while(!feof(Scorefajl))
{
fscanf( Scorefajl, "%f\n", &szam );
if (szam < 0)
j++;
if (szam <= 0.0 || szam >= 100.0) continue;
osszeg+=szam;
darab++;
if (darab == 1)
{
min = szam;
max = szam;
}
else
{
if (szam >= max) max=szam ;
if (szam <= min) min=szam ;
}
}
atlag = osszeg/darab;
if (darab == 0)
{
atlag = 0;
}
printf("A dataf.txt fajlban %d ertek talalhato\n\n",darab);
printf("A fajlban %i negativ szamot talaltam\n\n",j);
printf("Legjobb ertek %.2f\n\n",max);
printf("Legrosszabb ertek %.2f\n\n",min);
printf("Atlagos ertek %.2f\n\n",atlag);
return 0;
}
fscanf-fel (a while cikluson belül) beolvastathatod az értékeket - attól függõen hoggy milyen tipusú értékeket olvasol be.
fscanf (datfile,"%f\n", &temp); - ez például lebegõpontos számot olvas be a temp változóba
fscanf (datfile,"%d\n", &temp); - ez meg ugyanez egészre
A szóközöket ignorálni fogja.
Utána leellenõrizhetõek, tömbbe helyezhetõek az értékek...
A feladat nagyon hasonlít Razor88-éra csak "nem szintén zenész"? 😉
Szoval egy olyan progit irtam, ami kulso fajllal dolgozik.Ebbol a fajlbol beolvassa az ertekeket, es a kepernyore kiirja a maximalis erteket (a .txt fajlban szamok talalhatoak,tetszolegesek 0-100ig)es a minimalisat,valamint az átlagot, és hogy mennyi ertek(szam) talalhato az adott fajlban.Ez mind szep es jo, de nekem ha negativ szamokat irok be azt is ki kell iratnom,es lám ki is irja, de ha a fajlban veletlenul ott hagyok egy ures helyet(space)akkor azt is negativnak veszi es hozzaadja a negativ szamokhoz es mindig egyel tobbet ir ki..(de csak akkor ha a negativ szamok az utoslo helyen szerepelnek), hogy tudnam ezt kikuszobolni?????,Gondolkoztam , hogy a "while(!feof(Akarmifajl))" -ezt egybol a beolvasas utan raktam:
if((Akarmifajl=fopen("dataf.txt", "r" )) == NULL )
{
printf( "A fajl nem talalhato!\n\n");
return -1;
}
while(!feof(SkoreSubor))
ezzel kellene jatszani???
..kerlek aki tud segitsen fontos lenne minnel hamarabb!
ELORE is koszi!
Remélem jó helyen járok😄
A kérésem, kérdésem a következõ lenne:
Keresnénk elszánt programozókat akik értik elég rendesen a szakmájukat.Egy játékot szeretnénk csinálni, amit elég rég elkezdtünk. A game maga MMORPG lenne. Eddig haladgatunk, de most a programozói résznél, sajnos teljesen leakadtunk.😞 Ezért kérnék segítséget, attól aki ért hozzá nagyon s érzi magában az erõt, hogy segítene nekünk.
Ha valaki jelentkezni akar írjon a [email protected] címre! S ha kíváncsi képekre is annak szívesen küldök.
Elõre is kössz!
Pitbull
Σοφια
2. Nem a megfelelõ fórum.
3. Honosítás pedig nemigazán van hozzá. dict.sztaki.hu a jóbarátod.
Intel Q8200@2,9GHZ,4GB@800,HD4850,Logitech G25 LFS&TDU:Rolesz92
még anno c64en nyomtam a basic-et, aztán középsuliban turbo pascalt érettségi szinten,most meg egyetemen c++t. a baj csak az,hogy kiestem a formából..
de az msdn-hez nem nagyon volt türelmem,pedig lehet hogy hasznos lenne. mit ajánlasz tanulni vágyóknak? vmi magyar,netes cucc lenne a legjobb..
\"The oldest and strongest emotion of mankind is fear. And the oldest and strongest kind of fear is fear of the unknown.\" /Howard Phillips Lovecraft/
YouTube csatornám: www.youtube.com/user/atomheart147/videos
Másik megoldás, ha egyetemista vagy, vagy van oktatáshoz köze lévõ családtagod, akkor Campus licensz keretében jogosult vagy egész sor MS software-re, pl. Visual Studiora is (amibõl jelenleg a .NET 2003 verzió elérhetõ)
Ha simán csak VC++-t akarsz venni, akkor az szerintem nem olyan drága amúgy, akár 100 alatt is meg lehet úszni. (nem drága -- viszonylag...) De nem akarok semmi többet mondani ezügyben, mert igazából ezt csak hallomásból tudom, nem néztem utána konkrétan.
Tanulás ügyében ha nem probléma megszerezned a VC++-t, akkor akár azzal is lehet, de kezdetben egyszerû, konzolra írt alkalmazásokat érdemes nézegetni (amikkel tulajdonképpen a C++ programozást sajátítod el) és késõbb lehet a többi "csoda"dolog felé haladni.
\"The oldest and strongest emotion of mankind is fear. And the oldest and strongest kind of fear is fear of the unknown.\" /Howard Phillips Lovecraft/
attól függetlenül, hogy m$ suxx.
a VS.NETnek ugyan elcseszett lett szerintem a felülete, de a régi VC6ttal elég jól használható.
Fireboy: a kezdõ vagy, akkor szerintem inkább valami sima C++al kellene kezdeni, nem egybõl a visuallal.
és ha nagyon meg akarod szerezni az imént említett dolgokat, és semmiképp sem akarsz értük kipengetni kiszereléstõl függõen 300000+ petákot javasolnám a DC++, Kazaa nevû felhasználói szoftverek használatát, melyek könyyedén hozzásegítenek az íly módon ingyenes szoftverekhez😊 persze ez nem szép dolog. de azt teljesen ej lehet fogadni, hogy valaki nem akar 300000 Ftot fizetni valamiért, amit lehet, hogy 1 hét múlva kidob.
ja, télleg. most jutott eszembe.
nézz utána a m$ vagy a borland weboldalán, ha jól csaknak emlékeim, akkor mindkét cég fejlesztõ környezeteinek vannak un. "personal edition" változatai, amelyek nem használhatók üzleti célokra, de próbálkozni jó.
de ha nem tudsz C++ul akkor elõbb azt, és majd utána a vizuális kibõvítést!
When using Linux - there\'re no walls, so we don\'t need any Gates or Windows, do we?
Olyan embereket keresünk, akik értenek a programozáshoz és szívesen segítenének, hogy minél több játékhoz készüljön honosítás! A feladat annyi lenne, hogy néha küldünenénk egy egy játék szövegfájlját (ami esetleg kódolva van, vagy ha nem is kódolva, de nem lehet simán szerkeszteni) és ahhoz kellene megpróbálni írni egy visszakódoló programot. Dezzy anno nagy segítségünkre volt, hiszen nélküle nem lenne most Enter The Matrix ill. Project IGI 2 honosítás! A jelentkezéseket a [email protected] mailcímre várom!
GameHunter TEAM - Boss :: http://www.gamehunter.hu :: [email protected] Játékszinkron Stúdió :: http://www.jatekszinkron.hu :: [email protected]
YouTube csatornám: www.youtube.com/user/atomheart147/videos
vki segítsen..thx
hogy lehet azt megvalósítani,hogy egy tömb elemeit töltse fel a felhasználó a köv.képpen:
a tömb elemei 1 jegyû számok,sorban kérje be õket,úgy hogy ne kelljen entert ütni,csak sorban a számokat végjelig.
vagy bekérjem egyesével és utána bontsam szét jegyekké?
óriási számok tárolása számjegyenként,mûveletek a feladat..
thx a segítségért elõre is
Mondjuk egy Visual C nem ártana.😊
