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