Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #include<stdlib.h>
- #include<string.h>
- #define FFLUSH while(getchar() !='\n')
- typedef struct student_info{
- char id[10];
- char name[10];
- int year;
- char sex[10];
- struct student_info* link;
- }INFO;
- INFO* first;
- INFO* current;
- void createInfo(INFO* data){
- printf("Add Student-Info\n");
- printf("%-10s: ","Input ID");
- gets(data->id);
- printf("%-10s: ","Input Name");
- gets(data->name);
- printf("%-10s: ","Input Year");
- scanf("%d",&data->year);
- FFLUSH;
- printf("%-10s: ","Input Sex");
- gets(data->sex);
- }
- void print(){
- printf("%-10s: %s\n%-10s: %s\n%-10s: %d\n%-10s: %s\n\n",
- "ID",current->id,"Name",current->name,"Year",current->year,
- "Sex",current->sex);
- }
- void isSearch(int choice,INFO item){
- current = first;
- printf("\nInfo\n");
- switch(choice)
- {
- case 1: while(current != NULL){
- if(!strcmp(current->id,item.id))
- {
- print();
- current = current->link;
- }
- else
- current = current->link;
- }break;
- case 2: while(current != NULL){
- if(!strcmp(current->name,item.name))
- {
- print();
- current = current->link;
- }
- else
- current = current->link;
- }break;
- case 3: while(current != NULL){
- if(current->year==item.year)
- {
- print();
- current = current->link;
- }
- else
- current = current->link;
- }break;
- case 4: while(current != NULL){
- if(!strcmp(current->sex,item.sex))
- {
- print();
- current = current->link;
- }
- else
- current = current->link;
- }break;
- }
- }
- void setSearch(){
- INFO item;
- int choice;
- printf("\nSearch\n1.ID\n2.Name\n3.Year\n4.Sex\nInput Number: ");
- scanf("%d",&choice);
- FFLUSH;
- switch(choice)
- {
- case 1: printf("%-10s: ","Input ID");gets(item.id);break;
- case 2: printf("%-10s: ","Input Name");gets(item.name);break;
- case 3: printf("%-10s: ","Input Year");scanf("%d",&item.year);FFLUSH;break;
- case 4: printf("%-20s: ","Input Sex: male or female");gets(item.sex);break;
- }
- isSearch(choice,item);
- }
- int main(){
- int i=0,n=3;
- INFO* newinfo;
- while(i<n){
- newinfo = new(INFO);
- createInfo(newinfo);
- if(first == NULL)
- {
- newinfo->link = first;
- first = newinfo;
- current = first;
- }
- else
- {
- newinfo->link = current->link;
- current->link = newinfo;
- }
- i++;
- }
- setSearch();
- setSearch();
- setSearch();
- setSearch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement