Strona 1 z 1
[C] Problem z programem w c
: 5 wrz 2011, o 14:08
autor: ania1002
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
float dzieci ( int w, int l, int d){
float y;
y=(-0./10*w)+(15./100*l)+(2./100*d);
return y;
}
int main(void)
{
int n,i;
printf("Podaj liczbe badanych kobiet:
");
scanf("%d",&n);
float w[n], l[n], d[n];
printf("Podaj wysztalcenie w latach dla kazdej kobiety:
");
for(i=0;i<n;i++){
scanf("%f",&w[i]);
}
printf("Podaj wiek kazdej kobiety z przedzialu: 20-40 lat:
");
for(i=0;i<n;i++){
scanf("%f",&l[i]); }
Musze umieścić warunek if za trzecia linijką od końca, który sprawdza czy wczytana kobieta ma lat z przedziału 20-40 lat. Jak to zrobic?
[C] Problem z programem w c
: 5 wrz 2011, o 14:33
autor: sonicwork
Kod: Zaznacz cały
if( "warunek"){
"instrukcje do wypełnienia jeśli warunek spełniony"
}
lub
Kod: Zaznacz cały
if( "warunek"){
"instrukcje do wypełnienia jeśli warunek spełniony"
} else {
"instrukcje do wypełnienia jeśli warunek nie jest spełniony"
}
warunki piszesz 2 jeden określający minimum a drugi maksimum i pomiędzy nimi wstawiasz && co oznacza logiczne "i"
[C] Problem z programem w c
: 5 wrz 2011, o 15:37
autor: ania1002
Kod: Zaznacz cały
printf("Podaj wiek kazdej kobiety z przedzialu: 20-40 lat:
");
for(i=0;i<n;i++){
if(l[i]>=20 && l[i]<=40){
scanf("%f",&l[i]);
}
}
Co tu jeszcze trzeba zmienic?
[C] Problem z programem w c
: 5 wrz 2011, o 18:57
autor: sonicwork
to zależy co ci nie działa... ja nie wiem co ty chcesz robić tym programem
przede wszystkim widzę dziwne przypisanie wartości do adresu zmiennej
to celowe czy mylisz wartość prawostronną z lewostronną?
[C] Problem z programem w c
: 5 wrz 2011, o 21:28
autor: ania1002
Ten program ma za zadanie obliczac wydatki w zaleznosci od ilosci dzieci, lat kobiety i dochodow.
[C] Problem z programem w c
: 5 wrz 2011, o 21:38
autor: sonicwork
no dobra ale wraz nie wiem co ci w nim nie działa
[C] Problem z programem w c
: 5 wrz 2011, o 23:38
autor: kod3r
Pokaż cały kod to się zobaczy co jest nie tak, lub treści błędu jeśli takowe są.
[C] Problem z programem w c
: 6 wrz 2011, o 17:16
autor: zedd5
Nie wiem, czy dobrze, ale się kompiluje.
Nie używaj zmiennych (n) do określania rozmiarów tablic. Przydziel pamięć dynamicznie (malloc, free).
Na początek polecam bardziej DevCpp niż CodeBlocks.
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
float wydatki(int dzieci, int lata, float dochod){
return (-0.1*dzieci + 0.15*lata + 0.02*dochod);
}
int main(void) {
int i,n;
printf("Podaj ilosc badanych kobiet:\n");
scanf("%d",&n);
int *dzieci, *lata;
float *dochod;
dzieci = (int*) malloc (n * sizeof(int)); /* przydzielenie pamieci */
lata = (int*) malloc (n * sizeof(int));
dochod = (float*) malloc (n * sizeof(float));
printf("Podaj ilosc dzieci dla kazdej kobiety:\n");
for(i=0;i<n;i++){
scanf("%d",&dzieci[i]);
}
printf("Podaj wiek kazdej kobiety w przedziale 20-40 lat\n");
for(i=0;i<n;i++){
scanf("%d",&lata[i]);
if (lata[i] < 20 || lata[i] > 40) { /* jezeli kobieta ma mniej niz 20 lub wiecej niz 40 lat */
printf("Podaj wiek kobiety z przedzialu od 20 do 40 lat.\n");
i--; /* obniza 'i', aby wartosc wrowadzic jeszcze raz */
}
}
printf("Podaj dochod kazdej kobiety w tys. zl:\n");
for(i=0;i<n;i++){
scanf("%f",&dochod[i]);
}
printf("\nNr kobiety, ilosc dzieci, wiek, dochody, wydatki:\n\n");
for(i=0;i<n;i++){
printf("Nr%d: Dzieci(%d), Wiek(%d), Dochod(%.2f), Wydatki(%.2f)\n",
i+1, dzieci[i],lata[i], dochod[i], wydatki(dzieci[i],lata[i],dochod[i]));
} /* %.2f oznacza liczbe z ulamkiem, z 2 miejscami po przecinku */
free(dzieci); /* zwolnienie pamieci */
free(lata);
free(dochod);
system("pause");
return 0;
}
[C] Problem z programem w c
: 6 wrz 2011, o 17:23
autor: Althorion
Dev jest już od dłuższego czasu nie rozwijany, tak więc wybór właśnie tego środowiska nie będzie najlepszym, szczególnie jeśli chcemy programować zgodnie z najnowszym standardem C++0x.
[C] Problem z programem w c
: 6 wrz 2011, o 17:47
autor: sonicwork
ten program jest w C...
na ćwiczeniach podczas studiów pod windows-em używa się właśnie dev
a tak przy okazji gdzie są ostatnie posty napisane przeze mnie i ania1002 ? znikły?
zedd5 twój program ma wadę bo nie mnoży wartości dochodu przez 1000 poza tym jest ok
ja z kolei z tymi "&" się pomyliłem, zbyt dawno nie pisałem programu w C