Powtarzam 2 semestr studiów, więc mam obecnie pół roku wolnego i w związku z tym chciałbym spożytkować ten czas jak najlepiej przede wszystkim w kierunku rozwoju naukowego.
Zdaję sobie sprawę, że moje kwalifikacje są bardzo niskie, gdyż umiem praktycznie tyle ile może potrafić student po pierwszym/drugim semestrze studiowania informatyki (algorytmy i struktury danych, podstawowa obsługa linuxa, c/c++, czyli wskaźniki, funkcje, struktury, podstawowa obsługa plików).
Stąd moje pytanie - Czy mam jakie kolwiek szanse na zatrudnienie w ramach stażu, choćby bezpłatnego w dziedzinie, która w jakiś sposób rozwinęła by mnie w kierunku programowania lub ogółem informatyki?
Jeżeli tak to gdzie najlepiej szukać i w jaki sposób?
A jeżeli nie to jak najlepiej spożytkować ten czas Waszym zdaniem i jakich umiejętności mi brakuje?
Niestety jeśli chodzi o samodzielne projekty i ich skalę to nie mam się czym pochwalić również :/
Oto przykładowy kod, który robiłem podczas studiów:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
struct dane{
char marka[20];
int rocznik, przebieg;
};
struct aut{
struct dane mobile;
int cena;
};
int przebieg(struct aut (*tab)[10], int n);
int comparator(const void *a, const void *b);
int compare (const void * a, const void * b)
{
struct aut *autoA = (struct aut *)a;
struct aut *autoB = (struct aut *)b;
return ( autoA->mobile.marka - autoB->mobile.marka );
}
int main(void)
{
struct aut TAB[5][10];
int i, j;
srand(time(NULL));
for(i=0; i<5; i++){
for(j=0; j<10; j++){
TAB[i][j].mobile.rocznik = rand()%2000;
TAB[i][j].mobile.przebieg = rand()%1000;
strcpy(TAB[i][j].mobile.marka,"opel");
}
}
strcpy(TAB[3][2].mobile.marka,"skoda");
strcpy(TAB[1][8].mobile.marka,"mercedes");
strcpy(TAB[2][4].mobile.marka,"audi");
printf("Najstarszy samochĂłd ma przebieg %d km\n", przebieg(TAB, 5));
struct aut *wskazTAB=(struct aut*)TAB;
for(i=0; i<50; i++){
printf("Auto nr: %d marka: %s rocznik: %d przebieg: %d \n",i,(wskazTAB+i)->mobile.marka,(wskazTAB+i)->mobile.rocznik, (wskazTAB+i)->mobile.przebieg);
}
qsort(wskazTAB, 50, sizeof(struct aut), comparator);
for(i=0; i<50; i++){
printf("Auto nr: %d marka: %s rocznik: %d przebieg: %d \n",i,(wskazTAB+i)->mobile.marka,(wskazTAB+i)->mobile.rocznik, (wskazTAB+i)->mobile.przebieg);
}
FILE *fp = fopen("plik.bin", "wb");
if(fp==NULL){
puts("BĹ‚Ä…d otwarcia");
exit(-1);
}
for(i=0; i<5; i++)
fwrite(TAB[i], sizeof(struct aut), 10, fp);
fclose(fp);
return 0;
}
int przebieg(struct aut (*tab)[10], int n)
{
int k = 10;
int i, j, min=2016, wynik;
for(i=0; i<n; i++){
for(j=0; j<k; j++){
if(tab[i][j].mobile.rocznik < min){
min = tab[i][j].mobile.rocznik;
wynik = tab[i][j].mobile.przebieg;
}
}
}
return wynik;
}
int comparator(const void *a, const void *b)
{
const char *wa = (const char*)a;
const char *wb = (const char*)b;
return strcmp(wa, wb);
}
Jest to po prostu program, który miał pokazać, że umiem operować na strukturach. Zawarta jest w nim praca na wskaźnikach i podstawowa obsługa plików oraz tworzenie funkcji do wykonywania operacji na strukturach.
W zasadzie ten program określa większość moich umiejętności z programowania w języku c :S