Witam, mam napisać program który składa się z funkcji operujących na danych strukturach. Dodawanie, usuwanie, sortowanie ale mam problem ze zrozumieniem jak mogę przekazać juz uzupełnioną strukturę z funkcji do funkcji. Ktoś pomoże ?
#include <stdio.h>
typedef struct { char imie[30];
char nazwisko[50];
short wiek;
char PESEL[11];
char email[50];
} tperson;
int main()
{
system("cls");
int chose_menu=0;
int count=0;
int tab[100];
tperson data_person[100];
printf("Menu\n\n");
printf("Liczba elementow w tablicy: %i \n\n",count);
printf("1.Dodaj.\n");
printf("2.Usun dany element.\n");
printf("0.Zakoncz program.\n");
printf("Wybierz:\n");
scanf("%i",&chose_menu);
switch(chose_menu)
{
case 1:
{
add_person();
break;
}
case 2:
{
delete_person();
break;
}
case 0:
{
system("cls");
printf("Koniec :)");
return 0;
break;
}
}
return 0;
}
void delete_person()
{
int del;
printf("Ktory element chcesz usunac ?\n");
scanf("%i",&del);
}
void add_person (tperson data_person[100]){
int tab_size=0;
do{
printf("Ile elementow chcesz dodac(max 100) ?\n");
scanf("%i",&tab_size);
if(tab_size>100)
{
system("cls");
printf("Podaj liczbe z zakresu!!!\n");
system("PAUSE");
system("cls");
}
}while(tab_size>100);
for (int i=0;i<tab_size;i++)
{
printf("Nr.%i\nPodaj imie:\n",i+1);
scanf("%s",&data_person[i].imie);
printf("Nr.%i\nPodaj nazwisko:\n",i+1);
scanf("%s",&data_person[i].nazwisko);
printf("Nr.%i\nPodaj wiek:\n",i+1);
scanf("%i",&data_person[i].wiek);
printf("Nr.%i\nPodaj pesel:\n",i+1);
scanf("%s",&data_person[i].PESEL);
printf("Nr.%i\nPodaj email:\n",i+1);
scanf("%s",&data_person[i].email);
}
/*
for (int i=0;i<tab_size;i++)
{
printf("%s\n",data_person[i].imie);
printf("%s\n",data_person[i].nazwisko);
printf("%i\n",data_person[i].wiek);
printf("%s\n",data_person[i].PESEL);
printf("%s\n",data_person[i].email);
printf("\n");
}
*/
main();
}
Napisałem też drugi program z mniejsza ilością elementów ale także mi nie wychodzi... Pomocy.
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int wiek;
} osoba;
int main()
{
int chose;
printf("1.Dodaj wiek dla 3 osoob.\n");
scanf("%i\n",&chose);
switch(chose)
{
case 1:
{
void dodaj_wiek(osoba);
break;
}
}
return 0;
}
void dodaj_wiek(osoba& ja)
{
for (int i=0;i<3;i++)
{
printf("%i.Wiek:\n",i);
scanf("%i",&ja.wiek);
}
system("PAUSE");
}