+ 7
Hi.please help me understand structures in c programming. Someone can At least write a code for me with 3 columns...
9 Answers
+ 6
thank you
+ 5
thanks a lot
I have understoodđ
+ 5
what is the difference between
int main
And
void main??
+ 3
the structure has the following format
struct type_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;
but in my example code, I'm not going to use the object_names...
+ 3
#include <iostream>
#include <cstring>
using namespace std;
struct Students
{
char first_name[20];
char last_name[20];
int student_id;
};
int main()
{
//Create Students variables
struct Students stdnt1;
struct Students stdnt2;
//Enter data into the variables
strcpy(stdnt1.first_name, "Elizabeth");
strcpy(stdnt1.last_name, "Muli");
stdnt1.student_id = 3486277;
strcpy(stdnt2.first_name, "Ben");
strcpy(stdnt2.last_name, "Thu");
stdnt2.student_id = 3550297;
/* You can also fill in the data like:
stdnt1. first_name = "Elizabeth";
it depends on your preference */
//Print the data
cout << "Student 1 first name: " << stdnt1.first_name << "\nStudent 1 last name: " << stdnt1.last_name << "\nStudent 1 ID: " << stdnt1.student_id << endl;
cout << "Student 2 first name: " << stdnt2.first_name << "\nStudent 2 last name: " << stdnt2.last_name << "\nStudent 2 ID: " << stdnt2.student_id << endl;
return 0;
}
+ 2
You can also call a function to avoid repetition in the print data section:
void printStruct(struct Students obj)
{
cout << "Student first name: " << obj.first_name << "\nStudent last name: " << obj.last_name << "\nStudent ID: " << obj.student_id << endl;
}
You can also use pointers:
struct Students *obj = &stdnt1;
then call the variables as usual:
obj->first_name = "Elizabeth";
like for example, in the function above:
void printStruct(struct Students *obj)
{
cout << "Student first name: " << obj->first_name << "\nStudent last name: " << obj->last_name << "\nStudent ID: " << obj->student_id << endl;
}
then to call it:
printStruct (&stdnt1);
you can also avoid writing struct in each declaration of a Students variable by defining the struct with the keyword: typedef
e.g.
typedef struct {
char first_name[20];
char last_name[20];
int student_id;
}Students;
now to create Books variables:
Students stdnt1, stdnt2;
Now referring to the object_name that I told you about in the beginning, the "Students" I've written in the typedef example above is an object name, you can specify as many as you want....e.g.
typedef struct {
char first_name[20];
char last_name[20];
int person_id;
} Students, Teachers;
then to declare variables:
Students stdnt1, stdnt2;
Teachers teach1, teach2;
this may not be very clear but if you practice on these and look at books about structures you'll surely learn more, hope this helps
+ 1
so seems sololearn can't allow me to write a long text so I'm going to divide my answer
+ 1
int and void is the return type of the main function...so when we write a c++ program we usually return 0 at the end of the main function and since 0 is an integer, the return type of main becomes int
+ 1
oh, sorry i forgot...in c/c++, the runtime expects an int value to be returned when the program terminates i.e. 0 for successfully termination and a non-zero no. for an error, this may not be the case with other programming languages like java and python but it's an expectation from c/c++ programs...moral of the story, let main only return an int...trying to return any other value or void would not be a good idea for a good c/c++ program, considering the fact that the string is encoded and the IEEE 754 format adopted for floats are not simple hence if there is an easier route to accomplish a task, then their would be no good reason to go the other way