Język C/C++ w przykładach
Transkrypt
Język C/C++ w przykładach
Język C/C++ w przykładach Podstawowe operacje wejścia-wyjścia _______________________________________________________________________________________________ // Program drukujący na ekranie komunikat #include <stdio.h> #include <conio.h> main() { printf("\n Pierwszy program w jezyku C."); getch(); return 0; } _______________________________________________________________________________________________ // Program wczytujący zmienną i drukujący ją #include <stdio.h> #include <conio.h> main() { int x; printf("\n Podaj liczbe: "); scanf("%d",&x); printf("\n Wczytales liczbe: %d",x); getch(); return 0; } _______________________________________________________________________________________________ // Suma, różnica, iloczyn, iloraz #include <stdio.h> #include <conio.h> main() { double liczba1,liczba2,wynik; printf("\n Podaj pierwsza liczbe:\n "); scanf("%lf",&liczba1); printf("\n Podaj druga liczbe:\n "); scanf("%lf",&liczba2); wynik=liczba1+liczba2; printf("\n %lf + %lf = %lf",liczba1,liczba2,wynik); wynik=liczba1-liczba2; printf("\n %lf - %lf = %lf",liczba1,liczba2,wynik); wynik=liczba1*liczba2; printf("\n %lf * %lf = %lf",liczba1,liczba2,wynik); wynik=liczba1/liczba2; printf("\n %lf : %lf = %lf",liczba1,liczba2,wynik); getch(); return 0; } _______________________________________________________________________________________________ // Suma, różnica, iloczyn, iloraz oraz instrukcje cin i cout #include <conio.h> #include <iostream.h> main() { int liczba1,liczba2,wynik; cout<<"\n Wprowadz pierwsza liczbe calkowita\n "; cin>>liczba1; cout<<"\n Wprowadz druga liczbe calkowita\n "; cin>>liczba2; wynik=liczba1+liczba2; cout<<"\n Suma wynosi: "<<liczba1<<" + "<<liczba2<<" = "<<wynik<<endl; wynik=liczba1-liczba2; cout<<"\n Roznica wynosi: "<<liczba1<<" - "<<liczba2<<" = "<<wynik<<endl; wynik=liczba1*liczba2; cout<<"\n Iloczyn wynosi: "<<liczba1<<" * "<<liczba2<<" = "<<wynik<<endl; wynik=liczba1/liczba2; cout<<"\n Iloraz wynosi: "<<liczba1<<" : "<<liczba2<<" = "<<wynik<<endl; getch(); return 0; } Instrukcje warunkowe _______________________________________________________________________________________________ // Proste użycie instrukcji if #include <stdio.h> #include <conio.h> main() { int x; printf("\n Podaj liczbe: "); scanf("%d",&x); if(x>0) printf("\n Liczba %d jest dodatnia."); if(x<0) printf("\n Liczba %d jest ujemna."); getch(); return 0; } _______________________________________________________________________________________________ // Parzystość i nieparzystość liczb #include <conio.h> #include <iostream.h> main() { int liczba; cout<<"\n Wprowadz liczbe calkowita:\n "; cin>>liczba; if(liczba%2==0) cout<<"\n Liczba "<<liczba<<" jest parzysta. "; if(liczba%2!=0) cout<<"\n Liczba "<<liczba<<" jest nieparzysta. "; getch(); return 0; } _______________________________________________________________________________________________ // Proste użycie instrukcji if ... else #include <stdio.h> #include <conio.h> main() { int x,y; printf("\n Podaj liczbe:\n x = "); scanf("%d",&x); printf("\n Podaj liczbe:\n y = "); scanf("%d",&y); if(x==y) printf("\n Podane liczby sa sobie rowne."); else printf("\n Podane liczby nie sa sobie rowne."); getch(); return 0; } _______________________________________________________________________________________________ // Zagnieżdżone użycie instrukcji if ... else #include <stdio.h> #include <conio.h> main() { int x,y; printf("\n Wczytaj cyfre: "); scanf("%d",&x); if(x%2==0) if(x>0) printf("\n Liczba %d jest parzysta liczba dodatnia.",x); else printf("\n Liczba %d jest parzysta liczba ujemna.",x); else if(x>0) printf("\n Liczba %d jest nieparzysta liczba dodatnia.",x); else printf("\n Liczba %d jest nieparzysta liczba ujemna.",x); getch(); return 0; } _______________________________________________________________________________________________ // Proste zastosowanie instrukcji switch #include <stdio.h> #include <conio.h> main() { int x,y; printf("\n Wczytaj cyfre: "); scanf("%d",&x); switch(x) { case 0: printf("\n Wczytales cyfre 'zero'."); break; case 1: printf("\n Wczytales cyfre 'jeden'."); break; case 2: printf("\n Wczytales cyfre 'dwa'."); break; case 3: printf("\n Wczytales cyfre 'trzy'."); break; case 4: printf("\n Wczytales cyfre 'cztery'."); break; case 5: printf("\n Wczytales cyfre 'piec'."); break; case 6: printf("\n Wczytales cyfre 'szesc'."); break; case 7: printf("\n Wczytales cyfre 'siedem'."); break; case 8: printf("\n Wczytales cyfre 'osiem'."); break; case 9: printf("\n Wczytales cyfre 'dziewiec'."); break; default: printf("\n Nie wczytales cyfry!"); } getch(); return 0; } _______________________________________________________________________________________________ // Proste zastosowanie instrukcji switch #include <iostream.h> #include <conio.h> main() { unsigned short int ocena; cout<<"\n Wprowadz ocene :\n "; cin>>ocena; switch(ocena) { case 1: cout<<" Pala\n "; break; case 2: cout<<" Bardzo slabo\n "; break; case 3: cout<<" Trojka to dobra ocena\n "; break; case 4: cout<<" Czworka to bardzo dobra ocena\n "; break; case 5: cout<<" Piatka to super ocena\n "; break; case 6: cout<<" Szostka to najfajniejsza ocena\n "; break; default: cout<<" To nie jest ocena\n "; } getch(); } Pętle _______________________________________________________________________________________________ // Pętla for #include <stdio.h> #include <conio.h> main() { int i; printf("\n Cyfry w dziesietnym systemie liczbowym: \n"); for(i=0;i<10;i++) printf(" %d ",i); getch(); return 0; } _______________________________________________________________________________________________ // Znaki ASCII #include <stdio.h> #include <conio.h> main() { int i; for(i=0;i<256;i++) printf("\n Numer %d Znak ASCII %c",i,i); getch(); return 0; } _______________________________________________________________________________________________ // Obliczenie silnii przy pomocy pętli for #include <stdio.h> #include <conio.h> main() { int i,x,silnia=1; printf("\n Wczytaj cyfre: "); scanf("%d",&x); for(i=1;i<=x;i++) silnia=silnia*i; printf("\n %d! = %d",x,silnia); getch(); return 0; } _______________________________________________________________________________________________ // Sumowanie liczb przy wykorzystaniu pętli while #include <stdio.h> #include <conio.h> main() { int x,n; int i=0,suma=0; printf("\n Podaj ilosc liczb: \n n = "); scanf("%d",&n); while(i<n) { printf("\n Podaj liczbe: "); scanf("%d",&x); suma=suma+x; i++; } printf("\n Suma wczytanych liczb wynosi: %d",suma); getch(); return 0; } _______________________________________________________________________________________________ // Wykorzystanie pętli do ... while do wyznaczenia największej i najmniejszej wartości liczbowej spośrod wczytanych liczb #include <stdio.h> #include <conio.h> main() { int liczba,n; int maksimum,minimum; int i=0; printf("\n Podaj ilosc liczb: \n n = "); scanf("%d",&n); do { printf("\n Podaj liczbe: "); scanf("%d",&liczba); if(i==0) { maksimum=liczba; minimum=liczba; } if(liczba>maksimum) maksimum=liczba; if(liczba<minimum) minimum=liczba; i++; } while(i<n); printf("\n Najwieksza wczytana wartosc liczbowa wynosi: %d",maksimum); printf("\n Najmiejsza wczytana wartosc liczbowa wynosi: %d",minimum); getch(); return 0; } _______________________________________________________________________________________________ // Wyznaczanie średniej wartości spośród wczytanych liczb #include <stdio.h> #include <conio.h> main() { float liczba,srednia,suma=0; int i=0,n; printf("\n Podaj ilosc liczb: \n n = "); scanf("%d",&n); if(n>0) { do { printf("\n Podaj liczbe: "); scanf("%f",&liczba); suma=suma+liczba; i++; } while(i<n); srednia=suma/n; printf("\n Srednia wczytana wartosc liczbowa wynosi: %f.",srednia); } else printf("\n Blad, ilosc liczb musi byc wieksza od 0!"); getch(); return 0; } _______________________________________________________________________________________________ // Rozwiązywanie równania kwadratowego #include "stdio.h" #include "conio.h" #include "math.h" main() { char wybor; double a,b,c,delta,x,z; do { clrscr(); printf("\n Rozwiazywanie rownania kwadratowego \n\n"); do { printf(" Podaj a: \n a = "); z=scanf("%lf",&a); fflush(stdin); } while(z==0); do { printf(" Podaj b: \n b = "); z=scanf("%lf",&b); fflush(stdin); } while(z==0); do { printf(" Podaj c: \n c = "); z=scanf("%lf",&c); fflush(stdin); } while(z==0); if(a==0) if(b==0) if(c==0) printf("\n Rownanie samoistne."); else printf("\n Podane wspolczynniki tworza sprzecznosc."); else { x=-c/b; printf("\n Rownanie jest rownaniem liniowym."); printf("\n Jego rozwiazaniem jest \n X = %lf ",x); } else { delta=b*b-4*a*c; if(delta==0) { x=-b/(2*a); printf("\n Rownanie posiada jedno rozwiazanie: \n X0 = %lf",x); } else if(delta > 0) { printf("\n Rownanie posiada dwa rozwiazania:"); x=(-b-sqrt(delta))/(2*a); printf("\n X1 = %lf",x); x=(-b+sqrt(delta))/(2*a); printf("\n X2 = %lf",x); } else { delta=fabs(delta); printf("\n Rownanie posiada dwa pierwiastki zespolone:"); printf("\n X1 = %lf + j%lf",-b/(2*a),sqrt(delta)/(2*a)); printf("\n X2 = %lf - j%lf",-b/(2*a),sqrt(delta)/(2*a)); } } printf("\n\n Czy chcesz kontynuowac?"); printf("\n T - Tak N - Nie \n "); do wybor=getch(); while(wybor!='T'&&wybor!='t'&&wybor!='N'&&wybor!='n'); } while(wybor=='T'||wybor=='t'); return 0; } Tablice _______________________________________________________________________________________________ // Wczytanie i drukowanie tablicy #include <stdio.h> #include <conio.h> main() { int A[10],i,n; printf("\n Podaj ilosc elementow tablicy A:\n n = "); scanf("%d",&n); if(n>0&&n<=10) { printf("\n Wczytaj elementy tablicy A:\n"); for(i=0;i<n;i++) { printf(" A%d = ",i); scanf("%d",&A[i]); } printf("\n Wczytales nastepujace elementy tablicy A:"); for(i=0;i<n;i++) printf("\n A%d = %d",i,A[i]); } else printf("\n Nie wczytales elementow tablicy A!"); getch(); return 0; } _______________________________________________________________________________________________ // Szukanie maksymalnej i minimalnej temperatury #include "stdio.h" #include "conio.h" main() { float temp[100],min,maks; int i,ilosc; printf("\n Podaj ilosc dni: \n n = "); scanf("%d",&ilosc); printf("\n Podaj %d temperatur: \n\n",ilosc); for(i=0;i<ilosc;i++) { printf(" %d TEMPERATURA: \t\t ",i+1); scanf("%f",&temp[i]); } min=temp[0]; maks=temp[0]; for(i=1;i<ilosc;i++) { if(temp[i] < min) min=temp[i]; if(temp[i] > maks) maks=temp[i]; } printf("\n MINIMALNA TEMPERATURA: \t %f",min); printf("\n MAKSYMALNA TEMPERATURA: \t %f",maks); getch(); return 0; } _______________________________________________________________________________________________ // Wyznaczenie ilości zmian znaków w tablicy #include <stdio.h> #include <conio.h> main() { int a[10],i,n; int ilosc_zmian_znakow=0; printf("\n Podaj ilosc elementow tablicy a: \n n = "); scanf("%d",&n); for(i=0;i<n;i++) { printf(" Podaj a[%d] = ",i); scanf("%d",&a[i]); } for(i=1;i<n;i++) if((a[i-1]<0&&a[i]>0) || (a[i-1]>0&&a[i]<0)) ilosc_zmian_znakow++; printf("\n Ilosc zmian znakow: %d",ilosc_zmian_znakow); getch(); return 0; } _______________________________________________________________________________________________ // Odwracanie kolejności elementów tablicy #include <stdio.h> #include <conio.h> main() { int a[10],i,n; int pom; do { printf("\n Podaj ilosc elementow tablicy a: \n n = "); scanf("%d",&n); } while(n<1||n>10); for(i=0;i<n;i++) { printf(" Podaj a[%d] = ",i); scanf("%d",&a[i]); } for(i=0;i<0.5*n;i++) { pom=a[i]; a[i]=a[n-1-i]; a[n-1-i]=pom; } printf("\n Odwrocona tablica a:"); for(i=0;i<n;i++) printf("\n a[%d] = %d",i,a[i]); getch(); return 0; } _______________________________________________________________________________________________ // Sortowanie tablicy rosnąco #include <stdio.h> #include <conio.h> main() { int a[20],i,n; int info,pom; do { printf("\n Podaj ilosc elementow tablicy a: \n n = "); scanf("%d",&n); } while(n<1||n>20); for(i=0;i<n;i++) { printf(" Podaj a[%d] = ",i); scanf("%d",&a[i]); } do { info=0; for(i=1;i<n;i++) { if(a[i-1]>a[i]) { pom=a[i-1]; a[i-1]=a[i]; a[i]=pom; info=1; } } } while(info==1); for(i=0;i<n;i++) printf("\n a[%d = %d",i,a[i]); getch(); return 0; } _______________________________________________________________________________________________ // Wczytanie tablicy przy pomocy wskaźnika #include <stdio.h> #include <conio.h> main() { int i,n; float X[10],*wsk; wsk=X; printf("\n Podaj ilosc elementow:"); scanf("%d",&n); for(i=0;i<n;i++) { printf(" Podaj X[%d] = ",i); scanf("%f",wsk++); } wsk=X; for(i=0;i<n;i++) { printf("\n Element X[%d] = %f",i,*wsk); wsk++; } getch(); return 0; } Funkcje _______________________________________________________________________________________________ // Funkcja oparta na wskaźnikach, zamieniająca ze sobą wartości dwóch zmiennych #include <stdio.h> #include <conio.h> main() { void zamiana(int *,int *); int a,b; printf("\n Wczytaj zmienne:\n"); printf(" a = "); scanf("%d",&a); printf(" b = "); scanf("%d",&b); zamiana(&a,&b); printf("\n Zmienne po zamianie:"); printf("\n a = %d",a); printf("\n b = %d",b); getch(); return 0; } void zamiana(int *x,int *y) { int z; z=*x; *x=*y; *y=z; } _______________________________________________________________________________________________ // Funkcje sumy, różnicy, iloczynu, ilorazu #include <stdio.h> #include <conio.h> main() { int suma(int ,int ); int roznica(int ,int ); int iloczyn(int ,int ); int iloraz(int ,int ); int a,b,s; printf("\n Podaj a: \n a = "); scanf("%d",&a); printf(" Podaj b: \n b = "); scanf("%d",&b); s=suma(a,b); printf("\n Suma: %d + %d = %d",a,b,s); s=roznica(a,b); printf("\n Roznica: %d - %d = %d",a,b,s); s=iloczyn(a,b); printf("\n Iloczyn: %d * %d = %d",a,b,s); s=iloraz(a,b); printf("\n Iloraz: %d : %d = %d",a,b,s); getch(); return 0; } int suma(int x,int y) { int z; z=x+y; return z; } int roznica(int x,int y) { int z; z=x-y; return z; } int iloczyn(int x,int y) { int z; z=x*y; return z; } int iloraz(int x,int y) { int z; z=x/y; return z; } _______________________________________________________________________________________________ // Funkcje wczytujące i drukujące tablicę #include <stdio.h> #include <conio.h> main() { void wczytywanie(int [],int ); void drukowanie(int [],int ); int a[10],b[10],k,m,n; do { printf("\n Podaj ilosc elementow ciagu a:\n m = "); k=scanf("%d",&m); fflush(stdin); } while(k==0||m<1||m>10); printf("\n Wczytaj tablice a:\n"); wczytywanie(a,m); do { printf("\n Podaj ilosc elementow ciagu b:\n n = "); k=scanf("%d",&n); fflush(stdin); } while(k==0||n<1||n>10); printf("\n Wczytaj tablice b:\n"); wczytywanie(b,n); printf("\n\n Tablica a:\n"); drukowanie(a,m); printf("\n\n Tablica b:\n"); drukowanie(b,n); getch(); return 0; } void wczytywanie(int a[],int n) { int i,k; for(i=0;i<n;i++) do { printf("\n element %d = ",i); k=scanf("%d",&a[i]); fflush(stdin); } while(k==0); } void drukowanie(int a[],int n) { int i; for(i=0;i<n;i++) printf("\n element %d = %d",i,a[i]); } _______________________________________________________________________________________________ // Funkcja wyznaczająca cyfry dowolnej liczby całkowitej #include <stdio.h> #include <conio.h> #include <math.h> void wyznaczanie(int liczba) { int cyfra,wielokrotnosc; if(liczba<0) printf("\n minus"); liczba=abs(liczba); for(wielokrotnosc=1;wielokrotnosc*10<liczba;wielokrotnosc*=10); do { cyfra=liczba/wielokrotnosc; switch(cyfra) { case 0: printf(" zero"); break; case 1: printf(" jeden"); break; case 2: printf(" dwa"); break; case 3: printf(" trzy"); break; case 4: printf(" cztery"); break; case 5: printf(" piec"); break; case 6: printf(" szesc"); break; case 7: printf(" siedem"); break; case 8: printf(" osiem"); break; case 9: printf(" dziewiec"); break; } liczba=liczba-cyfra*wielokrotnosc; wielokrotnosc/=10; } while(wielokrotnosc>0); } main() { int liczba; printf("\n Podaj liczbe: \n "); scanf("%d",&liczba); wyznaczanie(liczba); getch(); return 0; } _______________________________________________________________________________________________ // Funkcje wyznaczające element minimalny i maksymalny #include <stdio.h> #include <conio.h> main() { float minimum(float [],int ); float maksimum(float [],int ); float a[50]; int i,n; printf("\n Podaj ilosc elementow ciagu: \n n = "); scanf("%d",&n); printf("\n Wczytaj elementy ciagu: \n"); for(i=0;i<n;i++) { printf(" x[%d] = ",i); scanf("%f",&a[i]); } printf("\n Element minimalny ciagu: %f",minimum(a,n)); printf("\n Element maksymalny ciagu: %f",maksimum(a,n)); getch(); return 0; } float minimum(float a[],int n) { float min; int i; min=a[0]; for(i=1;i<n;i++) if(a[i]<min) min=a[i]; return min; } float maksimum(float a[],int n) { float maks; int i; maks=a[0]; for(i=1;i<n;i++) if(a[i]>maks) maks=a[i]; return maks; } _______________________________________________________________________________________________ // Funkcja wyznaczająca średnią wartość tablicy #include <stdio.h> #include <conio.h> main() { void wczyt(int [],int ); int srednia(int [],int ); int a[10],b[10]; int i,n,d; printf("\n Podaj ilosc elementow tablic a i b. \n n = "); scanf("%d",&n); printf("\n Podaj elementy tablicy a. \n"); wczyt(a,n); printf("\n Podaj elementy tablicy b. \n"); wczyt(b,n); printf("\n Wczytales nastepujace elementy: \n"); for(i=0;i<n;i++) printf("\n a[%d] = %d",i,a[i]); d=srednia(a,n); printf("\n Srednia wartosc a = %d",d); printf("\n"); for(i=0;i<n;i++) printf("\n b[%d] = %d",i,b[i]); d=srednia(b,n); printf("\n Srednia wartosc b = %d",d); getch(); return 0; } void wczyt(int c[],int n) { int i; for(i=0;i<n;i++) { printf("\n element[%d] = ",i); scanf("%d",&c[i]); } } int srednia(int c[],int n) { int i,z=0; for(i=0;i<n;i++) z=z+c[i]; z=z/n; return z; } _______________________________________________________________________________________________ // Funkcja porządkująca malejąco tablicę #include <stdio.h> #include <conio.h> #include <stdlib.h> main() { void sortowanie(int [],int ); int x[10]; int i; randomize(); printf("\n Wylosowana tablica x przed uporzadkowaniem: \n\n"); for(i=0;i<10;i++) { x[i]=random(10); printf(" x[%d]=%d",i,x[i]); } printf("\n\n Wylosowana tablica x po uporzadkowaniu: \n\n"); sortowanie(x,10); for(i=0;i<10;i++) printf(" x[%d]=%d",i,x[i]); getch(); return 0; } void sortowanie(int x[],int n) { int i,k; int pom,info; do { info=0; for(i=1;i<n;i++) if(x[i-1]<x[i]) { pom=x[i-1]; x[i-1]=x[i]; x[i]=pom; info=1; } } while(info==1); } Łańcuchy _______________________________________________________________________________________________ // Wyznaczanie długości łańcucha #include <stdio.h> #include <conio.h> #include <string.h> main() { char slowo[10]; int dlugosc; printf("\n Podaj slowo: "); scanf("%s",slowo); dlugosc=strlen(slowo); printf("\n Dlugosc wczytanego slowa: %d",dlugosc); getch(); return 0; } _______________________________________________________________________________________________ // Drukowanie pierwszych znaków łańcucha #include <stdio.h> #include <conio.h> main() { char slowo[10]; printf("\n Podaj slowo: "); scanf("%s",slowo); printf("\n Pierwsza litera wczytanego slowa: %.1s",slowo); printf("\n Pierwsze dwie litery wczytanego slowa: %.2s",slowo); printf("\n Pierwsze trzy litery wczytanego slowa: %.3s",slowo); getch(); return 0; } _______________________________________________________________________________________________ // Funkcja drukująca pierwsze znaki wczytanego łańcucha #include <stdio.h> #include <conio.h> #include <string.h> void druk(char [],int ); char slowo[10]; int m; main() { printf("\n Podaj slowo: "); scanf("%s",slowo); printf("\n Podaj ilosc pierwszych liter slowa %s do wydrukowania: ",slowo); scanf("%d",&m); printf("\n Pierwsze %d litery slowa %s to: ",m,slowo); druk(slowo,m); getch(); return 0; } void druk(char lancuch[],int n) { int i; for(i=0;i<n;i++) printf("%c",lancuch[i]); } _______________________________________________________________________________________________ // Kopiowanie łańcuchów #include <stdio.h> #include <conio.h> #include <string.h> main() { char slowo1[10],slowo2[10]; int m; printf("\n Podaj pierwsze slowo: "); scanf("%s",slowo1); strcpy(slowo2,slowo1); printf("\n Drugie slowo (kopia pierwszego): %s",slowo2); getch(); return 0; } _______________________________________________________________________________________________ // Łączenie łańcuchów #include <stdio.h> #include <conio.h> #include <string.h> main() { char slowo1[20],slowo2[20]; int m; printf("\n Podaj pierwsze slowo: "); scanf("%s",slowo1); printf("\n Podaj drugie slowo: "); scanf("%s",slowo2); strcat(slowo1,slowo2); printf("\n Pierwze slowo (po polaczeniu z drugim): %s",slowo1); getch(); return 0; } _______________________________________________________________________________________________ // Odwracanie kolejności znaków łańcucha #include <stdio.h> #include <conio.h> #include <string.h> main() { char slowo[10]; int m; printf("\n Podaj pierwsze slowo: "); scanf("%s",slowo); strrev(slowo); printf("\n Pierwze slowo (po odwroceniu kolejnosci liter): %s",slowo); getch(); return 0; } Struktury _______________________________________________________________________________________________ // Struktura instytuty #include <stdio.h> #include <conio.h> #include <string.h> main() { struct instytuty { char nazwa[30]; char adres[50]; long int numer_telefonu; }instytut1,instytut2,instytut3,instytut4; strcpy(instytut1.nazwa,"ekonomiczny"); strcpy(instytut1.adres,"82-300 Elblag, ul. Grunwaldzka 137"); instytut1.numer_telefonu=552398840; strcpy(instytut2.nazwa,"informatyki stosowanej"); strcpy(instytut2.adres,"82-300 Elblag, ul. Wojska Polskiego 1"); instytut2.numer_telefonu=552398810; strcpy(instytut3.nazwa,"pedagogiczno-jezykowy"); strcpy(instytut3.adres,"82-300 Elblag, ul. Czerniakowska 137"); instytut3.numer_telefonu=552398820; strcpy(instytut4.nazwa,"politechniczny"); strcpy(instytut4.adres,"82-300 Elblag, ul. Grunwaldzka 137"); instytut4.numer_telefonu=552398830; printf("\n Instytut %s",instytut1.nazwa); printf("\n adres: %s",instytut1.adres); printf("\n numer telefonu: %d",instytut1.numer_telefonu); printf("\n Instytut %s",instytut2.nazwa); printf("\n adres: %s",instytut2.adres); printf("\n numer telefonu: %d",instytut2.numer_telefonu); printf("\n Instytut %s",instytut3.nazwa); printf("\n adres: %s",instytut3.adres); printf("\n numer telefonu: %d",instytut3.numer_telefonu); printf("\n Instytut %s",instytut4.nazwa); printf("\n numer telefonu: %d",instytut4.numer_telefonu); printf("\n adres: %s",instytut4.adres); getch(); return 0; } _______________________________________________________________________________________________ // Struktury instytuty z ich wczytywaniem #include <stdio.h> #include <conio.h> main() { struct instytuty { char nazwa[30]; long int numer_telefonu; }instytut1,instytut2,instytut3,instytut4; printf(" Podaj nazwe instytutu: "); scanf("%s",instytut1.nazwa); printf(" Podaj numer telefonu instytutu: "); scanf("%ld",&instytut1.numer_telefonu); printf(" Podaj nazwe instytutu: "); scanf("%s",instytut2.nazwa); printf(" Podaj numer telefonu instytutu: "); scanf("%ld",&instytut2.numer_telefonu); printf(" Podaj nazwe instytutu: "); scanf("%s",instytut3.nazwa); printf(" Podaj numer telefonu instytutu: "); scanf("%ld",&instytut3.numer_telefonu); printf(" Podaj nazwe instytutu: "); scanf("%s",instytut4.nazwa); printf(" Podaj numer telefonu instytutu: "); scanf("%ld",&instytut4.numer_telefonu); printf("\n Instytut %s",instytut1.nazwa); printf("\n numer telefonu: %ld",instytut1.numer_telefonu); printf("\n Instytut %s",instytut2.nazwa); printf("\n numer telefonu: %ld",instytut2.numer_telefonu); printf("\n Instytut %s",instytut3.nazwa); printf("\n numer telefonu: %ld",instytut3.numer_telefonu); printf("\n Instytut %s",instytut4.nazwa); printf("\n numer telefonu: %ld",instytut4.numer_telefonu); getch(); return 0; } _______________________________________________________________________________________________ // Struktura zagnieżdżona #include <stdio.h> #include <conio.h> #include <string.h> main() { FILE *fp; int i; struct dane_liczbowe_o_panstwie { double powierzchnia; double ilosc_mieszkancow; }; struct sasiedzi_Polski { char panstwo[30]; char stolica[30]; struct dane_liczbowe_o_panstwie liczby; }panstwo[7]; strcpy(panstwo[0].panstwo,"Bialorus"); strcpy(panstwo[0].stolica,"Minsk"); panstwo[0].liczby.powierzchnia=207.6; panstwo[0].liczby.ilosc_mieszkancow=9.972; strcpy(panstwo[1].panstwo,"Czechy"); strcpy(panstwo[1].stolica,"Praga"); panstwo[1].liczby.powierzchnia=78.9; panstwo[1].liczby.ilosc_mieszkancow=10.3; strcpy(panstwo[2].panstwo,"Litwa"); strcpy(panstwo[2].stolica,"Wilno"); panstwo[2].liczby.powierzchnia=65.2; panstwo[2].liczby.ilosc_mieszkancow=3.7; strcpy(panstwo[3].panstwo,"Niemcy"); strcpy(panstwo[3].stolica,"Berlin"); panstwo[3].liczby.powierzchnia=357.023; panstwo[3].liczby.ilosc_mieszkancow=82.6; strcpy(panstwo[4].panstwo,"Rosja"); strcpy(panstwo[4].stolica,"Moskwa"); panstwo[4].liczby.powierzchnia=17075; panstwo[4].liczby.ilosc_mieszkancow= 146.861; strcpy(panstwo[5].panstwo,"Slowacja"); strcpy(panstwo[5].stolica,"Bratyslawa"); panstwo[5].liczby.powierzchnia=49.5; panstwo[5].liczby.ilosc_mieszkancow=5.2; strcpy(panstwo[6].panstwo,"Ukraina"); strcpy(panstwo[6].stolica,"Kijow"); panstwo[6].liczby.powierzchnia=603.7; panstwo[6].liczby.ilosc_mieszkancow=52.1; for(i=0;i<7;i++) { printf("\n panstwo:\t %s",panstwo[i].panstwo); printf("\n stolica:\t %s",panstwo[i].stolica); printf("\n powierzchnia:\t %lf",panstwo[i].liczby.powierzchnia); printf("\n ludnosc:\t %lf",panstwo[i].liczby.ilosc_mieszkancow); } getch(); return 0; } Pliki _______________________________________________________________________________________________ // Zapis i odczyt liczby z pliku #include <stdio.h> #include <conio.h> main() { FILE *fp; int liczba; fp=fopen("plik.dat","w+b"); printf("\n Wczytaj liczbe: "); scanf("%d",&liczba); fwrite(&liczba,sizeof(int),1,fp); fclose(fp); fp=fopen("plik.dat","r+b"); fread(&liczba,sizeof(int),1,fp); printf("\n Zapisano liczbe: %d",liczba); fclose(fp); getch(); return 0; } _______________________________________________________________________________________________ // Zapis do pliku i odczyt trzech liczb #include <stdio.h> #include <conio.h> main() { FILE *fp; double liczba; fp=fopen("liczby.dat","w+b"); printf(" Wczytaj pierwsza liczbe do zapisania w pliku liczby.dat: "); scanf("%lf",&liczba); fwrite(&liczba,sizeof(double),1,fp); printf(" Wczytaj druga liczbe do zapisania w pliku liczby.dat: "); scanf("%lf",&liczba); fwrite(&liczba,sizeof(double),1,fp); printf(" Wczytaj trzecia liczbe do zapisania w pliku liczby.dat: "); scanf("%lf",&liczba); fwrite(&liczba,sizeof(double),1,fp); fclose(fp); printf("\n Zapisano i odczytano nastepujace liczby z pliku liczby.dat:"); fp=fopen("liczby.dat","r+b"); fread(&liczba,sizeof(double),1,fp); printf("\n %lf",liczba); fread(&liczba,sizeof(double),1,fp); printf("\n %lf",liczba); fread(&liczba,sizeof(double),1,fp); printf("\n %lf",liczba); fclose(fp); getch(); return 0; } _______________________________________________________________________________________________ // Dopisywanie na koniec pliku #include <stdio.h> #include <conio.h> main() { FILE *fp; int liczba,i,ilosc; fp=fopen("plik.dat","a+b"); printf("\n Podaj liczbe do zapisania w pliku: "); scanf("%d",&liczba); fwrite(&liczba,sizeof(int),1,fp); fclose(fp); printf("\n Zapisane dotychczas liczby: "); fp=fopen("plik.dat","r+b"); fseek(fp,0,SEEK_END); ilosc=ftell(fp)/sizeof(int); fseek(fp,0,SEEK_SET); for(i=0;i<ilosc;i++) { fread(&liczba,sizeof(int),1,fp); printf("\n %d",liczba); } fclose(fp); getch(); return 0; } _______________________________________________________________________________________________ // Zapis do pliku struktury #include <stdio.h> #include <conio.h> main() { FILE *fp; int i,ilosc; struct studenci { char imie[20]; char nazwisko[20]; }student; printf("\n Podaj ilosc studentow: "); scanf("%d",&ilosc); fp=fopen("studenci.dat","w+b"); for(i=0;i<ilosc;i++) { fflush(stdin); printf("\n Podaj imie studenta: "); scanf("%s",student.imie); printf("\n Podaj nazwisko studenta: "); fflush(stdin); scanf("%s",student.nazwisko); fwrite(&student,sizeof(struct studenci),1,fp); } fclose(fp); printf("\n Odczytana z pliku lista studentow:\n"); fp=fopen("studenci.dat","r+b"); for(i=0;i<ilosc;i++) { fread(&student,sizeof(struct studenci),1,fp);//odczyt z pliku studenci.dat printf("\n %s %s",student.imie,student.nazwisko); } fclose(fp); getch(); return 0; } _______________________________________________________________________________________________ // Mieszane operacje zapisu i odczytu z pliku #include <stdio.h> #include <conio.h> main() { FILE *wskaznik_pliku; int liczba,i,ilosc; char wybor; wskaznik_pliku=fopen("plik","w+b"); do { clrscr(); printf("\n Wybierz wariant:"); printf("\n 1. Zapisanie wartosci liczbowej do pliku"); printf("\n 2. Odczytanie wartosci liczbowych z pliku"); printf("\n 0. Wyjscie \n "); wybor=getch(); if(wybor=='1') { fseek(wskaznik_pliku,0,SEEK_END); printf("\n Podaj liczbe do zapisu w pliku:"); printf("\n liczba = "); scanf("%d",&liczba); fwrite(&liczba,sizeof(int),1,wskaznik_pliku); } if(wybor=='2') { printf("\n Liczby zapisane w pliku:"); fseek(wskaznik_pliku,0,SEEK_END); ilosc=ftell(wskaznik_pliku)/sizeof(int); fseek(wskaznik_pliku,0,SEEK_SET); for(i=0;i<ilosc;i++) { fread(&liczba,sizeof(int),1,wskaznik_pliku); printf("\n liczba[%d] = %d",i,liczba); } printf("\n\n Wcisnij klawisz..."); getch(); } } while(wybor!='0'); fclose(wskaznik_pliku); return 0; } _______________________________________________________________________________________________ // Zapis do pliku struktury tablicowej #include <iostream.h> #include <conio.h> struct wymiary { int wysokosc; int szerokosc; int dlugosc; }; struct monitory { char marka[25]; char typ[25]; int cena; struct wymiary wymiar; }; main() { FILE *fp; struct monitory monitor[5]; int ilosc,i,s=0; cout<<"\n Podaj ilosc telewizorow do dodania do pliku: "; cin>>ilosc; fp=fopen("monitory.dat","a+b"); for(i=0;i<ilosc;i++) { cout<<" Podaj marke monitora: \t "; cin>>monitor[i].marka; fflush(stdin); cout<<" Podaj typ monitora: \t "; cin>>monitor[i].typ; fflush(stdin); cout<<" Podaj cene: \t "; cin>>monitor[i].cena; fflush(stdin); cout<<" Podaj wysokosc monitora: \t "; cin>>monitor[i].wymiar.wysokosc; fflush(stdin); cout<<" Podaj szerokosc monitora: \t "; cin>>monitor[i].wymiar.szerokosc; fflush(stdin); cout<<" Podaj typ dlugosc: \t "; cin>>monitor[i].wymiar.dlugosc; fflush(stdin); fwrite(&monitor[i],sizeof(struct monitory),1,fp); } ilosc=ftell(fp)/sizeof(struct monitory); fseek(fp,0,SEEK_SET); for(i=0;i<ilosc;i++) { fread(&monitor[0],sizeof(struct monitory),1,fp); cout<<"\n marka: \t "<<monitor[0].marka; cout<<"\n typ: \t\t "<<monitor[0].typ; cout<<"\n cena: \t\t "<<monitor[0].cena; cout<<"\n wysokosc: \t "<<monitor[0].wymiar.wysokosc; cout<<"\n szerokosc: \t "<<monitor[0].wymiar.szerokosc; cout<<"\n dlugosc: \t "<<monitor[0].wymiar.dlugosc; s=s+monitor[0].cena; } cout<<"\n\n Srednia cena monitora: "<<s/ilosc; fclose(fp); getch(); } _______________________________________________________________________________________________ http://mihasz.prv.pl