#include<stdio.h>
#include<windows.h>
int xuanxiang;
int studentcount;
int banjihao[100];
int xueqihao[100][10];
char xm[100][100];
int xuehao[100][10];
int score[100][3];
int yuwen;
int shuxue[000];
int yingyu[100];
int c[100];
int p;
char x[1000][100]="",y[100][100]="";/*x學(xué)院 y專業(yè) z班級(jí)*/
int z[100];
main()
{
void input();
void inputsc();
void alter();
void scbybannji();
printf("--------學(xué)生成績(jī)管理-----\n");
printf("請(qǐng)按相應(yīng)數(shù)字鍵來(lái)實(shí)現(xiàn)相應(yīng)功能\n");
printf("1.錄入學(xué)生信息 2.錄入學(xué)生成績(jī) 3.修改學(xué)生成績(jī)\n");
printf("4.查詢學(xué)生成績(jī) 5.不及格科目及名單 6.按班級(jí)輸出學(xué)生成績(jī)單\n");
printf("請(qǐng)輸入你要實(shí)現(xiàn)的功能所對(duì)應(yīng)的數(shù)字:");
scanf("%d",&xuanxiang);
system("cls");
getchar();
switch (xuanxiang)
{
case 1:input();
case 2:inputsc();
case 3:alter();
/*case 4:select score();
case 5:bujigekemujimingdan();*/
case 6:scbybanji;
}
}
void input()
{
int i;
printf("請(qǐng)輸入你的學(xué)院名稱:");
gets(x);
printf("請(qǐng)輸入你的專業(yè)名稱:");
gets(y);
printf("請(qǐng)輸入你的班級(jí)號(hào):");
scanf("%d",&z);
printf("請(qǐng)輸入你們一個(gè)班有幾個(gè)人:");
scanf("%d",&p);
system("cls");
for(i=0;i<p;i++)
{
printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào):",i+1);
scanf("%d",xuehao[i]);
getchar();
printf("請(qǐng)輸入第%d個(gè)學(xué)生的姓名:",i+1);
gets(xm[i]);
system("cls");
}
printf("您已經(jīng)錄入完畢您的班級(jí)所有學(xué)生的信息!\n");
printf("您的班級(jí)為%s%s%s\n",x,y,z);
/*alter(p);*/
}
void inputsc()
{
int i;
for(i=0;i<p;i++)
{
printf("\n");
printf("--------------------------------------------------------------------------------\n\n");
printf("\t\t\t\t錄入學(xué)生的成績(jī)\n\n\n");
printf("--------------------------------------------------------------------------------\n\n");
printf("\t\t\t\t%s\n",xm[i]);
printf("\n");
printf("\t\t\t\t數(shù)學(xué):");
scanf("%d",&shuxue[i]);
printf("\n");
getchar();
printf("\t\t\t\t英語(yǔ):");
scanf("%d",&yingyu[i]);
printf("\n");
getchar();
printf("\t\t\t\tc語(yǔ)言:");
scanf("%d",&c[i]);
system("cls");
}
}
void alter()
{
int i;/*循環(huán)變量*/
int m[10000];/*要查詢的學(xué)號(hào)*/
int b;/*修改后的成績(jī)*/
char kemu[20]="";
printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào)");
scanf("%d",&m);
for (i=0;i<p;i++)
{
if (m==xuehao[i])
{
printf("%s的數(shù)學(xué)成績(jī)?yōu)?d,英語(yǔ)成績(jī)?yōu)?d,c語(yǔ)言成績(jī)?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]");
printf("請(qǐng)輸入你想修改的科目");}
}
gets(kemu);
getchar();
if (kemu=="數(shù)學(xué)");
{
scanf("%d",&b);
shuxue[i]=b;}
if (kemu=="英語(yǔ)");
{
scanf("%d",&b);
yingyu[i]=b;}
if (kemu=="c語(yǔ)言");
{
scanf("%d",&b);
c[i]=b;
}
printf("%s的數(shù)學(xué)成績(jī)?yōu)?d,英語(yǔ)成績(jī)?yōu)?d,c語(yǔ)言成績(jī)?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]");
}
void scbybannji()
{
int i;
char zyname[20];
int bjnumber;
printf("請(qǐng)輸入你的專業(yè)名稱");
scanf("%s",&zyname);
printf("請(qǐng)輸入你的班級(jí)號(hào)");
scanf("%d",&bjnumber);
for (i=0;i<p;i++)
{
if (zyname==y[i]);
if (bjnumber==z[i]);
printf("專業(yè)名稱%s班級(jí)號(hào)%d數(shù)學(xué)成績(jī)%d英語(yǔ)成績(jī)%dc語(yǔ)言成績(jī)%d,y[i],z[i],shuxue[i],yingyu[i],c[i]");
}
}
標(biāo)簽:
c語(yǔ)言
上傳時(shí)間:
2018-06-08
上傳用戶:2369043090
#include<stdio.h>
#define TREEMAX 100
typedef struct BT
{
char data;
BT *lchild;
BT *rchild;
}BT;
BT *CreateTree();
void Preorder(BT *T);
void Postorder(BT *T);
void Inorder(BT *T);
void Leafnum(BT *T);
void Nodenum(BT *T);
int TreeDepth(BT *T);
int count=0;
void main()
{
BT *T=NULL;
char ch1,ch2,a;
ch1='y';
while(ch1=='y'||ch1=='y')
{
printf("\n");
printf("\n\t\t 二叉樹(shù)子系統(tǒng)");
printf("\n\t\t*****************************************");
printf("\n\t\t 1---------建二叉樹(shù) ");
printf("\n\t\t 2---------先序遍歷 ");
printf("\n\t\t 3---------中序遍歷 ");
printf("\n\t\t 4---------后序遍歷 ");
printf("\n\t\t 5---------求葉子數(shù) ");
printf("\n\t\t 6---------求結(jié)點(diǎn)數(shù) ");
printf("\n\t\t 7---------求樹(shù)深度 ");
printf("\n\t\t 0---------返 回 ");
printf("\n\t\t*****************************************");
printf("\n\t\t 請(qǐng)選擇菜單號(hào) (0--7)");
scanf("%c",&ch2);
getchar();
printf("\n");
switch(ch2)
{
case'1':
printf("\n\t\t請(qǐng)按先序序列輸入二叉樹(shù)的結(jié)點(diǎn):\n");
printf("\n\t\t說(shuō)明:輸入結(jié)點(diǎn)(‘0’代表后繼結(jié)點(diǎn)為空)后按回車。\n");
printf("\n\t\t請(qǐng)輸入根結(jié)點(diǎn):");
T=CreateTree();
printf("\n\t\t二叉樹(shù)成功建立!\n");break;
case'2':
printf("\n\t\t該二叉樹(shù)的先序遍歷序列為:");
Preorder(T);break;
case'3':
printf("\n\t\t該二叉樹(shù)的中序遍歷序列為:");
Inorder(T);break;
case'4':
printf("\n\t\t該二叉樹(shù)的后序遍歷序列為:");
Postorder(T);break;
case'5':
count=0;Leafnum(T);
printf("\n\t\t該二叉樹(shù)有%d個(gè)葉子。\n",count);break;
case'6':
count=0;Nodenum(T);
printf("\n\t\t該二叉樹(shù)總共有%d個(gè)結(jié)點(diǎn)。\n",count);break;
case'7':
printf("\n\t\t該樹(shù)的深度為:%d",TreeDepth(T));
break;
case'0':
ch1='n';break;
default:
printf("\n\t\t***請(qǐng)注意:輸入有誤!***");
}
if(ch2!='0')
{
printf("\n\n\t\t按【Enter】鍵繼續(xù),按任意鍵返回主菜單!\n");
a=getchar();
if(a!='\xA')
{
getchar();
ch1='n';
}
}
}
}
BT *CreateTree()
{
BT *t;
char x;
scanf("%c",&x);
getchar();
if(x=='0')
t=NULL;
else
{
t=new BT;
t->data=x;
printf("\n\t\t請(qǐng)輸入%c結(jié)點(diǎn)的左子結(jié)點(diǎn):",t->data);
t->lchild=CreateTree();
printf("\n\t\t請(qǐng)輸入%c結(jié)點(diǎn)的右子結(jié)點(diǎn):",t->data);
t->rchild=CreateTree();
}
return t;
}
void Preorder(BT *T)
{
if(T)
{
printf("%3c",T->data);
Preorder(T->lchild);
Preorder(T->rchild);
}
}
void Inorder(BT *T)
{
if(T)
{
Inorder(T->lchild);
printf("%3c",T->data);
Inorder(T->rchild);
}
}
void Postorder(BT *T)
{
if(T)
{
Postorder(T->lchild);
Postorder(T->rchild);
printf("%3c",T->data);
}
}
void Leafnum(BT *T)
{
if(T)
{
if(T->lchild==NULL&&T->rchild==NULL)
count++;
Leafnum(T->lchild);
Leafnum(T->rchild);
}
}
void Nodenum(BT *T)
{
if(T)
{
count++;
Nodenum(T->lchild);
Nodenum(T->rchild);
}
}
int TreeDepth(BT *T)
{
int ldep,rdep;
if(T==NULL)
return 0;
else
{
ldep=TreeDepth(T->lchild);
rdep=TreeDepth(T->rchild);
if(ldep>rdep)
return ldep+1;
else
return rdep+1;
}
}
標(biāo)簽:
二叉樹(shù)
子系統(tǒng)
上傳時(shí)間:
2020-06-11
上傳用戶:ccccy