wiec proszę was o pomoc (jak można to niech ktoś dopisze resztę)
oto treść zadania:
napisać program który w tablicy struktur będzie przechowywał informacje o akademikach. dla każdego akademika ma być
przechowywane:
1. adres akademika
2. numer akademika
3. liczba miejsc w akademiku
4. aktualna liczba mieszkańców
program ma zapewniać:
a) wpisywanie kolejnych informacji do tablicy w taki sposób by były one uporządkowane według numeru akademika
b) wydruk zawartości tablicy
a to co ja do tej pory zrobiłem:
Kod: Zaznacz cały
# include <stdio.h>
# include <string.h>
int main ()
{
struct baza
{
char adres_akademika[100];
char numer_akademika[100];
char liczba_miejsc[100];
char liczba_mieszkancow[100];
};
int i, ile;
struct baza akademik[100];
printf ("Podaj liczbe akademikow: ");
scanf ("%d",&ile);
for ( i=0; i<=ile; i++)
{
printf ("Podaj adres akademika: ");
scanf ("%s", &akademik[i].adres_akademika);
printf ("Podaj numer akademika: ");
scanf ("%d", &akademik[i].numer_akademika);
printf ("Podaj liczbe miejsc w akademiku: ");
scanf ("%d", &akademik[i].liczba_miejsc);
printf ("Podaj liczbe mieszkancow: ");
scanf ("%d", &akademik[i].liczba_mieszkancow);
}
system("PAUSE");
return 0;
}
po zmianie kilku rzeczy program wygłąda tak:
Kod: Zaznacz cały
#include <stdio.h>
struct baza
{
char adres_akademika[100];
int numer_akademika;
int liczba_miejsc;
float liczba_mieszkancow;
};
int main()
{
int i,ile;
struct baza akademik[100];
printf ("Podaj liczbe akademikow: ");
scanf ("%d", &ile);
for (i=0; i<ile; i++)
{
printf ("Podaj adres akademika: ");
scanf(" %[-' A-Za-z]s",&akademik[i].adres_akademika);
printf (" Podaj numer akademika: ");
scanf ("%d", &akademik[i].numer_akademika);
printf (" Podaj liczbe miejsc: ");
scanf ("%d", &akademik[i].liczba_miejsc);
printf (" Podaj liczbe mieszkancow: ");
scanf ("%f", &akademik[i].liczba_mieszkancow);
}
for (i=0; i<ile; i++)
{
if(akademik[i].numer_akademika>=1&&akademik[i].numer_akademika<=100)
{
printf("Adres akademika: %s \n",akademik[i].adres_akademika);
printf("Numer akademika: %d\n", akademik[i].numer_akademika);
printf("liczba miejsc: %d\n", akademik[i].liczba_miejsc);
printf("liczba mieszkancow: %.1f\n\n\n", akademik[i].liczba_mieszkancow);
}
}
system("PAUSE");
return 0;
}
mógłby ktoś napisać gdzie mam błąd i jak go poprawic