# include<stdio.h>
# include<stdlib.h>
# include<string.h>
typedef struct student
{
int rollno;
char name[ 20 ] ;
struct student * snext;
} Student;
typedef struct branch
{
char branchname[ 3 ] ;
int noofstudents;
Student * stdptr;
struct branch * bnext;
} Branch;
typedef struct collage
{
char collname[ 20 ] ;
int cregno;
Branch * branchptr;
struct collage * cnext;
} Collage;
typedef struct university
{
char uname[ 20 ] ;
Collage * collptr;
} University;
University * Initialize( University * u)
{
if ( u ! = NULL )
{
strcpy ( u- > uname, "BPUT" ) ;
}
return u;
}
University * insertcollage( University * u)
{
int rno, collexist = 0 ;
if ( u == NULL )
{
printf ( "\n University doesnot exist" ) ;
return NULL ;
}
if ( u- > collptr == NULL )
{
u- > collptr = ( Collage * ) malloc ( sizeof ( Collage) ) ;
}
printf ( "\n \n Enter the collage registration id" ) ;
scanf ( "%d" , & rno) ;
if ( collexist)
{
printf ( "\n \n Already a collage exist with this registration id" ) ;
return NULL ;
}
else
{
Collage * c= ( Collage * ) malloc ( sizeof ( Collage) ) ;
c- > cregno = rno;
printf ( "\n \n Enter the collage name" ) ;
scanf ( "%s" , & c- > collname) ;
c- > cnext = u- > collptr;
u- > collptr = c;
return u;
}
}
void viewdetails( University * u)
{
if ( u == NULL )
{
printf ( "\n \n University doesnot exist\n " ) ;
exit ( 0 ) ;
}
printf ( "\n \n University Name : %s" , u- > uname) ;
printf ( "\n --------------------\n " ) ;
printf ( "\n Collage List" ) ;
printf ( "\n --------------------\n " ) ;
printf ( "Reg. No\t \t Coll Name" ) ;
printf ( "\n -------------------------\n " ) ;
while ( u- > collptr)
{
printf ( "\n " ) ;
printf ( "%d\t \t %s" , u- > collptr- > cregno, u- > collptr- > collname) ;
u- > collptr = u- > collptr- > cnext;
}
}
int main( )
{
int ch, x;
University * u = ( University * ) malloc ( sizeof ( University) ) ;
u = Initialize( u) ;
do
{
printf ( "\n \n Enter your choice\n \n " ) ;
printf ( "\n 1. Insert" ) ;
printf ( "\n 2. Delete" ) ;
printf ( "\n 3. Modify" ) ;
printf ( "\n 4. View Details" ) ;
printf ( "\n 5. Exit" ) ;
scanf ( "%d" , & ch) ;
switch ( ch)
{
case 1 :
printf ( "\n \n What do you want to Insert? Enter your choice.\n " ) ;
printf ( "\n 1. Collage" ) ;
printf ( "\n 2. Branch" ) ;
printf ( "\n 3. Students" ) ;
scanf ( "%d" , & x) ;
if ( x == 1 )
{
u = insertcollage( u) ;
}
else if ( x == 2 )
{
}
else if ( x == 3 )
{
}
break ;
case 2 :
break ;
case 3 :
break ;
case 4 :
viewdetails( u) ;
break ;
case 5 :
exit ( 0 ) ;
}
}
while ( ch ! = 5 ) ;
return 0 ;
}
IyBpbmNsdWRlPHN0ZGlvLmg+CiMgaW5jbHVkZTxzdGRsaWIuaD4KIyBpbmNsdWRlPHN0cmluZy5oPgoKdHlwZWRlZiBzdHJ1Y3Qgc3R1ZGVudAp7CglpbnQgcm9sbG5vOwoJY2hhciBuYW1lWzIwXTsKCXN0cnVjdCBzdHVkZW50ICpzbmV4dDsKfVN0dWRlbnQ7Cgp0eXBlZGVmIHN0cnVjdCBicmFuY2gKewkKCWNoYXIgYnJhbmNobmFtZVszXTsKCWludCBub29mc3R1ZGVudHM7CglTdHVkZW50ICpzdGRwdHI7CglzdHJ1Y3QgYnJhbmNoICpibmV4dDsKfUJyYW5jaDsKCnR5cGVkZWYgc3RydWN0IGNvbGxhZ2UKewkKCWNoYXIgY29sbG5hbWVbMjBdOwoJaW50IGNyZWdubzsKCUJyYW5jaCAqYnJhbmNocHRyOwoJc3RydWN0IGNvbGxhZ2UgKmNuZXh0Owp9Q29sbGFnZTsKCnR5cGVkZWYgc3RydWN0IHVuaXZlcnNpdHkKewkKCWNoYXIgdW5hbWVbMjBdOwoJQ29sbGFnZSAqY29sbHB0cjsKfVVuaXZlcnNpdHk7CgpVbml2ZXJzaXR5ICpJbml0aWFsaXplKFVuaXZlcnNpdHkgKnUpCnsKCWlmKHUgIT0gTlVMTCkKCXsKCQlzdHJjcHkodS0+dW5hbWUsICJCUFVUIik7CQoJfQoJcmV0dXJuIHU7Cn0KClVuaXZlcnNpdHkgKmluc2VydGNvbGxhZ2UoVW5pdmVyc2l0eSAqdSkKewoJaW50IHJubywgY29sbGV4aXN0ID0gMDsJCglpZih1ID09IE5VTEwpCgl7CgkJcHJpbnRmKCJcblVuaXZlcnNpdHkgZG9lc25vdCBleGlzdCIpOwoJCXJldHVybiBOVUxMOwoJfQoKCWlmKHUtPmNvbGxwdHIgPT0gTlVMTCkKCXsKCQl1LT5jb2xscHRyID0gKENvbGxhZ2UgKiltYWxsb2Moc2l6ZW9mKENvbGxhZ2UpKTsKCX0KCXByaW50ZigiXG5cbkVudGVyIHRoZSBjb2xsYWdlIHJlZ2lzdHJhdGlvbiBpZCIpOwoJc2NhbmYoIiVkIiwgJnJubyk7CgoJCglpZihjb2xsZXhpc3QpCgl7CgkJcHJpbnRmKCJcblxuQWxyZWFkeSBhIGNvbGxhZ2UgZXhpc3Qgd2l0aCB0aGlzIHJlZ2lzdHJhdGlvbiBpZCIpOwoJCXJldHVybiBOVUxMOwoJfQoJZWxzZQoJewkJCgkJQ29sbGFnZSAqYz0oQ29sbGFnZSAqKW1hbGxvYyhzaXplb2YoQ29sbGFnZSkpOwoJCWMtPmNyZWdubyA9IHJubzsKCQlwcmludGYoIlxuXG5FbnRlciB0aGUgY29sbGFnZSBuYW1lIik7CgkJc2NhbmYoIiVzIiwgJmMtPmNvbGxuYW1lKTsKCQljLT5jbmV4dCA9IHUtPmNvbGxwdHI7CgkJdS0+Y29sbHB0ciA9IGM7CgoJCXJldHVybiB1OwoJfQkKfQoKdm9pZCB2aWV3ZGV0YWlscyhVbml2ZXJzaXR5ICp1KQp7CglpZih1ID09IE5VTEwpCgl7CgkJcHJpbnRmKCJcblxuVW5pdmVyc2l0eSBkb2Vzbm90IGV4aXN0XG4iKTsKCQlleGl0KDApOwoJfQoJCglwcmludGYoIlxuXG5Vbml2ZXJzaXR5IE5hbWUgOiAlcyIsIHUtPnVuYW1lKTsKCglwcmludGYoIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwoJcHJpbnRmKCJcbkNvbGxhZ2UgTGlzdCIpOwoJcHJpbnRmKCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKCXByaW50ZigiUmVnLiBOb1x0XHRDb2xsIE5hbWUiKTsKCXByaW50ZigiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKCgl3aGlsZSh1LT5jb2xscHRyKQoJewkKCQlwcmludGYoIlxuIik7CgkJcHJpbnRmKCIlZFx0XHQlcyIsIHUtPmNvbGxwdHItPmNyZWdubywgdS0+Y29sbHB0ci0+Y29sbG5hbWUpOwoJCXUtPmNvbGxwdHIgPSB1LT5jb2xscHRyLT5jbmV4dDsKCX0KfQoKaW50IG1haW4oKQp7CglpbnQgY2gsIHg7CglVbml2ZXJzaXR5ICp1ID0gKFVuaXZlcnNpdHkgKiltYWxsb2Moc2l6ZW9mKFVuaXZlcnNpdHkpKTsKCXUgPSBJbml0aWFsaXplKHUpOwoJCglkbwoJewoJCXByaW50ZigiXG5cbkVudGVyIHlvdXIgY2hvaWNlXG5cbiIpOwoJCXByaW50ZigiXG4xLiBJbnNlcnQiKTsKCQlwcmludGYoIlxuMi4gRGVsZXRlIik7CgkJcHJpbnRmKCJcbjMuIE1vZGlmeSIpOwoJCXByaW50ZigiXG40LiBWaWV3IERldGFpbHMiKTsKCQlwcmludGYoIlxuNS4gRXhpdCIpOwoJCXNjYW5mKCIlZCIsICZjaCk7CgoJCXN3aXRjaChjaCkKCQl7CgkJCWNhc2UgMToKCQkJCgkJCXByaW50ZigiXG5cbldoYXQgZG8geW91IHdhbnQgdG8gSW5zZXJ0PyBFbnRlciB5b3VyIGNob2ljZS5cbiIpOwoJCQlwcmludGYoIlxuMS4gQ29sbGFnZSIpOwoJCQlwcmludGYoIlxuMi4gQnJhbmNoIik7CgkJCXByaW50ZigiXG4zLiBTdHVkZW50cyIpOwoJCQlzY2FuZigiJWQiLCAmeCk7CgkJCQoJCQlpZih4ID09IDEpCgkJCXsKCQkJCXUgPSBpbnNlcnRjb2xsYWdlKHUpOwoJCQl9CgkJCWVsc2UgaWYoeCA9PSAyKQoJCQl7CgkJCQoJCQl9CgkJCWVsc2UgaWYoeCA9PSAzKQoJCQl7CgkJCQoJCQl9CgoJCQlicmVhazsKCQkJCgkJCWNhc2UgMjoKCQkJCWJyZWFrOwoKCQkJY2FzZSAzOgoJCQkJYnJlYWs7CgoJCQljYXNlIDQ6CgkJCQl2aWV3ZGV0YWlscyh1KTsKCQkJCWJyZWFrOwoKCQkJY2FzZSA1OgoJCQkJZXhpdCgwKTsKCQl9Cgl9Cgl3aGlsZSAoY2ggIT0gNSk7CglyZXR1cm4gMDsJCn0=