⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myfinalwork.txt

📁 这是我数据结构课程设计的原代码,已经经过调试通过了的
💻 TXT
字号:
#include <string.h>
#include <stdio.h>
#include <stdlib.h>   /*其它说明*/
#include <ctype.h>    /*字符操作函数*/
#include <conio.h>
int ban=1;/*录入的班级数目*/
typedef struct stu
{   
    char name[10];/*课程名*/
    char place[10];/*地点*/
    char teacher[10];/*教师名*/
}kb;   /*每个课的类型结构定义*/
kb KEBIAO[10][6][5];
char classes[10][20]={"电信0602班"};
void print2_KEBIAO()
{
    int i,j,n,z,q,p,k;
    char a[20];
    z=0;/*作为班级不匹配的标志*/
    q=0;
    printf("你想要显示哪个班的课程表?");
    scanf("%s",a);
     for(n=0;n<ban;n++)
	{
	  if(strcmp(a,classes[n])==0) {z=1;k=n;break;}
	}
    if(z==1)
    {
     printf("%s\n",a);
     for(j=0;j<5;j++)
	    for(i=0;i<6;i++)
	    {
	    	if(KEBIAO[k][i][j].name[0]!='\0')
		     {
	    	  printf("星期%d",j);
	    	  printf("第%d大节",i);
	     	  printf("\t\t%s",KEBIAO[k][i][j].teacher);
		      printf("\t\t%s",KEBIAO[k][i][j].name);
		      printf("\t\t%s",KEBIAO[k][i][j].place);
		     }
	    	else
		       continue;
	    }
   	}
   	else
    { 
    	printf("你所输入的班级不存在\n");
     	do
	    {
		    printf("\n您想继续查询吗?1为继续,2为返回");
	        scanf("%d",&q);
	        p=0;
	        if(q==1) print2_KEBIAO();
	        else if(q==2) break;
	        else 
         	{
      			p=1;
		       	printf("\n错误输入,请重新输入!");
	     	}	
	   }while(p==1);
    }
}

void add_KEBIAO()
{    int k,w,n,z,l,g,h;
	int q,p,x;
	char cc[15],a[15];
	printf("请问您是想按星期一从一二三四这样的顺序添加(即新增一个班级选择1)还是单独一节一节添加(选择2)?");
    scanf("%d",&x);
    if(x==1)
    {
    	printf("请输入您想添加课表的班级");
        scanf("%s",classes[ban++]);
	  	 for(k=0;k<5;k++)
  	   		for(w=0;w<6;w++)
	      	{
		  printf("请输入课程名\n");
	  	  scanf("%s",cc);
	  	  strcpy(KEBIAO[ban-1][w-1][k-1].name,cc);
	 	  printf("请输入上课地点\n");
		  scanf("%s",cc);
    	  strcpy(KEBIAO[ban-1][w-1][k-1].place,cc);
		  printf("请输入教师\n");
		  scanf("%s",cc);
    	  strcpy(KEBIAO[ban-1][w-1][k-1].teacher,cc);
			}
    }
    else if(x==2)
    {
    	printf("请输入您想添加哪个班的课表");
	    scanf("%s",a);
        for(n=0;n<ban;n++)
		{
	 	   if(strcmp(a,classes[n])==0) {z=1;l=n;break;}
		}
	   if(z==1)
     	{
		    printf("你要添加星期几的第几节课(格式如:星期一的第1大节:1,1)");
   		    scanf("%d,%d",&k,&w);
   		    if(KEBIAO[l][w][k].name[0]!='\0')
	     	{
	   		 printf("该时间段已有安排了.");
	    	 do
	    	 {
            	printf("\n您想继续添加吗?1为继续,2为返回");
	        	scanf("%d",&q);
	        	p=0;/*防止意外p的随即值与自己规定的值匹配*/
	        	if(q==1) add_KEBIAO();
	        	else if(q==2) return;
	       		 else 
	       		  	{
		    		    p=1;
		   	   			printf("错误输入,请重新输入!");
		   	   		}	
	 		 }while(p==1);
	    	} 
	   else
		{
	  	  printf("请输入课程名\n");
	  	  scanf("%s",cc);
	  	  strcpy(KEBIAO[l][w-1][k-1].name,cc);
	 	  printf("请输入上课地点\n");
		  scanf("%s",cc);
    	  strcpy(KEBIAO[l][w-1][k-1].place,cc);
		  printf("请输入教师\n");
		  scanf("%s",cc);
    	  strcpy(KEBIAO[l][w-1][k-1].teacher,cc);
		}  
	}
}
else
{
	printf("您输入错误!");
         do
	    {
		printf("\n您想继续查询吗?1为继续,2为返回");
	        scanf("%d",&g);
	        h=0;
	        if(g==1) add_KEBIAO();
	        else if(g==2) return;
	        else 
	         {
		   h=1;
		   printf("\n错误输入,请重新输入!");
		 }	
	   }while(h==1);
}
}
void alter_KEBIAO()
{
    int k,w,q,p,g,h,l,i,z;
    char a[10];
    printf("你想要修改哪个班的课程表?");
    scanf("%s",a);
    for(i=0;i<ban;i++)
	{
	  if(strcmp(a,classes[i])==0) {z=1;l=i;}
	}
    if(z==1)
   {
    printf("你要修改星期几的第几节课(格式如:星期一的第1,2节课:1,2)");
    scanf("%d,%d",&k,&w);
    if(KEBIAO[l][w-1][k-1].name[0]=='\0')
	{
	    printf("该时间段未有安排。");
	    do
	    {
		printf("\n您想继续修改吗?1为继续,2为返回");
	        scanf("%d",&q);
	        if(q==1) alter_KEBIAO();
	        else if(q==2) return;
	        else 
	         {
		      p=1;
		      printf("错误输入,请重新输入!");
		     }	
	   }while(p==1);
	} 
    else
	{
	  printf("请输入课程名");
	  scanf("%s",KEBIAO[l][w-1][k-1].name);
	  printf("请输入上课地点");
	  scanf("%s",KEBIAO[l][w-1][k-1].place);
	  printf("请输入教师");
	  scanf("%s",KEBIAO[l][w-1][k-1].teacher);
	}  
   }
    else
   {
	printf("您所要修改的班级不存在");
         do
	    {
		printf("\n您想继续查询吗?1为继续,2为返回");
	        scanf("%d",&g);
	        if(g==1) alter_KEBIAO();
	        else if(g==2) return;
	        else 
	         {
		   h=1;
		   printf("\n错误输入,请重新输入!");
		 }	
	   }while(h==1);
   }
}
void delete_KEBIAO()
{
    
    int k,w,q,p,g,h,i,z,l;
    p=0;
    char a[10];
    printf("你想要删除哪个班的课程表?");
    scanf("%s",a);
    for(i=0;i<ban;i++)
	{
	  if(strcmp(a,classes[i])==0) {z=1;l=i;}
	}
    if(z==1)
	{
    	printf("你要删除星期几的第几节课(格式如:星期一的第1,2节课:1,2)");
    	scanf("%d,%d",&k,&w);
    	if(KEBIAO[l][w-1][k-1].name[0]=='\0')
		{
	    	printf("该时间段未有安排。");
	    	do
	    	{
				printf("\n您想继续删除吗?1为继续,2为返回");
	        	scanf("%d",&q);
	        	if(q==1) alter_KEBIAO();
	        	else if(q==2) return;
	        	else 
	         	{
		   			p=1;
		   			printf("错误输入,请重新输入!");
		 		}	
	   		}while(p==1);
		} 
    	else 
		{
    		KEBIAO[l][w-1][k-1].name[0]='\0';
		}
	}
	else
	{
   		printf("您所要修改的班级不存在");
     	do
	    {
			printf("\n您想继续查询吗?1为继续,2为返回");
	        scanf("%d",&g);
	        if(g==1) delete_KEBIAO();
	        else if(g==2) return;
	        else 
         	{
		   	h=1;
		   	printf("\n错误输入,请重新输入!");
		 	}	
	   }while(h==1);
	}
}

void main()
{   
    add_KEBIAO();
	delete_KEBIAO();
	print2_KEBIAO();

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -