资源描述
#include <stdio.h>
#include<windows.h>
#include <conio.h> //Console Input/Output(控制台输入输出)
#include <string.h>
#define n1 20 //控制课程个数的存储空间
#define m1 5 //控制课程属性个数的存储空间空间
char couinfo[n1][m1][16]; //定义全局数组
char d[16], b[6];
char password[]={"123456"}; //原密码
int a, i,j,t=0,c=0,n=4,m=5; //定义全局变量 //主函数模块
void main()
{
void pasd(); //声明密码函数
void zhujie(); //声明zhujie()函数
zhujie(); //调用zhujie()函数
pasd(); //调用密码函数
}
void zhujie()
{
printf("\t * * $ * * $ * *\n");
printf("\t*** *** $$$ *** *** $$$ *** ***\n");
printf(" \t* * $ * * $ * *\n");
printf("\t $ $\n");
printf("\t$$$ $ $$$\n");
printf("\t $ $$$ $\n");
printf("\t * $ *\n");
printf("\t*** ***\n");
printf("\t * *\n");
printf("\t * $ ********************** $ *\n");
printf("\t*** $$$ 欢迎进入课程管理信息系统 $$$ ***\n");
printf("\t * $ ********************** $ *\n");
printf("\t * *\n");
printf("\t*** ***\n");
printf("\t * $ *\n");
printf("\t $ $$$ $\n");
printf("\t$$$ $ $$$\n");
printf("\t $ $\n");
printf("\t * * $ * * $ * *\n");
printf("\t*** *** $$$ *** *** $$$ *** ***\n");
printf("\t * * $ * * $ * *\n");
}
//密码模块
void pasd(void) //定义密码函数
{
void yewu(); //声明业务函数
int i; char p[9];
int n=3; //密码输入次数控制
do
{
printf("please enter password:\n"); //输入密码
for(i=0;i<6;i++)
{
p[i]=getch();
if (p[i]==8) //控制退格
{
i=i-2;
printf("\b \b");
}
else
{
printf("*");
if(p[i]==13) break; //回车控制
}
p[6]='\0';
}
if(strcmp(p,password)==0) //密码匹配strcmp(p,password)
{
printf("\n");
c=1;
yewu(); //调用业务函数
break;
}
else
{
printf("please enter password again:\n");
n--;
}
}
while(n>0);
}
//业务模块
void yewu() //定义业务函数
{
void inputcouinfo(void); //声明输入函数
void addcouinfo(void); //声明添加函数
void findcouinfo(void); //声明查询函数
void ordercouinfo(void); //声明排序函数
void delcouinfo(void); //声明删除函数
void updatecouinfo(void); //声明修改函数
char d;
system("cls");
if (c==1)
{
inputcouinfo(); //调用输入函数
printf("\t课程信息查询请输入: 1 \n\t课程信息删除请输入: 2 \n\t课程信息修改请输入: 3 \n\t课程信息排序请输入: 4 \n\t课程信息添加请输入:5\n");
printf("您是否进行其他操作,否输入0,否则输入其他:");
scanf("%d",&a);
for (i=0;;i++)
{
if(a!=0)
{
printf("请输入要操作的选项:");
scanf("%s",&d);
switch(d)
{
case '1':findcouinfo();break; //调用课程信息查询函数
case '2':delcouinfo();break; //调用课程信息删除函数
case '3':updatecouinfo();break; //调用课程信息修改函数
case '4':ordercouinfo();break; //调用课程信息排序函数
case '5':addcouinfo(); break; //调用课程信息添加函数
default: break;
}
}
}
}
}
//课程信息输入模块
void inputcouinfo(void) //定义课程信息输入函数
{
int x=1;
printf("\t\t\t **********************\n");
printf("\t\t\t 欢迎进入信息输入系统!!\n");
printf("\t\t\t **********************\n");
printf("请注意:性质为必修(B)或选修(X)\n");
printf("\t\t课程号 名称 性质 总学时 学分\n");
for (i=0;i<n;i++)
{
printf("输入课程编号%d:",x++);
for (j=0;j<m;j++)
{
scanf("%s",&couinfo[i][j]);
}
}
printf("课程号 名称 性质 总学时 学分\n");
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);
}
printf("\n");
}
}
void addcouinfo(void) //课程信息添加函数
{
int d,t,z;
printf("\t\t\t**********************\n");
printf("\t\t\t欢迎进入信息添加系统!!\n");
printf("\t\t\t**********************\n");
for(d=1;;d++)
{
printf("\n是否进行添加,“否” 请输入0,进行输入其他\n");
scanf("%d",&t);
if(t!=0)
{
printf("请输入要添加的第%d个课程信息:\n",d);
printf("课程号 名称 性质 总学时 学分\n");
z=n++;
for (j=0;j<m;j++)
{
scanf("%s",&couinfo[z][j]);
printf("%s\t",couinfo[z][j]);
}
}
else break;
}
system("cls");
printf("\t课程查询请输入: 1 \n\t课程删除请输入: 2 \n\t课程修改请输入: 3 \n\t课程排序请输入: 4 \n\t课程添加请输入:5\n");
}
void findcouinfo(void) //课程信息查询函数
{
char y[16];
int d,t,z;
printf("\t\t\t**********************\n"); printf("\t\t\t欢迎进入信息查询系统!!\n");
printf("\t\t\t**********************\n");
for(d=1;;d++)
{
printf("\n是否进行查询,“否” 请输入0\n");
scanf("%d",&t);
if(t!=0)
{
printf("请输入要查询的课程号:");
scanf("%s",&y);
printf("课程号 名称 性质 总学时 学分\n");
for(i=0;z=i,i<n1;i++)
{
if(strcmp(y,couinfo[i][0])==0)
{
for (j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);
}
break;
}
}
if(z==n)
printf("没有此课程号信息\n");
}
else break;
}
system("cls");
printf("\t课程查询请输入: 1 \n\t课程删除请输入: 2 \n\t课程修改请输入: 3 \n\t课程排序请输入: 4 \n\t课程添加请输入:5\n");
}
void delcouinfo(void) //课程信息删除函数
{
char y[16];
char y1[16];
int d,x,z;
printf("\t\t\t**********************\n");
printf("\t\t\t欢迎进入信息删除系统!!\n");
printf("\t\t\t**********************\n");
for(d=1;;d++)
{
printf("是否进行删除信息,否请输入: 0 进行输入其他数字:\n");
scanf("%d",&x);
if(x!=0)
{
printf("请输入要删除的课程号:");
scanf("%s",&y);
printf("请再次输入要删除的课程号:");
scanf("%s",&y1);
printf("课程号 名称 性质 总学时 学分\n");
if (strcmp(y,y1)==0)
{
for (i=0;i<n;i++)
{
if (strcmp(y,couinfo[i][0])==0)
{
z=i;
printf("要删除的课程信息是\n");
for (j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);
}
t++;
}
printf("\n");
}
for (i=z;i<n-t;i++)
{
for (j=0;j<m;j++)
{
strcpy(couinfo[i][j],couinfo[i+1][j]);
}
}
if(z==n)
printf("没有此课程号信息\n");
}
}
else break;
printf("课程号 名称 性质 总学时 学分\n");
for (i=0;i<n-t;i++)
{
for (j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);
}
printf("\n");
}
}
system("cls");
printf("\t课程查询请输入: 1 \n\t课程删除请输入: 2 \n\t课程修改请输入: 3 \n\t课程排序请输入: 4 \n\t课程添加请输入:5\n");
}
//课程修改函数
void updatecouinfo(void)
{
char h[16],h1[16],h2[16];
int d,b,x,z,e,f;
printf("\t\t\t**********************\n");
printf("\t\t\t欢迎进入信息修改系统!!\n");
printf("\t\t\t**********************\n");
for(d=1;;d++)
{
printf("是否进行信息修改,否请输入: 0 进行输入其他数字:\n");
scanf("%d",&x);
if(x!=0)
{
printf("请输入要修改的课程号:");
scanf("%s",&h);
printf("请再次输入要修改的课程号:");
scanf("%s",&h1);
if (strcmp(h,h1)==0)
{
for(i=0;z=i,i<n;i++)
{
if (strcmp(h,couinfo[i][0])==0)
{
printf("要修改的课程信息是\n");
for (j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);}
printf("\n请输入你要修改第几项\n");
scanf("%d",&b);
printf("请输入你要修改的内容\n");
scanf("%s",&h2);
strcpy(couinfo[i][b-1],h2);
for(e=0;;e++)
{
printf("您是否进行其他修改,否请输入 0,否则输入其他:");
scanf("%d",&f);
if(f!=0)
{
printf("\n请输入你要修改第几项\n");
scanf("%d",&b);
printf("请输入你要修改的内容\n");
scanf("%s",&h2);
}
else break;
}
strcpy(couinfo[i][b-1],h2);
for(j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);
}
printf("\n");
}
break;
}
}
if(z==n-t)
printf("没有此课程号信息\n");
}
else break;
}
system("cls");
printf("\t课程查询请输入: 1 \n\t课程删除请输入: 2 \n\t课程修改请输入: 3 \n\t课程排序请输入: 4 \n\t课程添加请输入:5\n");
}
//排序模块
void ordercouinfo(void) //按学分排序
{
int f[m1];
int x,z,max;
float s=0;
printf("\t\t\t**********************\n");
printf("\t\t\t欢迎进入学分排序系统!!\n");
printf("\t\t\t**********************\n");
for (i=0;i<n-t;i++)
{
for (j=0;j<m;j++)
{
printf("%s\t",couinfo[i][j]);
}
printf("\n");
}
printf("请按序输入课程学分\n");
for(i=0;i<n-t;i++)
{
scanf("%d",&f[i]);
}
for(i=0;i<n-t;i++)
{
s=s+f[i];
}
printf("总学分是%6.2f平均学分是%6.2f\n",s,s/(n-t));
for(i=0;i<n-t;i++)
{
for(j=0,max=0;j<n-t;j++)
{
if(max<f[j])
{
max=f[j],x=j;
}
}
f[x]=0;
for(z=0;z<m;z++)
{
printf("%s\t",couinfo[x][z]);
}
printf("\n");
}
printf("\t课程查询请输入: 1 \n\t课程删除请输入: 2 \n\t课程修改请输入: 3 \n\t课程排序请输入: 4 \n\t课程添加请输入:5 \n");
}
展开阅读全文