prosty program w C

amator
Użytkownik
Użytkownik
Posty: 144
Rejestracja: 6 wrz 2005, o 12:44
Płeć: Kobieta
Lokalizacja: woj.podkarpackie
Podziękował: 18 razy
Pomógł: 3 razy

prosty program w C

Post autor: amator »

witajcie ! Jestem zupełnym nowicjuszem i nie mam jeszcze pojęcia o programowaniu, szukam dopiero na internecie jakiś stron z kursem C. Mam kilka zadań tutaj i nie wiem za bardzo o co w nich chodzi. Powiedzcie proszę jak je zrobic ? Przyda mi się też komentarz, z góry dziękuję i mam nadzieję że ktoś mi odpisze !..
Wiem na razie że program ma się zaczynać od
#include
int main ()
{
//coś tam...//
return (0)
}

Wiem jak napisać program który wypisuje jakieś zdanie na ekranie ( a więc zadanie 1.). Ale nie wiem co zrobić z resztą. Dla was jest to na pewno bardzo proste ale ja nie wiem jak się do tego zabrać ... myślę że nauczę się tego jeśli zobaczę w jaki sposób się to robi. Proszę o odpowiedź

1. Napisac program, który wypisuje komunikat „Witaj!” na ekranie.
2. Napisac program, który wypisuje uprzednio zdefiniowane (cpp) stałe: ALA typu char, OLA
typu int, AS typu long, FOO typu float i BAR typu double.
3. Napisac program który dla zdefiniowanej stałej całkowitej (Z zakresu 32..127) drukuje odpowiadajacy
mu znak w kodzie ASCII.
4. Zdefiniowac stała, która słuzy do przeliczania kata z radianów na stopnie.
5. Napisac program, który wypisuje wartosc stałej zdefiniowana w pliku nagłówkowym math.h.
6. Napisac program, który wczytuje wartosc liczby rzeczywistej, a nastepnie drukuje ta wartosc.
7. Napisac program, który wczytuje liczbe całkowita w układzie dziesietnym a nastepnie drukuje
ta liczbe w postaci ósemkowej.
8. Napisac program, który wczytuje trzy liczby: całkowita a, całkowita (long) b oraz rzeczywista
podwójnej precyzji x.
9. Napisac program który drukuje nazwe pliku zródłowego, numer linii i wartosc zmiennej x w
chwili wykonania. Do wypisania nazwy pliku i numeru linii uzyc cpp ( FILE , LINE )
10. Zmienic nazwe funkcji printf na WYPISZ
11. Zdefiniowac (cpp) makrodefinicje FUNC która rozwija x −! (x + 2) · x. Pokazac, ze działa
prawidłowo.


pozdrawiam
mam nadzieję że ktoś z was mi pomoże - będę niezmiernie wdzieczna..
mat1989
Użytkownik
Użytkownik
Posty: 3393
Rejestracja: 29 sty 2006, o 14:15
Płeć: Mężczyzna
Podziękował: 466 razy
Pomógł: 197 razy

prosty program w C

Post autor: mat1989 »

1. Napisac program, który wypisuje komunikat „Witaj!” na ekranie.

Kod: Zaznacz cały

#include <stdio.h>
void main()
{
puts("Witaj!");
}


[ Dodano: Pią Mar 10, 2006 5:29 pm ]
3. Napisac program który dla zdefiniowanej stałej całkowitej (Z zakresu 32..127) drukuje odpowiadajacy
mu znak w kodzie ASCII.

Kod: Zaznacz cały

#include <stdio.h>
#include <conio.h>
char znak='a';
void main()
{
  puts("Naciskaj klawisze (q=wyjscie)");
  while (znak!='q') 
  {
    znak=getch();
    printf("Znak %c to liczba %d\n",znak,znak);
  }
}
program pobiera znak ktory został naciśnięty na klawiaturze do zmiennej znak-typu char. potem wyświetla jego kod asci.
amator
Użytkownik
Użytkownik
Posty: 144
Rejestracja: 6 wrz 2005, o 12:44
Płeć: Kobieta
Lokalizacja: woj.podkarpackie
Podziękował: 18 razy
Pomógł: 3 razy

prosty program w C

Post autor: amator »

dlaczego dajesz puts a nie printf ? My pisaliśmy print f, a wiesz jak inne przykłady zrobic?
mat1989
Użytkownik
Użytkownik
Posty: 3393
Rejestracja: 29 sty 2006, o 14:15
Płeć: Mężczyzna
Podziękował: 466 razy
Pomógł: 197 razy

prosty program w C

Post autor: mat1989 »

10. Zmienic nazwe funkcji printf na WYPISZ

Kod: Zaznacz cały

#include <stdio.h>
#include <conio.h>
void pisz(char napis[])
{
printf(napis);
}

void main()
{
pisz("Witaj");
getch();
}
tak to chyba można zrobić, ale nie jestem pewien.

a pozatym printf to prawie to samo co puts tylko puts przechodzi do nowej lini tak??
nie wiem czy dobrze pamiętam, ale to na pewno pokrewne funkcje.
amator
Użytkownik
Użytkownik
Posty: 144
Rejestracja: 6 wrz 2005, o 12:44
Płeć: Kobieta
Lokalizacja: woj.podkarpackie
Podziękował: 18 razy
Pomógł: 3 razy

prosty program w C

Post autor: amator »

aha, dziękuję.
czy możesz podać mi jakieś wskazówki do makrofunkcji? TO jest w zadaniu 11.
(dzięki)
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

prosty program w C

Post autor: Undre »

puts versus printf

deklaracje :

int puts ( const char * str);
int printf (const char * łańcuch_sterujący, type ewentualne_zmienne)

Puts wypisuje string na ekranie dodając na końcu znak nowego wiersza ( jak wspomniano ). Nie może wypisywać liczb ani wykonywać przekształceń formatujących tak jak printf, dlatego w wyniku wywoływania znacznie mniej operacji dodatkowych działa szybciej od printf. Obie funkcje korzystają z tych samych sekwencji specjalnych ( '\t' itp ). To chyba tyle.

[ Dodano: Czw Mar 16, 2006 10:44 am ]
Ad 2. - możesz ponownie skorzystać z printf, przy czym do każdego typu skorzystasz z odpowiedniego specyfikatoru formatu funkcji np %c dla char czy %x dla szesnastkowych ( tu jest lista )

Ad 6. Deklarujesz coś typu float / double, następnie scanf / printf chyba że używasz c++ czyli cin / cout, pokombinuj, nie ma sensu żebym pisał ci kod

Ad 7. skorzystasz z %o i będzie dobrze

Ad 8. po raz kolejny program prosty, musisz użyć typu double i wypisać z odpowiednim specyfikatorem. Jeżeli chodzi o zmiennoprzecinkowe, to poszukaj w necie jak samemu ustawia się liczbę miejsc po przecinku itp itd Przykładowo sprawdz sobie jak zadziała %3.2f.

na razie tyle bo musze spadać na zajęcia, jak gdzieś utkniesz to pisz ... pozdro
mat1989
Użytkownik
Użytkownik
Posty: 3393
Rejestracja: 29 sty 2006, o 14:15
Płeć: Mężczyzna
Podziękował: 466 razy
Pomógł: 197 razy

prosty program w C

Post autor: mat1989 »

11. Zdefiniowac (cpp) makrodefinicje FUNC która rozwija x −! (x + 2) · x. Pokazac, ze działa prawidłowo.

Kod: Zaznacz cały

#include <stdio.h>
#define FUNC(x) x- !(x+2) * x

int main(){

int X = FUNC(9);
printf("X = %d",X);
return 0;
}
arigo
Użytkownik
Użytkownik
Posty: 852
Rejestracja: 23 paź 2004, o 10:17
Płeć: Mężczyzna
Lokalizacja: Lublin
Pomógł: 28 razy

prosty program w C

Post autor: arigo »

witam
mat1989 pisze:10. Zmienic nazwe funkcji printf na WYPISZ

Kod: Zaznacz cały

#include <stdio.h>
#include <conio.h>
void pisz(char napis[])
{
printf(napis);
}

void main()
{
pisz("Witaj");
getch();
}
tak to chyba można zrobić, ale nie jestem pewien.
niestety zle. ponizej przedstawiam wersje prawidlowa
pisz - wersja mat1989
pisz2 - wersja moja

Kod: Zaznacz cały

arigo@packard ~/kminy_kumple/matma $ cat printf.c
#include <stdio.h>
#include <stdlib.h>

void pisz(char napis[])
{
printf(napis);
}


int main(void)
{
int (*pisz2)(const char *format, ...);
pisz2=&printf;

int i=3;
printf("
---------printf-------------
");
printf("costam %d %p
",i,&i);
printf("
---------pisz-------------
");
pisz("costam %d %p
,i,&i");
printf("
---------pisz2-------------
");
pisz2("costam %d %p
",i,&i);
return 0;
} 
arigo@packard ~/kminy_kumple/matma $ gcc printf.c -o printf
arigo@packard ~/kminy_kumple/matma $ ./printf 

---------printf-------------
costam 3 0xbf955660

---------pisz-------------
costam -1080732076 0xbf955668
,i,&i
---------pisz2-------------
costam 3 0xbf955660
next
mat1989 pisze:11. Zdefiniowac (cpp) makrodefinicje FUNC która rozwija x −! (x + 2) · x. Pokazac, ze działa prawidłowo.

Kod: Zaznacz cały

#include <stdio.h>
#define FUNC(x) x- !(x+2) * x

int main(){

int X = FUNC(9);
printf("X = %d",X);
return 0;
}
niestety rowniez zle
powinno byc

Kod: Zaznacz cały

#define FUNC(x) ((x)-!((x)+2)*(x))
pozadrawiam
mat1989
Użytkownik
Użytkownik
Posty: 3393
Rejestracja: 29 sty 2006, o 14:15
Płeć: Mężczyzna
Podziękował: 466 razy
Pomógł: 197 razy

prosty program w C

Post autor: mat1989 »

dzięki za poprawnienie. nie mialem kompilatora na kompie...
Awatar użytkownika
bisz
Użytkownik
Użytkownik
Posty: 572
Rejestracja: 13 paź 2004, o 18:29
Płeć: Mężczyzna
Lokalizacja: Szczecin
Podziękował: 4 razy
Pomógł: 27 razy

prosty program w C

Post autor: bisz »

Do nauki c/c++ polecam bardzo pozycje symfonia c++, najlepiej jak sie da wzsystko wytlumaczone . 3 tomy mozna kupic lub nielegalnie sciagnac pdf mial jakies 80 mb rtfów nie polecam gdyz maja mase literowek.
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

prosty program w C

Post autor: Undre »

Legalnie za to można ściągnąć Thinking in C++ ze strony samego Bruce'a Eckella, tyle że jest to po angielsku
ODPOWIEDZ