1.Cè¯è¨å¦ç管çç³»ç»
2.教务信息管理系统(C语言)
Cè¯è¨å¦ç管çç³»ç»
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define max
typedef struct student //å¦ç
{
char sno[max]; // å¦å·
char sname[max]; //å§å
char sex[max]; //æ§å«
char age[max]; //å¹´é¾
char depart[max]; //ç³»
char classs[max]; //ç
char grade[max]; //年级
struct student* next;
} student;
student* head;
int LogOn() //ç»å½æ¨¡åï¼å·²å®ç°è¾å ¥å¯ç ä¸åæ¾ï¼å¦æä¸éåç°è¾éæå ä½ï¼å¯éæ ¼é®éè¾
{
char username[max],管务系password[max];
printf("\n请è¾å ¥ç¨æ·å:");
scanf("%s",username);
printf("\n请è¾å ¥å¯ç (æå¤ä½):");
//å¼å§ä»¥ä¸åæ¾ä¸æ¯æéæ ¼æ¹å¼è·åè¾å ¥å¯ç
int i=0;
while((i>=0)&&(password[i++]=getch())!=)//æ¡ä»¶i>=0æ¯ç¨äºéå¶éæ ¼çèå´
{
if(password[i-1]=='\b')//对éæ ¼é®çå¤ç
{
printf("%c%c%c",'\b','\0','\b');
i=i-2;
}
else
printf("*");
}
password[--i]='\0';
//å·²è·åå¯ç ãéªè¯ç¨æ·èº«ä»½
if(!strcmp(username,"zhang")&&!strcmp(password,""))
{
printf("\nç»å½æå!");
return 1;
}
else
return 0;
}
void regist()
{
char ch;
student *s,*ptr; //sç¨æ¥å»ºæ°ç»ç¹ï¼ptrç¨æ¥æå头ç»ç¹
do
{
s=(student*)malloc(sizeof(student)); // æ°å»ºä¸ä¸ªå¦çç»ç¹
printf("\nå¼å§æ³¨å..."); //å¼å§æ³¨å
printf("\n请è¾å ¥è¯¥å¦ççå¦å·:");
scanf("%s",s->sno);
printf("\n请è¾å ¥è¯¥å¦ççå§å:");
scanf("%s",s->sname);
printf("\n请è¾å ¥è¯¥å¦ççæ§å«:");
scanf("%s",s->sex);
printf("\n请è¾å ¥è¯¥å¦ççå¹´é¾:");
scanf("%s",s->age);
printf("\n请è¾å ¥è¯¥å¦ççç³»:");
scanf("%s",s->depart);
printf("\n请è¾å ¥è¯¥å¦çæå¨çç:");
scanf("%s",s->classs);
printf("\n请è¾å ¥è¯¥å¦çæå¨ç年级");
scanf("%s",s->grade);
ptr=head;
head=s;//å°æ°ç»ç¹æå ¥é头
s->next=ptr;
fflush(stdin);
printf("\n请é®æ¯å¦ç»§ç»æ³¨å?(Y/N)");
scanf("%c",&ch);
}while(ch=='Y'||ch=='y');
return;
}
void ElePrint(char str[]) //è¾åºå个å ç´
{
if(str==NULL) exit(0);
printf("%s",str);
for(unsigned int i=0;i<-strlen(str);i++) printf(" ");//为äºå¯¹é½è¾åºï¼éæå ¥ä¸äºç©ºæ ¼
return;
}
int LinePrint(student *ptr) //è¾åºä¸è¡
{
if(ptr==NULL) //æ£æ¥ä¼ è¿æ¥çæé
return 0;
printf("\n");
ElePrint(ptr->sno);
ElePrint(ptr->sname);
ElePrint(ptr->age);
ElePrint(ptr->sex);
ElePrint(ptr->depart);
ElePrint(ptr->classs);
ElePrint(ptr->grade);
return 1;
}
void print() //è¾åºå ¨é¨å¦çä¿¡æ¯
{
student *ptr=head;
printf("\nå¦å· å§å å¹´é¾ æ§å« ç³» ç 年级 ");
while(ptr)
{
LinePrint(ptr);
ptr=ptr->next;
}
printf("\n");
return;
}
void search()//æ¥è¯¢æ¨¡å
{
int method;//æ¥è¯¢æ¹å¼
char no[max],name[max],departm[max],clss[max],grades[max]; //ç¨æ¥æ¥æ¶æ¥è¯¢å ³é®å
while(1)
{
printf("\n请éæ©æ¥è¯¢æ¹å¼");
printf("\n1.æå¦å·æ¥è¯¢");
printf("\n2.æå§åæ¥è¯¢");
printf("\n3.ææå¨ç³»æ¥è¯¢");
printf("\n4.ææå¨ç级æ¥è¯¢");
printf("\n5.ææå¨å¹´çº§æ¥è¯¢");
printf("\n6.æå°å ¨é¨å¦çä¿¡æ¯");
printf("\n7.è¿å主èå\n");
scanf("%d",&method);
student *p=head,*temp;
switch(method)
{
case 1:
printf("\n请è¾å ¥è¦æ¥è¯¢çå¦å·:");
scanf("%s",no);
while(p)
{
if(!strcmp(p->sno,no))
break;
else
{
temp=p;
p=p->next;
}
}
printf("\nå¦å· å§å å¹´é¾ æ§å« ç³» ç 年级 ");
LinePrint(p);
break;
case 2:
printf("\n请è¾å ¥è¦æ¥è¯¢çå§å:");
scanf("%s",name);
printf("\nå¦å· å§å å¹´é¾ æ§å« ç³» ç 年级 ");
while(p)
{
if(!strcmp(p->sname,name))
LinePrint(p);
p=p->next;
}
break;
case 3:
printf("\n请è¾å ¥å¦çæå¨çç³»:");
scanf("%s",departm);
printf("\nå¦å· å§å å¹´é¾ æ§å« ç³» ç 年级 ");
while(p)
{
if(!strcmp(p->depart,departm))
LinePrint(p);
p=p->next;
}
break;
case 4:
printf("\n请è¾å ¥å¦çæå¨çç:");
scanf("%s",clss);
printf("\n请è¾å ¥å¦çæå¨ç年级:");
scanf("%s",grades);
printf("\nå¦å· å§å å¹´é¾ æ§å« ç³» ç 年级 ");
while(p)
{
if(!strcmp(p->classs,clss)&&!strcmp(p->grade,grades))
LinePrint(p);
p=p->next;
}
break;
case 5:
printf("\n请è¾å ¥å¦çæå¨ç年级:");
scanf("%s",grades);
printf("\nå¦å· å§å å¹´é¾ æ§å« ç³» ç 年级 ");
while(p)
{
if(!strcmp(p->grade,grades))
LinePrint(p);
p=p->next;
}
break;
case 6:
print();
break;
case 7:
return;
default:
printf("å¾æ±æï¼ææ æ¤æ¥è¯¢æ¹å¼!");
break;
}
}
}
void modify()//ä¿®æ¹å¦çä¿¡æ¯
{
char num[max];
student *p=head;
printf("\n请è¾å ¥è¦ä¿®æ¹çå¦ççå¦å·:");
scanf("%s",num);
while(p)
{
if(!strcmp(p->sno,num))
break;
else
p=p->next;
}
if(p==NULL)
{
printf("\né误ï¼æ²¡ææ¤å¦ççä¿¡æ¯!\n");
return;
}
LinePrint(p);
printf("\n请è¾å ¥è¦ä¿®æ¹ç该å¦ççä¿¡æ¯:");
printf("\n1.å§å");
printf("\n2.æ§å«");
printf("\n3.å¹´é¾");
printf("\n4.æå¨çç³»");
printf("\n5.æå¨çç");
printf("\n6.æå¨ç年级");
char name1[max],sex1[max],age1[max],depart1[max],class1[max],grade1[max];
int select;
fflush(stdin);
scanf("%d",&select);
printf("\n请è¾å ¥æ°çä¿¡æ¯:");
switch(select)
{
case 1:
scanf("%s",name1);
strcpy(p->sname,name1);
break;
case 2:
scanf("%s",sex1);
strcpy(p->sex,sex1);
break;
case 3:
scanf("%s",age1);
strcpy(p->age,age1);
break;
case 4:
scanf("%s",depart1);
strcpy(p->depart,depart1);
break;
case 5:
scanf("%s",class1);
strcpy(p->classs,class1);
break;
case 6:
scanf("%s",grade1);
strcpy(p->grade,grade1);
break;
default:
printf("\nError!");
break;
}
LinePrint(p);
return;
}
void del()// å é¤æå¦ççä¿¡æ¯
{
student *p=head,*temp=head,*s;
char num1[max];
printf("\n请è¾å ¥è¦å é¤çå¦ççå¦å·:");
scanf("%s",num1);
while(p)//æ¥æ¾è¯¥å¦çæå¨çç»ç¹
{
if(!strcmp(p->sno,num1))
break;
else
{
temp=p;
p=p->next;
}
}//while
if(!p)
{
printf("\nä¸åå¨æ¤å¦ççä¿¡æ¯.");
return;
}
LinePrint(p);//è¾åºè¯¥å¦ççä¿¡æ¯
printf("\n请é®ççè¦å é¤è¯¥å¦ççä¿¡æ¯å?(Y/N)");
char ch;
fflush(stdin);
scanf("%c",&ch);
if(ch=='Y'||ch=='y')
{
s=p->next;
temp->next=s;
free(p);
printf("\nå·²ç»å é¤è¯¥å¦ççä¿¡æ¯.");
}
return;
}
void sort() //æåºæ¨¡åãå°å¦çè®°å½æå¦å·ä»å°å°å¤§æåãç¨èµ·æ³¡æåºç®æ³å®ç°
{
student *ptr,*s=head,*p;
int count=0,count1;
while(s)//ç»è®¡é¾è¡¨ç»ç¹ä¸ªæ°
{
count++;
s=s->next;
}
for(int i=1;i<count;i++)
{
ptr=head;
p=NULL;
count1=count-i; //ç¨æ¥æ§å¶æ¯è½®èµ·æ³¡æåºçç»ç¹ï¼å³æ¯æ¬¡æå¦å·æå°çç»ç¹ç§»å°åæ°ç¬¬i个ç»ç¹
while(ptr&&ptr->next&&(count1--))
{
if(strcmp(ptr->sno,ptr->next->sno)>0)
{
s=ptr->next;
ptr->next=s->next;
if(p==NULL) //ptrå¤äºé头æ¶
head=s;
else
p->next=s;
s->next=ptr;
p=s;
}
else
{
ptr=ptr->next;
if(p==NULL) //ptrå¤äºé头æ¶
p=head;
else
p=p->next;
}
}
}
return;
}
void quit()
{
char ch;
printf("\nççè¦éåºï¼(Y/N)");
fflush(stdin);
scanf("%c",&ch);
if(ch=='Y'||ch=='y')
exit(0);
return;
}
int main()
{
int option;
printf("\nCopyright@ KongXinCai All rights reserved.");
printf("\n欢è¿ä½¿ç¨å¦çä¿¡æ¯ç®¡çç³»ç»!\n");
//ç»å½æ¨¡å
int icheck=0;
while(icheck<3)
{
if(LogOn()==0)
icheck++;
else
break;
}
if(icheck==3)
{
printf("\nè¿ç»ç»å½ä¸æ¬¡ä¸æåï¼éåº!");
exit(0);
}
//ç³»ç»çé¢
while(1)
{
printf("\n\n请éæ©éè¦çæå¡:");
printf("\n1.注å");
printf("\n2.æ¥è¯¢");
printf("\n3.ä¿®æ¹");
printf("\n4.å é¤");
printf("\n5.æåº");
printf("\n7.æ±å¹³å");
printf("\n6.éåº\n");
scanf("%d",&option);
switch(option)
{
case 1:
regist();
break;
case 2:
search();
break;
case 3:
modify();
break;
case 4:
del();
break;
case 5:
sort();
break;
case 6:
quit();
break;
}
}
return 0;
}
教务信息管理系统(C语言)
#include <stdio.h>
struct Student
{
int num;
char name[];
float score[3];
float avg;
}stus[];
void Add();//填加学员
void List();//学员详细列表
void Asc();//显示后三名学员
void Desc();//显示前三名学员
void Display();
void main()
{
int s;
while(1)
{
printf("学员管理系统:\n");
printf("1、增加学员\n");
printf("2、理系理系storm 源码调试学员详细列表\n");
printf("3、统源统管统源dau指标源码显示前三名\n");
printf("4、码教码ilspy发布源码显示后三名\n");
printf("5、管务系魔宝源码显示平均成绩\n");
printf("6、理系理系edusoho app 源码退出\n");
printf("请选择:");
scanf("%d",统源统管统源&s);
switch(s)
{
case 1:
Add();
break;
case 2:
List();
break;
case 3:
Desc();
Display();
break;
case 4:
Asc();
Display();
break;
case 5:
Display();
break;
case 6:
return;
break;
default:
printf("选择错误!\n");
break;
}
}
}
void Add()
{
int i,k;
float sum;
char c;
for(i=0;i<;i++)
{
printf("请输入第%d个学员信息:\n",i+1);
printf("学号:");
scanf("%d",&stus[i].num);
printf("姓名:");
fflush(stdin);
scanf("%s",stus[i].name);
printf("请输入三门课的成绩:\n");
sum=0;
for(k=0;k<3;k++)
{
printf("%d:",k+1);
scanf("%f",&stus[i].score[k]);
sum+=stus[i].score[k];
}
stus[i].avg=sum/3;
printf("是否继续?");
fflush(stdin);
scanf("%c",&c);
if(c=='n' || c=='N')
return;
}
}
void List()
{
int i,j=0;
printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均\n");
for(i=0;i<;i++)
{
if(stus[i].num!=0)
{
printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stus[i].num,stus[i].name,stus[i].score[0],stus[i].score[1],stus[i].score[2],stus[i].avg);
}
}
}
void Asc()
{
int i,j;
struct Student c;
for(i=0;i<;i++)
{ for(j=0;j<-i;j++)
if(stus[j].avg<stus[j+1].avg)
{
c=stus[j];
stus[j]=stus[j+1];
stus[j+1]=c;
}
}
}
void Desc()
{
int i,j;
struct Student c;
for(i=0;i<;i++)
{ for(j=0;j<-i;j++)
if(stus[j].avg>stus[j+1].avg)
{
c=stus[j];
stus[j]=stus[j+1];
stus[j+1]=c;
}
}
}
void Display()
{
int i,d=0;
printf("学号\t姓名\t平均\n");
for(i=0;i<;i++)
{
if(stus[i].num!=0)
{
printf("%d\t%s\t%.2f\n",stus[i].num,stus[i].name,stus[i].avg);
d++;
}
if(d==3)
break;
}
}
看看我写的这个!
码教码