
|
AUTOMATYKA I ROBOTYKA, GR. 22 WYDZIAŁ INŻYNIERII MECHANICZNEJ i ROBOTYKI |
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
michelin
Dołączył: 10 Lis 2006
Posty: 25
Przeczytał: 0 tematów
Skąd: Żagań / Kraków MS-AGH
|
Wysłany: Wto 0:51, 28 Lis 2006 Temat postu: Programy w C |
|
|
Może ktoś wrzucić na forum albo na naszego maila(lepiej na forum) programy zrobione w C. Napewno pomoże mi i innym nauczyć się C.
Z góry big thx
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
 |
margo
Dołączył: 10 Lis 2006
Posty: 179
Przeczytał: 0 tematów
Skąd: Wola Mędrzechowska
|
Wysłany: Wto 9:26, 28 Lis 2006 Temat postu: |
|
|
Chodzi o jakieś konkretne programy czy mogą być jakiekolwiek?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
WGS
Admin
Dołączył: 09 Lis 2006
Posty: 71
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Wto 10:48, 28 Lis 2006 Temat postu: |
|
|
Wszytko zrobione na funkcjach i działa, pozniej wrzuce cos jeszcze ...
----------------------------------------------------------------
//Ciąg Fibonacciego
#include <stdio.h>
#include <math.h>
//program pokazyjący n wyrazów ciągu Fibonacci'ego
int fibonacci(int n) //funkcja obliczająca n-ty wyraz ciągu Fibonacci'ego
{
switch(n)
{
case 1: return 1; break;
case 2: return 1; break;
default: return fibonacci(n-2)+fibonacci(n-1); break;
}
}
main()
{
int n; //deklaracja zmiennych
printf("Podaj n:\n");
scanf("%d",&n);
n=fibonacci(n);
printf("n-ty wyraz ciagu Fibonacciego to:\n");
printf("%d",n);
getch();
}
----------------------------------------------------------------
//Silnia
#include <stdio.h>
#include <math.h>
int silnia(int a)
{
switch (a)
{
case 0: return 1; break;
case 1: return 1; break;
default: return a*silnia(a-1);
}
}
main()
{
int a,z;
printf("SILNIA\n");
printf("Podaj liczbe \n");
scanf("%d",&a);
z=silnia(a);
printf("Wynik to ");
printf("%.0d",z);
getch();
}
----------------------------------------------------------------
//Kalkulator
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int kalkulator (int n)//funkcja obliczająca wynik
{
switch(n)
{
case 1:
{
float a,b,z;
printf("SUMA\n");
printf("Podaj pierwsza liczbe\n");
scanf("%g",&a);
printf("Podaj druga liczbe\n");
scanf("%g",&b);
z=a+b;
printf("Wynik to ");
printf("%g",z);
};
break;
case 2:
{
float a,b,z;
printf("ROZNICA\n");
printf("Podaj pierwsza liczbe\n");
scanf("%g",&a);
printf("Podaj druga liczbe\n");
scanf("%g",&b);
z=a-b;
printf("Wynik to ");
printf("%g",z);
};
break;
case 3:
{
float a,b,z;
printf("ILOCZYN\n");
printf("Podaj pierwsza liczbe\n");
scanf("%g",&a);
printf("Podaj druga liczbe\n");
scanf("%g",&b);
z=a*b;
printf("Wynik to ");
printf("%g",z);
};
break;
case 4:
{
float a,b,z;
printf("ILORAZ\n");
printf("Podaj dzielna\n");
scanf("%g",&a);
printf("Podaj dzielnik\n(rozny od zera)\n");
scanf("%g",&b);
z=a/b;
printf("Wynik to ");
printf("%g",z);
};
break;
case 5:
{
float a,b,z;
printf("POTEGA\n");
printf("Podaj podstawe\n");
scanf("%g",&a);
printf("Podaj wykladnik\n");
scanf("%g",&b);
z=pow(a,b);
printf("Wynik to ");
printf("%g",z);
};
break;
case 6:
{
float a,b,z;
printf("PIERWIASTEK\n");
printf("Podaj stopien pierwiastka\n");
scanf("%g",&a);
printf("Podaj liczbe pod pierwiastkiem\n");
scanf("%g",&b);
a=1/a;
z=pow(b,a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 7:
{
float a,z;
printf("LOGARYTM NATURALNY\n");
printf("Podaj liczbe logarytmowana\n");
scanf("%g",&a);
z=log(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 8:
{
float a,b,z;
printf("LOGARYTM\n");
printf("Podaj podstawe logarytmu\n");
scanf("%g",&a);
printf("Podaj liczbe logarytmowana\n");
scanf("%g",&b);
z=log10(b)/log10(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 9:
{
int silnia(int a)
{
switch (a)
{
case 0: return 1; break;
case 1: return 1; break;
default: return a*silnia(a-1);
}
}
{
int a,z;
printf("SILNIA n!\n");
printf("Podaj liczbe \n");
scanf("%d",&a);
z=silnia(a);
printf("Wynik to ");
printf("%.0d",z);
};
break;
}
case 10:
{
float a,z;
printf("SINUS\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=sin(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 11:
{
float a,z;
printf("COSINUS\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=cos(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 12:
{
float a,z;
printf("TANGENS\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=tan(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 13:
{
float a,z;
printf("COTANGENS\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=1/(tan(a));
printf("Wynik to ");
printf("%g",z);
};
break;
case 14:
{
float a,z;
printf("ARCUS SINUS\n dla -1<x<1\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=asin(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 15:
{
float a,z;
printf("ARCUS COSINUS\n dla -1<x<1\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=acos(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 16:
{
float a,z;
printf("ARCUS TANGENS\n dla -1<x<1\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=atan(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 17:
{
float a,z;
printf("MODUL\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=fabs(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 18:
{
float a,b,z;
printf("MODULO\n");
printf("Podaj liczbe (dzielna)\n");
scanf("%g",&a);
printf("Podaj liczbe (dzielnik)\n");
scanf("%g",&b);
z=fmod(a,b);
printf("Wynik to ");
printf("%g",z);
};
break;
case 19:
{
float a,z;
printf("2 do potegi x\n");
printf("Podaj liczbe\n");
scanf("%g",&a);
z=exp2(a);
printf("Wynik to ");
printf("%g",z);
};
break;
case 20:
{
float a,b,c,d,z,x;
printf("ROWNANIE KWADRATOWE - PIERWIASTKI\ny=ax^2+bx+c\n");
printf("Podaj wspolczynnik a\n");
scanf("%g",&a);
printf("Podaj wspolczynnik b\n");
scanf("%g",&b);
printf("Podaj wspolczynnik c\n");
scanf("%g",&c);
d=pow(b,2)-4*a*c;
if(d>=0)
{
z=(-b-sqrt(d))/(2*a);
x=(-b+sqrt(d))/(2*a);
printf("Rozwiazania rownania to \n");
printf("%g",z); printf("\n");
printf("%g",x);
}
else printf("Brak rozwiazania\n");
};
break;
case 21:
{
float a,b;
printf("Podaj dlugosc boku kwadratu\n");
scanf("%g",&a);
b=a*a;
printf("Pole to ");
printf("%g",b);
};
break;
case 22:
{
float a,b,c;
printf("Podaj dlugosc pierwszego boku prostokata\n");
scanf("%g",&a);
printf("Podaj dlugosc drugiego boku prostokata\n");
scanf("%g",&b);
c=a*b;
printf("Pole to ");
printf("%g",c);
};
break;
case 23:
{
float a,h,b;
printf("Podaj dlugosc boku trojkata\n");
scanf("%g",&a);
printf("Podaj dlugosc wysokosci opadajacej na podany wczesniej bok\n");
scanf("%g",&h);
b=(a*h)/2;
printf("Pole to ");
printf("%g",b);
};
break;
case 24:
{
float a,h,b;
printf("Podaj dlugosc boku rownolegloboku\n");
scanf("%g",&a);
printf("Podaj dlugosc wysokosci opadajacej na podany wczesniej bok\n");
scanf("%g",&h);
b=a*h;
printf("Pole to ");
printf("%g",b);
};
break;
case 25:
{
float d,e,a;
printf("Podaj dlugosc pierwszej przekatnej rombu\n");
scanf("%g",&d);
printf("Podaj dlugosc drugiej przekatnej rombu\n");
scanf("%g",&e);
a=(d*e)/2;
printf("Pole to ");
printf("%g",a);
};
break;
case 26:
{
float a,b,h,c;
printf("Podaj dlugosc pierwszej podstawy trapezu\n");
scanf("%g",&a);
printf("Podaj dlugosc drugiej podstawy trapezu\n");
scanf("%g",&b);
printf("Podaj dlugosc wysokosci trapezu\n");
scanf("%g",&h);
c=((a+b)*h)/2;
printf("Pole to ");
printf("%g",c);
};
break;
case 27:
{
float a,b,c;
printf("Podaj dlugosc pierwszej przekatnej deltoidu\n");
scanf("%g",&a);
printf("Podaj dlugosc drugiej przekatnej deltoidu\n");
scanf("%g",&b);
c=(a*b)/2;
printf("Pole to ");
printf("%g",c);
};
break;
case 28:
{
float r,c;
printf("Podaj dlugosc promienia kola\n");
scanf("%g",&r);
c=PI*r*r;
printf("Pole to ");
printf("%g",c);
};
break;
case 29:
{
float p,h,c;
printf("Podaj pole podstawy\n");
scanf("%g",&p);
printf("Podaj wysokosc\n");
scanf("%g",&h);
c=p*h;
printf("Pole to ");
printf("%g",c);
};
break;
case 30:
{
float p,h,c;
printf("Podaj pole podstawy\n");
scanf("%g",&p);
printf("Podaj wysokosc\n");
scanf("%g",&h);
c=1/3*(p*h);
printf("Pole to ");
printf("%g",c);
};
break;
case 31:
{
float r,c;
printf("Podaj dlugosc promienia kuli\n");
scanf("%g",&r);
c=4/3*(PI*r*r*r);
printf("Pole to ");
printf("%g",c);
};
break;
case 32:
{
float r,h,c;
printf("Podaj dlugosc promienia podstawy walca\n");
scanf("%g",&r);
printf("Podaj wysokosc walca\n");
scanf("%g",&h);
c=h*(PI*r*r);
printf("Pole to ");
printf("%g",c);
};
break;
case 33:
{
float r,h,c;
printf("Podaj dlugosc promienia podstawy stozka\n");
scanf("%g",&r);
printf("Podaj wysokosc stozka\n");
scanf("%g",&h);
c=1/3*h*(PI*r*r);
printf("Pole to ");
printf("%g",c);
};
break;
default: printf("Miales wpisac liczby od 01 do 33 cieciu\n"); break;
}
}
main()
{
int n;
float z;
printf("Wybierz operacje:\n\nDZIALANIA:\n\n-01-suma\n-02-roznica\n-03-iloczyn\n
-04-iloraz\n-05-potega\n-06-pierwiastek\n-07-logarytm naturalny\n
-08-logarytm\n-09-silnia\n-10-sinus\n-11-cosinus\n-12-tangens\n
-13-cotangens\n-14-arcus sinus\n-15-arcus cosinus\n-16-arcus tangens\n
-17-modul z liczby\n-18-reszta z dzielenia (modulo)\n-19-2 do potegi x\n
-20-pierwiastki rownania kwadratowego\n\nPOLA POWIERZCHNI:\n\n
-21-kwadrat\n-22-prostokat\n-23-trojkat\n-24-rownoleglobok\n
-25-romb\n-26-trapez\n-27-deltoid\n-28-kolo\n\nOBJETOSCI:\n\n
-29-graniastoslup\n-30-ostroslup\n-31-kula\n-32-walec\n-33-stozek\n");
scanf("%d",&n);
z=kalkulator(n);
getch();
}
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
michelin
Dołączył: 10 Lis 2006
Posty: 25
Przeczytał: 0 tematów
Skąd: Żagań / Kraków MS-AGH
|
Wysłany: Wto 13:11, 28 Lis 2006 Temat postu: |
|
|
THX.
Cytat: |
Chodzi o jakieś konkretne programy czy mogą być jakiekolwiek? |
Głównie chodziło mi o te co były na zajęciach ale każde się przydadzą
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Tymbark
Dołączył: 12 Lis 2006
Posty: 17
Przeczytał: 0 tematów
Skąd: Cormanthor (Sosny)
|
Wysłany: Wto 21:11, 28 Lis 2006 Temat postu: |
|
|
Kod: | //Program nie jest idiotoodporny
#include <stdio.h>
#include <conio.h>
#include <math.h> //biblioteka matematyczna - potrzebna do fukcji potegi
int min2()
{
int tab[15]; //tablica, w ktorej nalezy wyszukac minimum
int pom,min,min2,i,N; //min - minimum; min2 - drugie minimum; N - dlugosc tablicy; i - licznik; pom - zmienna pomocnicza do zamiany min i min2
printf("Wybrano prezentacje wyszukiwania drugiego minimum w tablicy\nPodaj dlugosc tablicy (2 - 14): ");
scanf("%d",&N);
printf("\nWypelnij tablice:\n");
for(i=1;i<=N;i++)
scanf("%d",&tab[i]);
if(tab[1]>tab[2])
{
min=tab[2];
min2=tab[1];
}
else
{
min=tab[1];
min2=tab[2];
}
for(i=3;i<=N;i++)
{
if(tab[i]<min2)
{
min2=tab[i];
if(min2<min)
{
pom=min;
min=min2;
min2=pom;
}
}
}
printf("\nMinimum = %d\nDrugie minimum = %d",min,min2);
getch();
}
int babel()
{
int i,j,pom; //i,j - liczniki; pom - zmienna pomocnicza do zamiany komorek tablicy miejscami
int tab[400]; //tablica do posortowania
printf("Wybrano prezentacje sortowania babelkowego\nTablica wartosci losowych nieposortowanych:\n");
getch();
for(i=0;i<=399;i++)
{
tab[i]=rand()%400; //rand zwraca dosc duza liczbe pseudolosowa a po podzieleniu modulo 400 - liczbe z przedzialu 0 - 399
printf("%d, ",tab[i]);
}
getch();
printf("\nPowyzsza tablica po posortowaniu:\n");
for(i=0;i<399;i++) //sortowanie babelkowe z mala optymalizacja - mozna zoptymalizowac bardziej ale utrudniloby to zrozumienie kodu
{
for(j=0;j<399-i;j++) //wersja bez optymalizacji powinna miec warunek "j<399" zamiast "j<399-i"
{
if(tab[j+1]<tab[j])
{
pom=tab[j+1];
tab[j+1]=tab[j];
tab[j]=pom;
}
}
}
for(i=0;i<=399;i++)
printf("%d, ",tab[i]);
getch();
}
int lpier()
{
int N,i,j; //i,j - liczniki; N - ilosc liczb do przeskanowania (gorna granica przeszukiwanego zbioru)
short tab[10000]; //deklaracja tablicy wartosci logicznych
printf("Wybrana zostala funkcja wyznaczajaca wszystkie liczby pierwsze od 1 do N.\nRealizacja zadania za pomoca algorytmu Sita Eratostenesa\nPodaj N: ");
scanf("%d",&N);
printf("\n");
for(i=2;i<=N;i++)
tab[i]=1; //zakladam, ze wszystkie liczby od 2 do N sa pierwsze
for(i=2;i<=N;i++) //ta petla wraz z tym, co sie w niej zawiera to wlasciwy algorytm
{
if(tab[i])
{
printf("%d, ",i);
j=2*i;
while(j<=N)
{
tab[j]=0;
j+=i;
}
}
}
getch();
}
int fib2() //N-ta liczba Fibonacciego
{
int N,i; //i - licznik; N - numer liczby w ciagu Fibonacciego, ktora program wyznaczy
double fi; //fi - fi, zlota proporcja, stosunek dwoch kolejnych wyrazow ciagu fibonacciego
fi=(1+sqrt(5))/2; //wartosc fi
printf("Wybrana zostala funkcja wyznaczajaca N-ta liczbe Fibonacciego\nPodaj N: ");
scanf("%d",&N);
if(N==1)
printf("1 1"); //dla jedynki program sie myli :)
else
printf("%d %.0f",N,1/sqrt(5)*(powi(fi,N)-powi(1/fi,N))); //wzor na N-ta liczbe Fibonacciego z uzyciem funkcji powi(x,y) z biblioteki math gdzie x - podstawa potegi, y - wykladnik potegi; x jest float a y calkowite
getch();
}
int fib1() //obliczanie N poczatkowych liczb Fibonacciego
{
int i,N,a=1,b=0,pom; //zmienne a,b - liczace; zmienna pom - zmienna pomocnicza przy zamianie wartosci a i b; N - zmienna okreslajaca ilosc wyznaczonych liczb; i - licznik
printf("Wybrana zostala funkcja wyznaczajaca N poczatkowych liczb Fibonacciego.\nPodaj N: ");
scanf("%d",&N);
printf("i F(i)\n");
for(i=1;i<=N;i++)
{
printf("%d",i);
gotoxy(6,i+3);
printf("%d\n",a);
pom=a; //obliczenie kolejnej
a=b+a; //liczby
b=pom; //Fibonacciego
}
getch();
}
int main()
{
short ver;
do
{
clrscr(); //wyczyszczenie ekranu
printf("Wybierz wersje:\n 1.Drugie minimum\n 2.N pierwszych liczb Fibonacciego\n 3.N-ta liczba Fibonacciego\n 4.Sortowanie babelkowe\n 5.Wyznaczanie wszystkich liczb pierwszych od 1 do N (Sito Eratostenesa)\n 0.Wyjscie\n");
gotoxy(17,1);
scanf("%d",&ver); //wybor zadania
clrscr();
switch(ver) //realizacja zadania
{
case 1:
min2();
break;
case 2:
{
fib1();
break;
}
case 3:
fib2();
break;
case 4:
babel();
break;
case 5:
lpier();
break;
case 0:
{
return(0);
break;
}
}
}
while(ver!=0); //program wykonuje sie dopoki go nie zamkniemy (ver==0)
}
#include <stdio.h>
int main()
{
int wyniki[11],min,i,j,zmiennapomocnicza,tablica[11];
printf("Podaj 10 liczb: ");
for (i=1;i<=10;i++)
scanf("%d",&tablica[i]);
for (i=1;i<=10;i++)
{
min=tablica[1];
tablica[1]=32000;
for (j=2;j<=10;j++)
if (tablica[j]<min)
{
zmiennapomocnicza=tablica[j];
tablica[j]=min;
min=zmiennapomocnicza;
}
wyniki[i]=min;
}
for (i=1;i<=10;i++)
printf("%d ",wyniki[i]);
return(0); //bo funkcja main powinna zwracac zero
}
|
Pierwszy program to zlepek kilku funkcji - każdą można analizować oddzielnie. Problem ciągu Fibonacciego został tam rozwiązany za pomocą zwartego wzoru Bineta oraz iteracji. Rozwiązanie WGS to rozwiązanie rekurencyjne (znaczy się: funkcja wywołuje samą siebie - tak na wszelki wypadek przypominam). Drugi programik sortuje tablicę wyszukując aktualnie najmniejszy jej element. Gdyby coś nie działało to proszę o sygnał, poprawię.
Edit: Wcięcia są :) Dziekuję za podpowiedź.
Post został pochwalony 0 razy
Ostatnio zmieniony przez Tymbark dnia Śro 9:34, 29 Lis 2006, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
michelin
Dołączył: 10 Lis 2006
Posty: 25
Przeczytał: 0 tematów
Skąd: Żagań / Kraków MS-AGH
|
Wysłany: Śro 1:12, 29 Lis 2006 Temat postu: |
|
|
Dałbyś to w <code> to by były wcięcia chyba.
Mieliście już C wśredniej czy korzystacie z jakiegoś dobrego kursu. Jakoś mi to C nie podchodzi w ogóle;/
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Tymbark
Dołączył: 12 Lis 2006
Posty: 17
Przeczytał: 0 tematów
Skąd: Cormanthor (Sosny)
|
Wysłany: Śro 9:37, 29 Lis 2006 Temat postu: |
|
|
Ja miałem w liceum Pascala i Delphi (rozszerzona informatyka z dobrym nauczycielem). W C/C++ przed studiami napisałem jeden program, w którym nawet nie było pętli. Podręcznika nie mam żadnego niestety, więc nie mogę polecić...
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
margo
Dołączył: 10 Lis 2006
Posty: 179
Przeczytał: 0 tematów
Skąd: Wola Mędrzechowska
|
Wysłany: Śro 13:13, 29 Lis 2006 Temat postu: |
|
|
Też w LO miałam zestaw Pascal + Delphi (quasirozszerzona informatyka z quasidobrym nauczycielem ). Ale ostatnio obczaiłam dobrą książkę do C. /tzn. jak z tego się nie nauczysz to się nie nauczysz/ Książka jest z serii "* dla iditów" /w tym przypadku "Informatyka dla idiotów" /. Totale podstawy, napisana po ludzku, ma dużo przykładów i nawet jak nigdy nie miałeś doczynienia z programowaniem to po tym istnieje niezerowe prawdopodobieństwo że się nauczysz.
Roman Konieczny, "Wprowadzenie do programowania w języku C", INTERSOFTLAND, W-wa 1993.
Książka jest dostępna w bibliotece AGH. Wiem, że może jest trochu stara, ale fajna. I ma ekstra dyskietkę na końcu:P
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
lukaswax
Dołączył: 13 Lis 2006
Posty: 43
Przeczytał: 0 tematów
Skąd: Podhale rulez:)
|
Wysłany: Śro 19:50, 29 Lis 2006 Temat postu: |
|
|
Ja mialem w LO infe NIBY ROZSZERZONA ale babka byla bardziej tepa od kumpli z klasy ktorzy ja zaginali prawie na wszystkm... poza tym mialem pascala. polecilbym ksiazke "thinking in C++" - tyle ze jest ona dosc droga...
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
WGS
Admin
Dołączył: 09 Lis 2006
Posty: 71
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Śro 22:08, 29 Lis 2006 Temat postu: |
|
|
lukaswax napisał: | polecilbym ksiazke "thinking in C++" - |
Jak C++ to tylko "Symfonia C++" Grębosza! Napisane po ludzku, ładnie powyjaśniane. Czego więcej chcieć
Co do programowania w C ... Podrzucono mi książeczkę A.Zalewskiego "Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++" ... Tylko to taka duża biblia ... ale fragmenty można przecież czytać
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Ziembol
Admin
Dołączył: 09 Lis 2006
Posty: 31
Przeczytał: 0 tematów
Skąd: Jaworzno
|
Wysłany: Czw 0:04, 30 Lis 2006 Temat postu: |
|
|
O co ja tutaj widze Pan Wyhakiewicz i jego słynny 33 funkcyjny kalkulator
No piękinie
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
WGS
Admin
Dołączył: 09 Lis 2006
Posty: 71
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Czw 18:01, 30 Lis 2006 Temat postu: |
|
|
Ziembol napisał: | O co ja tutaj widze Pan Wyhakiewicz i jego słynny 33 funkcyjny kalkulator
No piękinie |
Cicho ... teraz pisze obliczanie pochodnych i to głupie zadanie na całą stronę z ostatniej infy ...
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Dziecie
Dołączył: 10 Lis 2006
Posty: 12
Przeczytał: 0 tematów
Skąd: Żyraków k/Dębicy // Kraków: Skłodowskiej-Curie
|
Wysłany: Śro 1:07, 06 Gru 2006 Temat postu: |
|
|
Baza Danych Plus zapis do plików (niestety bez zapisu do plików binarnych):
Czyli to co było 29 listopada w 7 punktach rozpisane (zrobione bez 7c i 7d)
Kod: | #include<stdio.h>
int pierdolnik=0;
int wybor;
int ster=0;
char nazwa[32];
char czysta_tabl[32];
struct student
{
char imie[20];
char nazwisko[30];
int rok;
int album;
} osoba[10];
void wczytaj(int *wsk_wczyt)
{
if (*wsk_wczyt==10)
{
printf("baza pelna");
return;
}
printf("Podaj Imie\t");
scanf("%s", osoba[*wsk_wczyt].imie);
printf("Podaj nazwisko\t");
scanf("%s", osoba[*wsk_wczyt].nazwisko);
printf("Podaj Rok\t");
scanf("%d", &osoba[*wsk_wczyt].rok);
printf("Podaj numer Albumu\t");
scanf("%d", &osoba[*wsk_wczyt].album);
*wsk_wczyt=*wsk_wczyt+1;
return;
};
void wypisz(int *wsk_decyz)
{
if (osoba[*wsk_decyz].rok==0)
{
printf("brak wpisu");
return;
}
printf("Nazwisko: %s\nImie: %s\nRok: %d\nNo. Albumu: %d", osoba[*wsk_decyz].nazwisko, \
osoba[*wsk_decyz].imie, osoba[*wsk_decyz].rok, osoba[*wsk_decyz].album);
return;
}
void zapisz_tekst(char sciezk[45],int *liczb)
{
FILE *plik=fopen(sciezk, "wt");
if (osoba[*liczb].rok==0)
return;
fprintf(plik, "Nazwisko: %s\nImie: %s\nRok: %d\nNo. Albumu: %d\n", osoba[*liczb].nazwisko,\
osoba[*liczb].imie, osoba[*liczb].rok, osoba[*liczb].album);
fclose(plik);
return;
};
void odczyt_tekst(char sciezk[45],int *wybr)
{
FILE *plik=fopen(sciezk, "rt");
if(plik)
{
fscanf(plik, "Nazwisko: %s\nImie: %s\nRok: %d\nNo. Albumu: %d\n", osoba[*wybr].nazwisko,\
osoba[*wybr].imie, &osoba[*wybr].rok, &osoba[*wybr].album);
return;
};
printf("blad dostepu do pliku");
return;
}
int main()
{
for(wybor=0;wybor<10;wybor++)
osoba[wybor].rok=0;
do
{
printf("\n1) Pisanie rekordu\n2) Odczyt\n3) zapis do pliku\n4) odczyt z pliku\n5) koniec Programu\t");
scanf("%d", &pierdolnik);
char sciezka[45]="c:\\";
switch (pierdolnik)
{
case 1:
wczytaj(&ster);
break;
case 2:
printf("\nktory rekord?\t");
scanf("%d", &wybor);
wybor=wybor-1;
wypisz(&wybor);
break;
case 3:
printf("ktory rekord?");
scanf("%d", &wybor);
printf("podaj nazwe (nie zapomnij o rozszerzeniu \'.txt\'!!)");
scanf("%s", nazwa);
strcat(sciezka,nazwa);
zapisz_tekst(sciezka, &wybor);
break;
case 4:
printf("do ktorego rekordu wczytac?");
scanf("%d", &wybor);
printf("nazwa pliku:\t");
scanf("%s", nazwa);
strcat(sciezka,nazwa);
odczyt_tekst(sciezka, &wybor);
break;
};
}
while (pierdolnik!=5);
return 0;
};
|
Przepraszam za nazwe pewnej zmiennej, nie chce mi się jej zmianiać.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Ziembol
Admin
Dołączył: 09 Lis 2006
Posty: 31
Przeczytał: 0 tematów
Skąd: Jaworzno
|
Wysłany: Śro 20:54, 06 Gru 2006 Temat postu: |
|
|
Tak zrobiłem program na dzisiejszym kolosie
Ma z dziesietnych na szesnastkowe liczyc przez funkcjie
------------------------------------------------------
#include<stdio.h>
#define b 5
//liczba bitów
//program ma zamieniac liczbe 10 na kod 16-stkowy
char funk(int n)
{
char tabl[b];
int i,d;
i=0;
d=n;
while(i<b) {
tabl[i]=d%16;
d=d/16;
i++;
}
for(i=b-1;i>=0;i--) {
switch(tabl[i]) {
case 10: printf("A"); break;
case 11: printf("B"); break;
case 12: printf("C"); break;
case 13: printf("D"); break;
case 14: printf("E"); break;
case 15: printf("F"); break;
default: printf("%d",tabl[i]);
}
}
}
main() {
int n;
printf("liczba bitow to: %d\n",b);
printf("podaj liczbe w systemie dziesietnym\n");
scanf("%d",&n);
printf("%c",funk(n));
getch();
}
------------------------------------------------
i tak bedzie pała
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Marcos
Dołączył: 12 Lis 2006
Posty: 20
Przeczytał: 0 tematów
|
Wysłany: Nie 0:14, 10 Gru 2006 Temat postu: |
|
|
Co do ostatniego zadania z informy dotyczacego towarow....moze mi ktos powie dlaczego po wpisaniu drugiej danej program wylacza sie....w ogole to dobrze jest mniej wiecej??? Wielkie dzieki za odpowiedz:
#include <stdio.h>
#include <conio.h>
void main()
{
struct towar
{
char nazwa[20];
char miara[10];
float netto;
float vat;
int ilosc;
float brutto1;
float netto1;
float brutto2;
float netto2;
}a[10];
int i;
for(i=0;i<10;++i)
{
clrscr();
printf ("Podaj parametry:\n\n1 - Nazwa %d. towaru: ",i+1);
gets(a[i].nazwa);
printf ("\n2 - Miara (jednostka): ");
gets(a[i].miara);
printf ("\n3 - Cena netto: ");
scanf ("%f", &a[i].netto);
printf ("\n4 - VAT (%): ");
scanf ("%lf", &a[i].vat);
printf ("\n5 - Ilosc: ");
scanf ("%d", &a[i].ilosc);
}
for(i=0;i<10;++i)
{
a[i].brutto1 = (a[i].netto*((a[i].vat*0.01)+1.0));
a[i].brutto2= (a[i].brutto1*a[i].ilosc);
a[i].netto2= (a[i].netto*a[i].ilosc);
}
clrscr();
for(i=0;i<10;++i)
{
printf ("\nNazwa towaru: %s", a[i].nazwa);
printf ("\nMiara: %s", a[i].miara);
printf ("\nIlosc: %d", a[i].ilosc);
printf ("\nCena netto: %.4f PLN", a[i].netto);
printf ("\nCena netto razem: %.4f PLN",a[i].netto2);
printf ("\nVAT: %.2f PLN", a[i].vat*0.01);
printf ("\nCena brutto: %.4f PLN", a[i].brutto1);
printf ("\nCena brutto razem: %.4f PLN\n", a[i].brutto2);
}
getch();
}
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Tymbark
Dołączył: 12 Lis 2006
Posty: 17
Przeczytał: 0 tematów
Skąd: Cormanthor (Sosny)
|
Wysłany: Nie 17:19, 10 Gru 2006 Temat postu: |
|
|
U mnie się nie wyłączył Ale używam innego kompilatora więc może dlatego. W każdym razie i tak nie działał do końca poprawnie bo w każdym kolejnym przebiegu poza pierwszym nie wczytywał nazwy towaru a od razu przeskakiwał dalej. Gryzie się tutaj gets ze scanfem. Czemu używasz obu na raz? Moim zdaniem lepiej byłoby pozostać wszędzie przy scanfie. Czyli zamist gets(a[i].nazwa) będzie scanf("%s",&a[i].nazwa) i analogicznie przy mierze. Czy dobrze liczy już nie sprawdzałem, ale pewnie tak
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Gość
|
Wysłany: Czw 18:43, 11 Sty 2007 Temat postu: |
|
|
Możecie wrzucić kody ostatnich programów co robiliśmy. Chodzi mi tu głównie o kostkę(jeżeli komuś się udało) i o ten program co zapisuje liczby do pliku i wyłącza sie gdy wciśniemy 0.
THX. Jeśli nie uda mi się zrozumieć c do środy to może chociaż zapamiętam coś z tych kodów
|
|
Powrót do góry |
|
 |
michelin
Dołączył: 10 Lis 2006
Posty: 25
Przeczytał: 0 tematów
Skąd: Żagań / Kraków MS-AGH
|
Wysłany: Pią 1:32, 12 Sty 2007 Temat postu: |
|
|
Ten post powyżej to ja napisałem. Nie zauważyłem że mi cookies skasowało.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Dziecie
Dołączył: 10 Lis 2006
Posty: 12
Przeczytał: 0 tematów
Skąd: Żyraków k/Dębicy // Kraków: Skłodowskiej-Curie
|
Wysłany: Czw 14:38, 25 Sty 2007 Temat postu: |
|
|
Kostka:
Kod: | #include<math.h>
#include<conio.h>
#include<iostream>
#define ESC 27
using namespace std;
void kostka (int oczka)
{
cout << " ----- " << endl;
for (int i=1;i<=9;i++)
{
switch (i)
{
case 1:
case 4:
case 7: cout <<"| ";
}
switch (i)
{
case 1:
case 9:
if (oczka >1)
cout <<"O";
else
cout << " ";
break;
case 2:
case 8:
cout <<" ";
break;
case 3:
case 7:
if (oczka > 3)
cout << "O";
else
cout << " ";
break;
case 5:
if (oczka%2)
cout << "O";
else
cout << " ";
break;
case 4:
case 6:
if (oczka == 6)
cout <<"O";
else
cout << " ";
break;
}
switch (i)
{
case 3:
case 6:
case 9:
cout << " |" << endl;
}
}
cout << " ----- " << endl;
}
main ()
{ int liczba;
char znak;
cout << "Esc konczy porogram" << endl;
while ((znak=getch() )!= ESC)
{ //system ("cls");
liczba=(int) round (rand ()%6)+1;
kostka(liczba);
cout << endl;
}
}
|
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|