Προς το περιεχόμενο

struck ως τιμη επιστροφης μεθοδουυ


I@n15

Προτεινόμενες αναρτήσεις

Δημοσ.

γεια και χαρα φιλοι.Λοιπον απ οτι παρατηρω οσο προχωραμε αυξανονται και τα προβληματα ε?αλλα δεν πειραζει γιατι αυξανονται και οι λυσεις!!

 

Λοιπον σ αυτο το προγραμμα απλα δινω καποιες τιμες απο την main τις διοχετευω σε μια συναρτηση και τις αντιγραφω σε μια αλλη δομη με το ονομα p1.Μεχρι εδω το προγραμμα τρεχει μια χαρα αλλα θελω να εμφανισω τα αποτελεσματα στην main αλλα αν γινεται ακομα χωρις την χρηση pointers γιατι ειμαι ακομα λιγο φρεσκος στα struct και ακομα δεν εχω φτασει να δουλευω struct me pointers ουτε να χρησιμοποιω την malloc σε struct.

Καμια ιδεα?

 

 

#include <stdio.h>

 

#define SIZE 3

 

struct person{

 

char fname[20];

int age;

};

 

 

 

struct person createPerson(char fname[20],int age)

{

struct person p1;

 

strcpy(p1.fname,fname);

p1.age = age;

 

return p1; //Thelo na tiposo to p1 stin main

}

 

 

 

int main()

{

int i = 0;

 

struct person people;

 

for(; i <= SIZE-1; i++)

{

printf("enter your name:\n");

scanf("%s",people.fname);

 

printf("enter your age:\n");

scanf("%i",&people.age);

}

 

 

createPerson(people.fname,people.age);

 

 

}

Δημοσ.

Άμα καταλαβαίνεις τι κάνεις, φτιάχνεις μια δομή, δίνεις τιμές στα μέλη της τρείς φορές, περνάς τα τελευταία σε μια δεύτερη δομή σε μια συνάρτηση και την επιστρέφεις χωρίς να κάνεις κάτι με αυτή.

 

Για να τελιώσει αυτός ο κύκλος όπως έωχ καταλάβει ότι θες θα πρέπει να κάνεις κάτι του στυλ:

 

>
p2 = createPerson(people.fname,people.age);
printf("%s",p2->name);
printf("%d",p2.age);

 

Τέλος πάντων πονάει το εφάλι μου οπότε μπορεί να μην είναι 100%. τέσπα

Δημοσ.

???

Τρεχει?

Κειτα ασχολουμε με c# αλλα απ'οτι θημαμε ο struct στι c++ παει καπος ετσι

>
struct Vector3D
{
    double x;
    double y;
    double z;
    Vector3D(double x,double y,double z)
     {
           this->x=x;
           this->y=y;
           this->z=z;
       }
};

και κατι αλλο αφου εχεις loop κανε ενα πινακα person[nuberOfLoops]

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...