Jump to content
ionut97

Programe incepator.

Recommended Posts

Salutare din nou,de ceva timp m-am apucat de c++ si m-am gandit sa pun primele mele programe aici(2 la numar).

Ambele sunt de tip consola si sunt scrise destul de aiurea si au cateva probleme dar functioneaza.

Primul este un calculator destul de simplu cu cateva optiuni.Un program usor de facut.

Download: GirlShare - Download Calculator.exe

In jur de 130 de liniute.

Al doilea program este putin mai maricel dar este la fel de simplu.Este un joc de consola cam ciudat dar nu aveam idei.

Download: GirlShare - Download joc.exe

Este mai mare decat primul, are in jur de 1400-1500 de linii scrise si mai prost.

Din cele 1400 de linii cred ca 200 sunt inutile dar l-am modificat mereu si nu am elimit ce era nefolositor.

Nu pun codul sursa pentru ca ma fac de ras :)).

Totul este scris de mine de aici si scrierea "impecabila".

Sunt facute folosind Code Blocks.

Link to comment
Share on other sites

nu stiu ce a codeBlocks. nu vreau sa stiu.

fa'ti rost de visual studio 2010 sau 2011 de urgenta. iti simplifica treaba o gramada.

si uite cum ai putea sa faci mult mai usor un calculator (si sa fie si mai user friendly pe deasupra):


#include <iostream>
using namespace std;

int main() {
char s[100], a[100];
int i, j, nr1, nr2;
cout<<"[*]Introduceti operatia (a +,-,*,/,^ sau 0 ca sa iesiti: ";
cin>>s; //citeste operatia
while(strcmp(s, "0")) { //daca mesajul introdus e diferit de 0:
for (i = 0; i < strlen(s); i++) //cautam caracterul care specifica operatia (indiciu: nu o sa fie cifra)
if ((int)s[i]<48 || (int)s[i]>57) { //verificam daca este cifra. in caz contrar:
cout<<s<<"=";
for (int j = 0; j < i; j++) a[j] = s[j]; //incepem sa construim cele doua numere...
nr1 = atoi(a);
nr2 = atoi(&s[i+1]);
switch((int)s[i]) { //efectuam o operatie diferita in functie de operatorul ales de utilizator si afisam rezultatul:
case 42: cout<<nr1*nr2; break;
case 43: cout<<nr1+nr2; break;
case 45: cout<<nr1-nr2; break;
case 47: cout<<nr1/nr2; break;
case 94: cout<<pow(nr1, nr2); break;
default: cout<<"A aparut o eroare. Apasa enter ca sa inchizi programul..."; cin.get(); return 0;
}
cout<<endl<<endl;
break;
}
cout<<"[*]Introduceti operatia (a +,-,*,/,^ sau 0 ca sa iesiti: ";
cin>>s;
}
return 0;
}

31 de linii de cod cu tot cu cateva goale.

am adaugat si comentaii sa il intelegi mai usor :P

Link to comment
Share on other sites

ar fi argumenta in favoarea la visual studio.

cei drept nu am folosit niciodata codeblocks si nu stiu daca incorporeaza sau nu urmatoarele future-e dar ceea ce imi place mie cel mai mult la visual studio:

-verifica sintaxa in timp real, nu doar la compilare, si in felu asta iti corectezi greselile de tastare imediat ce le-ai facut.

in peste 90% din cazuri nu optin nici o eroare la compilare.

-cand scrii un nume de functie gen "strcmp(", iti apare imediat sub cursor o zona micuta in care iti specifica ce parametrii primeste functia respectiva, gen "strcmp(constant char* a, constant char* b)", ceea e foarte util mai ales cand lucrezi cu windows api spre exemplu la care multe functii au cate 6-7 parametrii si poate nu mai tii minte exact care al catelea sa il pui.

-daca scrii x litere or sa iti apara un meniu cu toate functiile care incep cu literele alea

-are un debugger extrem de bun care reduce foarte mult timpul de debugging al aplicatiilor. nici nu imi imaginez acum cum am putut sa lucrez cativa ani in devC++ fara debugger...

Link to comment
Share on other sites

^ are exact tot ce ai scris mai sus cu exceptia verificarii in timp real, banuiesc ca te refereai ca in eclipse sa-ti arate daca e ceva in neregula sau daca ai scris ceva eronat (sa-ti arate in stanga un semn ceva). Debuggerul in cb este mai mult decat excelent, dar un programator cu mintea lucida se descurca din printuri :). In plus este cross-platform si este prima alegere in linux pentru c++ ide (daca nu ne gandim la cei 1337 in vim). Mi se pare mult mai usor de costumizat la partea de formatare si stilul codului. O fi si celalalt bun dar pur si simplu nu suport ideea micro$hit.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...