精华内容
下载资源
问答
  • 运行条件: 需要建立一名字为1文件在D盘中,fp=fopen(“D:\1.txt”,“w+”); 在控制台输入的信息会自动记入到该文件中...2)实现基本功能 3)采用文件存储学生信息 4)系统采用菜单的方式工作 功能概述: 1)查

    运行条件:
    需要建立一个名字为1文件在D盘中,fp=fopen(“D:\1.txt”,“w+”);
    在控制台输入的信息会自动记入到该文件中,缺点是无法对文件本身进行操作改变信息,不稳定,优点是使用链表结构,可以存储数量未知的学生信息 ,退出时会释放空间。

    总体概况:
    1)使用结构体建立学生信息体制
    2)实现五大基本功能
    3)采用文件存储学生信息
    4)系统采用菜单的方式工作

    功能概述:
    1)查询学生信息  按学号或姓名查询
    2)添加学生信息
    3)修改学生信息
    4)删除学生信息
    5)对学生按照学号排序并输出其信息

    建立文件并记录信息

    void BuildFile(node* head);/*建立文件基本信息*/
    

    输入n个学生信息

    node* Input(int n);/*输入n个学生信息*/ 
    

    添加学生信息

    node* Add(node* p);/*添加学生信息*/
    

    寻找学生信息

    node* Search(node* p);/*寻找学生信息*/ 
    

    修改学生信息

    node* Change(node* p);/*修改学生信息*/ 
    

    删除学生信息

    node* Delete(node* p);/*删除学生信息*/ 
    

    根据学号排序

    node* Order(node* p);/*根据学生学号排序*/ 
    

    关闭,清空,退出

    void Close(node* p);/*关闭*/
    

    显示菜单

    void Menu();/*显示菜单*/
    

    显示其他

    void Show()/*显示其他*/
    

    以下是源代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    #define N 30
    
    typedef struct Student node; //利用链表结构存储学生信息 
    struct Student
    {/*数据域*/ 
    	int num;//学号
    	char name[20];//姓名
    	char sex[10];//性别 
    	int age;//年龄 
     /*指针域*/	
        node* next;//指向下一个学生 	
    };
    
    FILE *fp; 
    
    /*建立文件基本信息*/
    void BuildFile(node* head)
    {
    	node* p = head;
    	
    	fp=fopen("D:\\1.txt","w+");
    	if(!fp)
    	{
    		printf("文 件 打 开 失 败!");
    		exit(0);
    	}
    	
    	fprintf(fp,"%s\n","=====学生个人信息====="); 
    	while(p){
    		fprintf(fp,"%s\n","----------------------------");
    		fprintf(fp,"%s%15d\n%s%15s\n%s%15s\n%s%15d\n","学号:",p->num,"姓名:",p->name,"性别:",p->sex,"年龄:",p->age);
    	    p = p->next;
    	}
        
    	fclose(fp);
    	printf("\n文 件 成 功 建 立 !!!\n");
    
    }
    
    
    	
    /*输入n个学生信息*/ 
    node* Input(int n)
    {
    	node* p = NULL;
    	node* head =NULL; 
    	int i = 1; 
    		
    	printf("<请在下面输入学生基本信息>\n");
        while(i <= n)
    	{ 
    	    printf("------------------------------------\n");
    	    if(!head){
      		    head = p =(node *)malloc(sizeof(struct Student)); 
                
    			/*输入学生基本信息*/
    			printf("输入学生学号:\t");
                scanf("%d",&p->num); 
    			printf("输入学生姓名:\t");
    			scanf("%s", p->name);
    			printf("输入学生性别:\t");
    			scanf("%s", p->sex);
    			printf("输入学生年龄:\t");
    			scanf("%d", &p->age);
    	        
    			
    			 
    			p->next = NULL; 
        	}else{	
                p->next = (node*)malloc(sizeof(struct Student));
                
                /*输入学生基本信息*/
    			printf("输入学生学号:\t");
                scanf("%d",&p->next->num); 
    			printf("输入学生姓名:\t");
    			scanf("%s", p->next->name);
    			printf("输入学生性别:\t");
    			scanf("%s", p->next->sex);
    			printf("输入学生年龄:\t");
    			scanf("%d", &p->next->age);
                
                p->next->next = NULL;
                p = p->next;
    	    }
        	++i;
    	} 
    	BuildFile(head);
        return head; 
    }
    
    /*添加学生信息*/ 
    node* Add(node* p)
    { 
        system("cls");
        int n;
    	node* head = p;
    	if(!p){
    		return NULL;
    	}
    	printf("请输入添加几个学生的信息:\t"); 
    	scanf("%d",&n);
    	while(n>0){
    		if(p->next==NULL){
    			printf("\n");
    			p->next = (node*)malloc(sizeof(struct Student));
                
                /*输入学生基本信息*/
    			printf("输入学生学号:\t");
                scanf("%d",&p->next->num); 
    			printf("输入学生姓名:\t");
    			scanf("%s", p->next->name);
    			printf("输入学生性别:\t");
    			scanf("%s", p->next->sex);
    			printf("输入学生年龄:\t");
    			scanf("%d", &p->next->age);
                
                p->next->next = NULL;
    			n--;//次数减一 
    		}
    		p = p->next; 
    	}
    	
    	BuildFile(head);
    	return head; 
    }
    
    /*寻找学生信息*/ 
    node* Search(node* p)
    {
    	if(!p){
    		return NULL;
    	}
    	
    	char n[N];//一个汉字占俩个字节 
    	printf("\n请输入查询的方式(选择输入:学号或姓名):\t");
    	scanf("%s", n);
    	
    	int k;//n下岗了 
    	node* p1 = p;//老工具人1号 
    	node* p2 = p; //老工具人2号 
    	
    	if(strcmp(n,"学号")==0){
    		printf("\n请输入您需要查找的学生学号:\t");
    		scanf("%d", &k); 
    		while(p1){
    			if(p1->num==k){
    		           printf("\n------------------------------------\n");
    			       printf("学生学号:%5d\n",p1->num);
    			       printf("学生姓名:%5s\n",p1->name);
    			       printf("学生性别:%5s\n",p1->sex);
    			       printf("学生年龄:%5d\n",p1->age);
    			       printf("\n");
    			       return p;
    			} 
    			p1 = p1->next;
    		} 
    	}
    	
    	char bb[N];
    	if(strcmp(n,"姓名")==0){
    		printf("\n请输入您需要查找的学生姓名:\t");
    		scanf("%s", bb); 
    		while(p2){
    		    if(strcmp(p2->name, bb)==0){
        			   printf("\n------------------------------------\n");
    			       printf("学生学号:%5d\n",p2->num);
    			       printf("学生姓名:%5s\n",p2->name);
    			       printf("学生性别:%5s\n",p2->sex);
    			       printf("学生年龄:%5d\n",p2->age);
    			       printf("\n");
    		       	   return p;
        		}
    			p2 = p2->next;
    		} 	
    	} 
        
    } 
    
    /*修改学生信息*/ 
    node* Change(node* p)
    {
    	node* p1 = (node*)malloc(sizeof(node));//头结点 
    	p1->next = p;
    	
    	if(!p){
    		return NULL; 
    	}
    	
    	int n;
    	node *p2, *p3;//p2尾随p,而p3在需要改的结点处保存p 
    	p2 = p1;
    	printf("\n请输入您需要修改学生的信息的学号:\t");
    	scanf("%d", &n);
    	 
    	while(p){
    		if(p->num==n){
    			node* p4=(node*)malloc(sizeof(node));
    			p3 = p;
    			p4->next = p->next;  
    			p = p4;
    			p2->next = p;
    			p3->next = NULL;
    			free(p3);
    			
    			printf("\n------------------------------------\n");
    			/*输入修改的学生信息*/
    			printf("输入修改后的学生学号:\t");
                scanf("%d",&p->num); 
    			printf("输入修改后的学生姓名:\t");
    			scanf("%s", p->name);
    			printf("输入修改后的学生性别:\t");
    			scanf("%s", p->sex);
    			printf("输入修改后的学生年龄:\t");
    			scanf("%d", &p->age);
    			printf("\n");
    			
    			node* head;
    			head = p1->next;//保存 
    			free(p1);
    			BuildFile(head);
    			return head; 
    		}
    		p = p->next;
    		p2 = p2->next;
    	}
    
    }
    
    /*删除学生信息*/ 
    node* Delete(node* p)
    {
    	node* head = p;
    	if(!p||p->next==NULL){
    		return NULL;
    	}
    	int n; 
    	printf("\n请输入您要删除的学生信息的学号:\t");
    	scanf("%d", &n); 
    	while(1){
    		if(p->num==n){//头节点数据与其相等 
    			head = p->next;
    			free(p); 
    			BuildFile(head);
    			return head;	
    		}
    		else if(p->next->num==n){//其他结点数据与其相等
    		    node* h = p->next;//保存需要删除的节点位置 
    		    p->next = p->next->next; 
                h->next = NULL;
                free(h);
               	BuildFile(head);
    			return head;
    		}
    		if(p->next->next==NULL){//都没找到 
    			return NULL;
    		}
    		p = p->next;
    	}
    	
    }
    
    /*根据学生学号排序*/ 
    node* Order(node* p)
    {
    	system("cls");
    	node* head;
    	node* p1 = p;//计算长度 
    	node* p2 = (node*)malloc(sizeof(node));//空结点 
    	p2->next = p; 
    	head = p2;//保存空结点 
    	if(!p){
    		return NULL; 
    	}
    	/*计算出元素个数*/
    	int count = 0;
    	while(p1){
    		count++; 
    		p1 = p1->next;
    	} 
    	/*选择排序法*/ 
    	for(int i=1; i<count; i++){
    		for(int j=1; j<count+1-i; j++){
    	       		if(p->num > p->next->num){
    		       		p2->next = p->next;
    					p->next = p2->next->next;
    					p2->next->next = p;
    					p2 = p2->next;     
    		       	}
    		       	else{
    	       			p2 = p2->next;
    	       			p = p->next;
    	       		}
    		}
    		p2 = head;
    		p = head->next;
    	} 
    	
    	/*输出学生全部数据*/
    	node* p3 = head->next;//用来输出学生数据 
        while(p3){
        	    printf("------------------------------------\n");
    			printf("学生学号:%5d\n",p3->num);
    			printf("学生姓名:%5s\n",p3->name);
    			printf("学生性别:%5s\n",p3->sex);
    			printf("学生年龄:%5d\n",p3->age);
        	p3 = p3->next;
        }
         node* p4 = head->next;
         free(head);
       	 BuildFile(p4);
    	 return p4;
    }
    
    /*关闭*/
    void Close(node* p)
    {
    	node* head;
        while(p){    //释放全部空间 
     		 head = p;
     		 p = p->next;
     		 free(head);
     	} 
    	exit(0); 	
    }
    
    /*显示菜单*/
    void Menu()
    {
    	    printf("================================主菜单================================\n");
    		printf("1,添加学生信息 \n");
    	    printf("2,查询学生信息 (按学号或姓名查询) \n");
    	    printf("3,修改学生信息\n");
    	    printf("4,删除学生信息\n");
    	    printf("5,对学生按照学号排序并输出其信息 \n");
    		printf("======================================================================\n");
     	   
    } 
    
    /*显示其他*/ 
    void Show()
    {
    	    /*首先进行输入学生信息操作*/ 
         int n;
         printf("请输入您需要输入几个学生的信息:\t"); 
         scanf("%d",&n);   
    	 node *p = Input(n);
         printf("\n");
        
         
    	 /*显示主菜单*/
    	while (1)
    	{
            getchar();//吸收换行符 
    	    Menu();
            printf("本程序实现五大功能,您可以选择哪个功能(1~5)或者按空格+Enter退出:\t");
            char ch = getchar();
    		
    		switch (ch)
    		{
    	     	case '1': 
    			      p = Add(p);break;
    		    case '2':
    		          p = Search(p);break; 
    			case '3':
                      p = Change(p);break;
    			case '4':
    			      p = Delete(p);break;
    			case '5':
    			      p = Order(p);break;
    			case ' ':
    			      Close(p);
    		    default:
    			      printf("\n数据错误!!!\n"); 
    	              break;
    
    		}
            printf("\n");
    	}	
            
    }
     
    /*吃干饭的*/ 
    int main()
    {    
    	Show(); 
    	return 0;
    }
     
    

    以下为改良版

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #define N 30
    
    typedef struct Student node; //利用链表结构存储学生信息 
    struct Student
    {/*数据域*/ 
    	int num;//学号
    	char name[20];//姓名
    	char sex[10];//性别 
    	int age;//年龄 
     /*指针域*/	
        node* next;//指向下一个学生 
    	node* previous;//指向上一个学生	
    };
    
    FILE *fp; 
    
    /*建立文件基本信息*/
    void BuildFile(node* head)
    {
    	node* p = head;
    	
    	fp=fopen("D:\\1.txt","w+");
    	if(!fp)
    	{
    		printf("文 件 打 开 失 败!");
    		exit(0);
    	}
    	if(!p){
    		printf("\n文 件 已 清 空 !\n");
    		fclose(fp); 
    	}
    	if(p){
    	fprintf(fp,"%s\n","=====学生个人信息====="); 
    	while(p){
    		fprintf(fp,"%s\n","----------------------------");
    		fprintf(fp,"%s%15d\n%s%15s\n%s%15s\n%s%15d\n","学号:",p->num,"姓名:",p->name,"性别:",p->sex,"年龄:",p->age);
    	    p = p->next;
    	    }
    	   fclose(fp);
           printf("\n文 件 成 功 建 立 !!!\n"); 
    	}
        
    }
    
    /*主菜单*/
    void show()
    {
    	    printf("================================主菜单================================\n");
    		printf("1,添加学生信息 \n");
    	    printf("2,查询学生信息 (按学号或姓名查询) \n");
    	    printf("3,修改学生信息\n");
    	    printf("4,删除学生信息\n");
            printf("5,对学生按照学号排序并输出其信息 \n");
            printf("6,          退    出               \n"); 
    		printf("======================================================================\n");	
    }
    
    /*输入n个学生信息*/ 
    node* Input(int n)
    {
       
    	node* p = NULL;
    	node* head =NULL; 
    	int i = 1; 
    
        while(i <= n)
    	{ 
    	    printf("------------------------------------\n");
    	    if(!head){
      		    head = p =(node *)malloc(sizeof(struct Student)); 
                
    			/*输入学生基本信息*/
    			printf("输入学生学号:\t");
                scanf("%d",&p->num); 
    			printf("输入学生姓名:\t");
    			scanf("%s", p->name);
    			printf("输入学生性别:\t");
    			scanf("%s", p->sex);
    			printf("输入学生年龄:\t");
    			scanf("%d", &p->age);
    			
    			p->previous = NULL;	 
    			p->next = NULL; 
        	}else{	
                p->next = (node*)malloc(sizeof(struct Student));
                
                /*输入学生基本信息*/
    			printf("输入学生学号:\t");
                scanf("%d",&p->next->num); 
    			printf("输入学生姓名:\t");
    			scanf("%s", p->next->name);
    			printf("输入学生性别:\t");
    			scanf("%s", p->next->sex);
    			printf("输入学生年龄:\t");
    			scanf("%d", &p->next->age);
                
                p->next->next = NULL;
                p->next->previous = p; //指向自己 
                p = p->next;
    	    }
        	++i;
    	} 
    	BuildFile(head); 
        return head; 
    }
    
    /*添加学生信息*/ 
    node* Add(node* p)
    { 
        system("cls");
        show();
        
        int n;
       	printf("\n请输入添加几个学生的信息:\t"); 
    	scanf("%d",&n);
    	
        if(p==NULL){//再次调用 
           node* p = Input(n);
    	   return p;	
        }
        
    	node* head = p;
    	   
    
    	while(n>0){
    		if(p->next==NULL){
    	
    			p->next = (node*)malloc(sizeof(struct Student));
                
                /*输入学生基本信息*/
    			printf("\n输入学生学号:\t");
                scanf("%d",&p->next->num); 
    			printf("输入学生姓名:\t");
    			scanf("%s", p->next->name);
    			printf("输入学生性别:\t");
    			scanf("%s", p->next->sex);
    			printf("输入学生年龄:\t");
    			scanf("%d", &p->next->age);
                
                p->next->next = NULL;
                p->next->previous = p;  
    			n--;//次数减一 
    		}
    		p = p->next; 
    	}
    	BuildFile(head);
    	return head; 	
    }
    
    /*寻找学生信息*/ 
    node* Search(node* p)
    {
        system("cls");
    	show();
    	if(!p){
    		printf("\n无 法 查 询!\n");
    		return NULL;
    	}
    	
    	int k;//n下岗了 
    	node* p1 = p;
    	node* p2 = p; 
        char n[N];//一个汉字占俩个字节 
    	printf("\n请输入查询的方式(选择输入:学号或姓名):\t");
    	scanf("%s", n);
    	
    	if(strcmp(n,"学号")==0){
    		printf("\n请输入您需要查找的学生学号:\t");
    		scanf("%d", &k); 
    		while(p1){
    			if(p1->num==k){
    		           printf("\n------------------------------------\n");
    			       printf("学生学号:%5d\n学生姓名:%5s\n学生性别:%5s\n学生年龄:%5d\n\n",p1->num,p1->name,p1->sex,p1->age);
    			       printf("\n查 询 成 功 !\n"); 
    			       return p;
    			} 
    			p1 = p1->next;
    		} 
    	}
    	
    	char b[N];
    	if(strcmp(n,"姓名")==0){
    		printf("\n请输入您需要查找的学生姓名:\t");
    		scanf("%s", b); 
    		while(p2){
    		    if(strcmp(p2->name, b)==0){
        			   printf("\n------------------------------------\n");
    			       printf("学生学号:%5d\n学生姓名:%5s\n学生性别:%5s\n学生年龄:%5d\n\n",p1->num,p1->name,p1->sex,p1->age);
    			       printf("\n查 询 成 功 !\n"); 
    		       	   return p;
        		}
    			p2 = p2->next;
    		} 	
    	} 	
    		printf("\n查 无 此 人 !\n");
    		return p;
    } 
    
    /*修改学生信息*/ 
    node* Change(node* p)
    {
        system("cls");
    	show();
    	
    	if(!p){
    		printf("\n无 法 修 改 !\n");
    		return NULL; 
    	}
    	
    	node* head = (node*)malloc(sizeof(node));//头结点 
    	 
    	head->next = p;
    	head->previous = NULL; 
    	p->previous = head; 
    	
    	int n;
    	node *p3;//p3在需要改的节点处保存p 
    	printf("\n请输入您需要修改学生的信息的学号:\t");
    	scanf("%d", &n);
    	 
    	while(p){
    		if(p->num==n&&p->next!=NULL){
    			node* p4=(node*)malloc(sizeof(node));
    			p->previous->next = p4;
    			p4->previous = p->previous;
    			p4->next = p->next;
    			p->next->previous = p4;
    			p->next = NULL;
    			p->previous = NULL;
    			free(p);
    	
    			printf("\n------------------------------------\n");
    			/*输入修改的学生信息*/
    			printf("输入修改后的学生学号:\t");
                scanf("%d",&p4->num); 
    			printf("输入修改后的学生姓名:\t");
    			scanf("%s", p4->name);
    			printf("输入修改后的学生性别:\t");
    			scanf("%s", p4->sex);
    			printf("输入修改后的学生年龄:\t");
    			scanf("%d", &p4->age);
    			printf("\n");
    			
    			node* head_x;
    			head_x = head->next;//保存
    			head_x->previous = NULL;
    			head->next = NULL; 
    			free(head);
    			printf("\n修 改 成 功 !\n");
    			BuildFile(head_x);
    			return head_x;
    		}
    		else if(p->num==n&&p->next==NULL){//最后一个 
    		    node* p4=(node*)malloc(sizeof(node));
    			p4->previous = p->previous;
    			p->previous->next = p4;
    			p->previous = NULL;
    			free(p);
    			
    			printf("\n------------------------------------\n");
    			/*输入修改的学生信息*/
    			printf("输入修改后的学生学号:\t");
                scanf("%d",&p4->num); 
    			printf("输入修改后的学生姓名:\t");
    			scanf("%s", p4->name);
    			printf("输入修改后的学生性别:\t");
    			scanf("%s", p4->sex);
    			printf("输入修改后的学生年龄:\t");
    			scanf("%d", &p4->age);
    			printf("\n");
    			
    			
    			node* head_x;
    			head_x = head->next;//保存
    			head_x->previous = NULL;
    			head->next = NULL; 
    			free(head);
    			printf("\n修 改 成 功 !\n");
    			BuildFile(head_x);
    			return head_x;
    		}
    		p = p->next;
    	}
        
        node* head_x;
    	head_x = head->next;//保存
    	free(head);
    	printf("\n查 无 此 人 ,无 法 修 改 !\n"); 
    	return head_x;
    }
    
    /*删除学生信息*/ 
    node* Delete(node* p)
    {
        system("cls");
        show();
    	if(!p||p->next==NULL){
    		printf("删 除 成 功 !\n");
    		BuildFile(NULL);
    		return NULL;
    	}
    	
    	int n;
    	node* head = (node* )malloc(sizeof(node));//空的头节点 
    	head->next = p;//建立联系 
    	p->previous = head;
    	head->previous = NULL;  
    	
    	
    	printf("\n请输入您要删除的学生信息的学号:\t");
    	scanf("%d", &n); 
    	while(p){
    		if(p->num==n&&p->next!=NULL){
    			p->previous->next = p->next;
    			p->next->previous = p->previous; 
    			free(p);
    			printf("\n删 除 成 功 !\n");
    		    BuildFile(head->next);
    			return head->next; 
    		}
    		else if(p->num==n&&p->next==NULL){//最后一个结点
    			free(p);
    			printf("\n删 除 成 功 !\n");
    			BuildFile(head->next);
    			return head->next; 
    		} 
    		p = p->next;
    	}
    	printf("\n删 除 失 败 !\n"); 
    }
    
    /*根据学生学号排序*/ 
    node* Order(node* p)
    {
    	system("cls");
    	show();
    	if(p==NULL){//空 
    	    printf("学 生 信 息 为 空,排 序 失 败!\n");
    		BuildFile(NULL); 
    		return NULL; 
    	}
    	else if(p->next==NULL){//只有一个
    	printf("学生学号:%5d\n学生姓名:%5s\n学生性别:%5s\n学生年龄:%5d\n",p->num,p->name,p->sex,p->age);    
        printf("\n排 序 成 功 !\n"); 
    	return p;
    	}
    	node* head;
    	node* p1 = p;//计算长度 
    	node* p2 = (node*)malloc(sizeof(node));//空节点 
    	p2->next = p; 
    	head = p2;//保存空节点 
    
    	/*计算出元素个数*/
    	int count = 0;
    	while(p1){
    		count++; 
    		p1 = p1->next;
    	} 
    	/*选择排序法*/ 
    	for(int i=1; i<count; i++){
    		for(int j=1; j<count+1-i; j++){
    	       		if(p->num > p->next->num){
     	                p2->next = p->next;
     	                p->next->next->previous = p;
     	                p->next = p2->next->next;
     	                p->previous = p2->next;
     	                p2->next->next = p;
    				    p2->next->previous = p2;
    		       	}
    		       	else{
    	       			p2 = p2->next;
    	       			p = p->next;
    	       		}
    		}
    		p2 = head;
    		p = head->next;
    	} 
    		
    	/*输出学生全部数据*/
    	node* p3, *p4;
        p3 = p4 = head->next;//用来输出学生数据 
        while(p3){
          printf("------------------------------------\n");
      	  printf("学生学号:%5d\n学生姓名:%5s\n学生性别:%5s\n学生年龄:%5d\n",p3->num,p3->name,p3->sex,p3->age);
       	  p3 = p3->next;
        }
         free(head);
         printf("\n排 序 成 功 !\n"); 
         BuildFile(p4);
    	 return p4;
    }
     
    void Close(node* p)
    {
    	node* head;
    	char b[N];
        while(p){    //释放全部空间 
     		 head = p;
     		 p = p->next;
     		 free(head);
     	} 
     	printf("\n是 否 保 存 文 件 ?(选择:yes或no)\n");
     	scanf("%s", b); 
     	if(strcmp(b, "no")==0){
    	 	BuildFile(NULL);
        }
    	exit(0);
    } 
     
    int main()
    {    /*首先进行输入学生信息操作*/ 
         int n,choice;
         printf("请输入您需要输入几个学生的信息:\t"); 
         scanf("%d",&n);
         printf("<请在下面输入学生基本信息>\n");
    	 node *p = Input(n);
         printf("\n");
    	 show();
    	    
    	/*显示主菜单*/
    	while (1)
    	{
    		printf("本程序实现五大功能,您可以选择哪个功能(1~5):\t");
    		scanf("%d",&choice);//输入数字
    		switch (choice)
    		{
    	     	case 1: 
    			      p = Add(p);break;
    		    case 2:
    		          p = Search(p);break; 
    			case 3:
                      p = Change(p);break;
    			case 4:
    			      p = Delete(p);break;
    			case 5:
    			      p = Order(p);break; 
    		    case 6:
    			      Close(p);break;		       
    		    default:
    			     printf("\n数据错误!!!\n"); 
    			        break;
    
    		}
            printf("\n");
    	}
    	
    	return 0;
    }
     
    
    
    展开全文
  • 操作系统基本功能

    2014-02-28 16:08:52
    从资源管理和用户接口的观点分五个方面说明操作系统基本功能   1、处理机管理 2、存储管理 3、设备管理 4、信息管理(文件系统的管理) 5、用户接口

        

     

     

        从资源管理和用户接口的观点分五个方面说明操作系统的基本功能

     

    1、处理机管理

    2、存储管理

    3、设备管理

    4、信息管理(文件系统的管理)

    5、用户接口

     

    展开全文
  • 区块链的五个基本特征

    千次阅读 2020-12-27 14:43:03
    区块链的五个基本特征 去中心化,开放性,自治性,信息不可篡改,匿名性 1.去中心化 区块链采用分布式核算和存储,不存在中心化的硬件或者管理机构,任意节点的权利和义务都是均等的,系统中数据由整个系统中具有...

    区块链的五个基本特征

    去中心化,开放性,自治性,信息不可篡改,匿名性

    1.去中心化
    区块链采用分布式核算和存储,不存在中心化的硬件或者管理机构,任意节点的权利和义务都是均等的,系统中数据由整个系统中具有维护功能的节点来共同维护。

    2.开放性

    区块链系统时开放的,除交易各方的是有信息加密外,区块链数据对所有人公开,任何人都能通过公开的接口对区块链数据进行查询,并能开发相应应用,整个系统信息高度透明。

    3.自治性

    区块链的自治性建立在规范和协议的基础上。区块链采用协商一致的规范和协议(如公开透明的算法),系统中所有节点都能在去信任的环境中自由安全地交换数据,让对人的信任转变为对机器的信任,任何人为的干预都无法发挥作用。

    4.信息不可篡改

    一旦信息经过验证兵添加到区块链,就会被永久存储起来,除非同时控制系统中超过51%的节点,单个节点对数据的修改是无效的。基于这点,区块链数据的稳定性和安全性非常高,区块链技术从根本上改变了中心化的信用创建方式,通过数学原理而非中心化信用机构来低成本地建立信用,出生证,结婚证等都可以在区块链上进行公证,拥有全球性的中心节点,变成全球都信任的东西。

    5.匿名性

    节点之间的交换遵循固定算法,其数据交互是无须信任的,交易对手不用通过公开身份的方式让对方对自己产生信任,有利于信用的积累。

    展开全文
  • 实验 类与对象 实验目的 1.熟练掌握如何自定义一类。...品牌 brand、型号 type、操作系统 os 等)和基本功能(如:显示设备信息 info( )、拨 号 call( String number)等))。另外,编写类 TestPhone 创建手机类.
    实验五 类与对象
    实验目的
    1.熟练掌握如何自定义一个类。
    2.熟练掌握如何创建对象以及调用对象的成员变量和成员方法。
    3.掌握方法调用时参数的传递。
    主要仪器设备及耗材
    安装了 JDK1.8 的 PC 一台
    实验内容
    1. 通过对现实中手机进行分析,设计一个手机类 Phone。该类包括手机的基本属性(如:
    品牌 brand、型号 type、操作系统 os 等)和基本功能(如:显示设备信息 info( )、拨
    号 call( String number)等))。另外,编写类 TestPhone 创建手机类 Phone 的对象,
    并测试各项功能。
    public class Phone{
    【补充代码】
    }
    public class TestPhone{
    【补充代码】
    }
    

     

    Phone.java

    package com.temp;
    
    import java.util.Scanner;
    
    /**
     * @Author lanxiaofang
     * @email 983770299@qq.com
     * @date 2020/09/29 00:25
     */
    public class Phone {
    
        private static String brand; //品牌
        private static String type; //型号
        private static String os; //操作系统
    
        public Phone() {
        }
    
        public static void setBrand(String brand) {
            Phone.brand = brand;
        }
    
        public static void setType(String type) {
            Phone.type = type;
        }
    
        public static void setOs(String os) {
            Phone.os = os;
        }
    
    
        private static final String REGEX_MOBILE = "^[1][3,4,5,6,7,8,9][0-9]{9}$";
    
        public static void info(){
            System.out.println("--品牌: " + brand + "\n--型号: " + type + "\n--操作系统: " + os);
        }
    
        public static void call(String number){
    
            Scanner sca = new Scanner(System.in);
            System.out.println("--请输入对方11位手机号:");
            String number_other = sca.nextLine();
    
            boolean number_regex = number_other.matches(REGEX_MOBILE); // 验证输入的手机号的合法性
    
            if(number_regex){
                System.out.println(number + " 正在打电话给 " + number_other);
                if(number.equals(number_other)){
                    System.out.println("--请拨打的电话正在通话中,请稍后再拨~");
                }
            }else{
                System.out.println("--您输入的手机号有误,请重新输入...");
            }
    
    
        }
    
    
    }
    

    TestPhone.java

    package com.temp;
    
    /**
     * @Author lanxiaofang
     * @email 983770299@qq.com
     * @date 2020/09/29 00:33
     */
    public class TestPhone{
    
        public static void main(String[] args) {
    
            Phone phone = new Phone();
    
            phone.setBrand("Honor 10");
            phone.setType("COL-AL10");
            phone.setOs("Android 10");
    
            phone.info();
            phone.call("13212660403");
    
        }
    
    }
    
    
    //public class TestPhone extends Phone{
    //
    //    public static void main(String[] args) {
    //
    //        Phone.setBrand("Honor 10");
    //        Phone.setType("COL-AL10");
    //        Phone.setOs("Android 10");
    //
    //        Phone.info();
    //        Phone.call("13212660403");
    //
    //    }
    //
    //}
    

     

    展开全文
  • 这期我将教大家【文件共享平台】的后端用户路由模块如何设计,包括用户表设计、用户注册、登陆、登出基本功能,以及信息查询。 该模块不仅仅是该平台用到,基本所有需要记录用户信息系统都会涉及,而本期仅仅是教...
  • 模块化就是把程序划分成独立命名且可独立访问的模块,每模块完成一功能,把这些模块集成起来构成一整体,可以完成指定的功能满足用户的需求。 采用模块化原理的优点:  使软件结构清晰,容易设计、容易...
  • 操作系统的概念和功能  计算机是一高速运转的复杂系统:它有CPU、内存储器、外存储器、各种各样的输入输出设备,通常称为硬件资源;...  操作系统五大管理功能,即作业管理、存储管理、信息管理、设备管理和处
  • 安全的基本要素包括以下五个方面: 机密性 完整性 可用性 可控性 可审查性 另外,有人将五要素进行了扩展,增加了 可鉴别性 不可抵赖性 可靠性 可靠性 系统可靠性是系统正常运行的概率 系统可以分为: 串联系统...
  • 目录信息的基本概念1 信息的特征2 信息的功能3 信息的传输模型信息系统基本概念1 系统的特征1.1 总体特性1.2 突出特性2 信息系统信息化的基本概念1 信息化从“小”到“大”分为五个层次2 信息化的内涵3 国家级信息...
  • 众所周知,二叉树在数据结构领域属于一较难的课题,本文针对二叉树的基本操作逻辑,实现了一基于二叉树的学生成绩管理系统,包含初始化增加删除打印等各大基本功能,和大家一起分享,小编也是初学者,有什么不...
  • 什么是信息系统

    千次阅读 2013-07-10 16:55:08
    什么是信息系统 一.... 信息系统的英文名是Information ...信息系统五个基本功能:输入、存储、处理、输出和控制。 输入功能:信息系统的输入功能决定于系统所要达到的目的及系统的能力和信息环境的许可。 存储
  • 本资源主要为本人课程设计时运用VHDL语言基于FPGA设计的层电梯控制系统,具有电梯开关门、楼层转换、红外检测、超重检测、故障检测、维修时管理控制等基本功能(文件夹中有多版本代码,最终版为NEW_ELEVATOR_WC...
  • 从资源管理观点看,操作系统具有功能 处理机管理 存储器管理 设备管理 文件管理 操作系统与用户之间的接口 一、处理机管理功能 处理机的分配和运行都是以进程为基本单位的 进程控制——创建和撤销...
  • 希望通过这个系统完成对公司客户基本信息、联系 人信息,交往信息,服务信息的规范化管理,希望通过对销售机会、客户开发过程的 跟踪和记录,提高新客户的开发能力,希望系统提供相关报表,以便公司高层领导能 够...
  • 1.业务描述 设计本系统,模拟学生选课的部分管理功能。...简化的系统数据库(SCDB)中主要包含以下五个数据表(设计时可根据实际业务需要适当追加其它的数据表),各表及其相应字段分别描述如下:
  • 学生信息管理系统

    2019-04-06 16:40:02
    学生信息管理系统 一.题目内容 对例1的学生信息管理系统,要求完成以下基本任务: 1.改写程序为良好程序风格(文档注释,函数注释,语句...这次的程序是关于一学生信息管理系统,它的菜单里有8选项功能,基...
  • 商品信息管理系统

    2018-05-06 23:47:23
    有源码,有文档,开发环境是在Visual Studio .NET 2005的平台上C#.Net的应用程序(winform),采用SQL Server 2000数据库系为基本应用软件开发系统程序。 第一章 前言 1 1.1 项目依据及意义 1 1.2 国内外研究现状及...
  • 1.业务描述 设计本系统,模拟学生选课的部分管理功能。...简化的系统数据库(SCDB)中主要包含以下五个数据表(设计时可根据实际业务需要适当追加其它的数据表),各表及其相应字段分别描述如下:
  • 答:生命周期定义了五个阶段:规划、分析、设计、实施、运行和维护。(每个阶段1分) 系统规划:对企业的环境、目标、现行系统的状况进行初步调查,根据企业目标和发展战略,确定信息系统的发展战略和新系统愿景,并...
  • Blairl多功能群发系统

    2011-07-02 10:09:25
    一、邮件海量群发:可日发数W封邮件,基本不进垃圾箱。成功率相当高 功能简介:1、低速发送邮件。为防止发送频率过快而进垃圾箱,软件限制最快6秒发一封(软件安静运行,不影响其它工作,速度慢却赢得高质量) 2...
  • 2)网站或其他信息采、编、发流程的定义与处理,如:信息的拟稿、审核、发布等需要多流程且需要不同的角色参与。 3)其他业务处理中需要流程处理、多人/多部门协同完成的应用。 三、基本功能 1) 基本属性定义管理 ...
  • 学生信息管理系统基于accesss系统针对高中学校的教务管理,分为两模块,学生信息模块,教师管理模块;各模块功能如下: 学生模块:可以查看自己最近的考试成绩以及班级里的成绩情况,查看自己历史成绩查询,查看...
  • 学生信息管理系统c++

    2010-06-21 23:00:24
    用C++语言实现一C++课程设计管理系统,通过对学生信息(包括姓名、学号、班级、C++成绩、题目、指导老师、电话、课时、学分)的输入、查询、删除、修改等,使之便于老师更好、更方便的掌握学生课程设计相关的基本...
  • 系统支持多语言轻松打造国际站、自定义模型、支持网站模板换肤、内置SEO优化功能、静态页、评论留言、购物车、在线支付、优惠券、积分、三级分销、订单管理、会员、数据采集、短信接口、插件应用商店、广告等企业...
  • 该篇论文主要针对小型超市管理系统,通过系统功能架构设计、数据库设计两方面就行了详细分析。 2.系统功能架构设计: 在系统架构设计中包含了基本信息管理模块、货物管理模块、销售管理模块。...
  • 日志系统的另一个基本功能就是能够让使用者按照自己的意愿来控制什么时候,哪些log信息可以输出。如果能够让用户在任意时刻设置允许输出的LogLevel的信息就好了,log4cplus通过LogLevelManager、LogLog、Filter三种...
  • 客户信息管理系统 c#

    2011-03-29 20:57:36
    主界面包括以下五个模块 §1.基本档案模块 § 该模块主要用于实现货物档案设置、供应商设置和仓库设置等功能。 §2.货物管理模块 § 该模块主要用于实现货物的入库管理、出库管理、借货管理、还货管理和盘点管理...
  • Java课程设计【学生信息管理系统

    千次阅读 多人点赞 2020-06-01 13:48:20
    课程设计目录一、问题描述二、基本要求三、需求分析四、概要设计1、类之间的调用关系2、学生信息模块3、管理系统模块4、详细设计①主程序LoginGUI的代码②程序View的代码③程序Student的代码④程序ConnectSQLServer...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,338
精华内容 535
关键字:

信息系统五个基本功能