当前位置:首页 » 编程语言 » c语言社团管理代码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言社团管理代码

发布时间: 2022-07-02 18:10:27

① 求c语言大学模拟管理系统代码

输入验证我没写,你要自己添加。

输入那里switch case少一个break,是利用case贯通的效果,不要补充break。

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<malloc.h>
#include<time.h>
typedefstructnode
{
charid[20];//身份证
charon[20];//学号
charname[40];//姓名
charsubject[20];//专业
structtmesTime;//入学时间
intflag;//0:在职学生;1:普通学生;2:教师
chartitle[20];//职称
charfaculty[20];//所在系
floatwages;//工资
structnode*nexteStu;//在职学生链表指针
structnode*nextStu;//学生链表指针
structnode*nextTea;//教师链表指针
}NODE;

voidnewNode(NODE**nodeHeads,NODE**nodeTails,intflag);//增加节点
voidprintfNodes(NODE**nodeHead,intflag);//打印链表

voidmeError(void*p);//内存申请失败
intmain()
{
intn,flag;
NODE*nodeHeads[3]={NULL},*nodeTails[3]={NULL};
while(1)
{
printf("选择要录入的人员类型: ------0、在职学生。 ------1、普通学生。 ------2、教师。 ------3、结束输入 ");
scanf("%d",&flag);
if(flag==0||flag==1||flag==2)
while(1)
{
newNode(nodeHeads,nodeTails,flag);
printf("1、继续输入;2、返回主菜单; ");
scanf("%d",&n);
if(n==2)
break;
}
if(flag==3)
break;

}
printfNodes(nodeHeads,0);
printfNodes(nodeHeads,1);
printfNodes(nodeHeads,2);

return0;
}


voidprintfNodes(NODE**nodeHeads,intflag)//打印链表
{
NODE*nhSave=NULL;
if(nodeHeads[flag])
{

switch(flag)
{
case0:
nhSave=nodeHeads[flag];
printf("输入的在职学生信息: ");
while(nhSave->nexteStu)
{
printf("----身份证:%s ----学号:%s ----姓名:%s ----专业:%s ----入学时间:%04d-%02d-%02d ----职称:%s ----所在系:%s ----工资:%.2f ",
nhSave->nexteStu->id,nhSave->nexteStu->on,nhSave->nexteStu->name,nhSave->nexteStu->subject,
nhSave->nexteStu->esTime.tm_year+1900,nhSave->nexteStu->esTime.tm_mon,nhSave->nexteStu->esTime.tm_mday,
nhSave->nexteStu->title,nhSave->nexteStu->faculty,nhSave->nexteStu->wages);
nhSave=nhSave->nexteStu;
}

break;
case1:
nhSave=nodeHeads[flag];
printf("输入的普通学生信息: ");
while(nhSave->nextStu)
{
printf("----身份证:%s ----学号:%s ----姓名:%s ----专业:%s ----入学时间:%04d-%02d-%02d ",
nhSave->nextStu->id,nhSave->nextStu->on,nhSave->nextStu->name,nhSave->nextStu->subject,
nhSave->nextStu->esTime.tm_year+1900,nhSave->nextStu->esTime.tm_mon,nhSave->nextStu->esTime.tm_mday);
nhSave=nhSave->nextStu;
}
break;
case2:
nhSave=nodeHeads[flag];
printf("输入的教师信息: ");
while(nhSave->nextTea)
{
printf("----身份证:%s ----姓名:%s ----职称:%s ----所在系:%s ----工资:%.2f ",
nhSave->nextTea->id,nhSave->nextTea->name,
nhSave->nextTea->title,nhSave->nextTea->faculty,nhSave->nextTea->wages);
nhSave=nhSave->nextTea;
}
break;
}
}

printf(" ");
}

voidnewNode(NODE**nodeHeads,NODE**nodeTails,intflag)//增加节点
{
NODE*nHead=nodeHeads[flag],*nTail=nodeTails[flag],*nodeNew=NULL;

nodeNew=(NODE*)malloc(sizeof(NODE));
nodeNew->flag=flag;
nodeNew->nextStu=NULL;
nodeNew->nexteStu=NULL;
nodeNew->nextTea=NULL;
switch(flag)
{
case0:
printf("在职学生信息录入: ");
break;
case1:
printf("普通学生信息录入: ");
break;
case2:
printf("教师信息录入: ");
break;
}


printf("请输入身份证:");
scanf("%s",nodeNew->id);
printf("请输入姓名:");
scanf("%s",nodeNew->name);

switch(flag)
{
case0:
printf("请输入职称:");
scanf("%s",nodeNew->title);
printf("请输入所在系:");
scanf("%s",nodeNew->faculty);
printf("请输入工资:");
scanf("%f",&nodeNew->wages);
case1:
printf("请输入学号:");
scanf("%s",nodeNew->on);
printf("请输入专业:");
scanf("%s",nodeNew->subject);
printf("请输入入学时间(YY-MM-DD):");
scanf("%4d-%02d-%02d",&nodeNew->esTime.tm_year,&nodeNew->esTime.tm_mon,&nodeNew->esTime.tm_mday);
nodeNew->esTime.tm_year-=1900;
break;
case2:
printf("请输入职称:");
scanf("%s",nodeNew->title);
printf("请输入所在系:");
scanf("%s",nodeNew->faculty);
printf("请输入工资:");
scanf("%f",&nodeNew->wages);
break;
}

if(nHead==NULL)
{
nHead=(NODE*)malloc(sizeof(NODE));
meError(nHead);
nHead->flag=-1;
nHead->nextStu=NULL;
nHead->nexteStu=NULL;
nHead->nextTea=NULL;
}
if((flag==0&&nHead->nexteStu==NULL)||(flag==1&&nHead->nextStu==NULL)||(flag==2&&nHead->nextTea==NULL))
switch(flag)
{
case0:nHead->nexteStu=nodeNew;break;
case1:nHead->nextStu=nodeNew;break;
case2:nHead->nextTea=nodeNew;break;
}
elseif((flag==0&&nHead->nexteStu!=NULL)||(flag==1&&nHead->nextStu!=NULL)||(flag==2&&nHead->nextTea!=NULL))
switch(flag)
{
case0:nTail->nexteStu=nodeNew;break;
case1:nTail->nextStu=nodeNew;break;
case2:nTail->nextTea=nodeNew;break;
}
nTail=nodeNew;

nodeHeads[flag]=nHead;
nodeTails[flag]=nTail;
}
voidmeError(void*p)//内存申请失败
{
if(p==NULL)
{
printf(" 异常:内存申请失败!回车结束程序! ");
while(getch()!=' ');
exit(0);
}
}

② 社团管理信息系统(c语言程序设计)

五分太低了,一般人是不会写的,写这样一个系统花的时间不会少的...

③ c语言学生信息管理系统代码

代码如下:

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
typedef struct examinee //考生信息结构
{ char examno[20]; //准考证号
char name[10]; //姓名
char sex[4]; //性别
short age; //年龄
char examtype[10]; //报考科目
}ElemType;

typedef struct Node //定义链表结点
{
ElemType data; //数据域
struct Node *next; //指针域
}Node,*List,*position;

List make_empty( List L ); //创建一个带头结点的空表
int is_empty( List L ); //测试链表是否是空表
int is_last( position p, List L ); //测试当前位置是否是表尾
position make_node( position p,int n ); //创建结点并输入考生信息
void put_information( position p ); //是否输出该考生信息
void put_name_information( List L ); //输出姓名为xx的考生信息
int put_pos_information( position p ); //输出该地址考生信息
void link_to_tail( List L, position p ); //将结点连接到表尾
int ciculation_make(); //循环创建考生信息
int judge_put_all(); //是否输出所有考生信息
void put_all(List L); //输出所有考生信息。
position find( List L ); //查找第一个姓名为xx的元素并返回位置
position find_previous( List L ); //查找第一个姓名为xx的元素并返回该元素直接前驱的位置
//int judge_delete_val(); //询问是否删除考生数据
int delete_val( List L ); //删除指定考生信息并输出其信息
void menu(List L); //菜单函数
List L;
//position p;

int
main( void )
{
List L = NULL; //定义头结点指针
position p = NULL; //定义表工作指针
L = make_empty( L ); //创建空表
printf(" ★★考生报名管理程序★★ ---------------------------------------- ");
menu(L);
return 0;
}

//创建一个带头结点的空表
List
make_empty( List L)
{
L = ( List ) malloc (sizeof( Node ));
if(NULL == L)
{
printf("内存分配失败");
exit( 1 );
}
L->next = NULL;
//printf("空表创建成功。 ");
return L;
}

//创建结点并输入考生信息
position
make_node( position p ,int n)
{
if(n) //n为1是创建结点并输入,n为0是修改
{
p = ( position ) malloc ( sizeof ( Node ));
p->next = NULL ;
}
printf("请输入考生准考证号:");
gets(p->data.examno);
printf("请输入考生姓名:");
gets(p->data.name);
do
{
printf("请输入考生性别,只能输入“男”或者“女”:");
gets(p->data.sex);
}
while( 0 != strcmp( p->data.sex, "男" ) && 0 != strcmp( p->data.sex, "女" )); //判断性别是否有误
printf("请输入考生年龄:");
scanf("%hd",&p->data.age);
getchar(); //如果把这句删掉,就“无法执行”下面的报考类别
/*下面的do while用来判断报考类别是否输入有误*/
do
{
printf("请输入报考类别,只能输入“数学”或“英语”或者“数据结构”:");
gets(p->data.examtype);
}
while( 0 != strcmp( "英语", p->data.examtype ) && 0 != strcmp( "数学", p->data.examtype ) && 0 != strcmp( "数据结构", p->data.examtype ));
if(n)
{
printf("报名成功 ");
}
else
{
printf("修改成功 ");
}
return p;
}

//前插法;
void
link_to_tail( List L, position p)
{
p->next = L->next;
L->next = p;
}

//查找第一个姓名为xx的元素并返回位置
position
find( List L )
{
position p = L->next;
char name[10];
printf("请输入你要查找的考生姓名:");
gets(name);
while( p != NULL && 0 != strcmp( p->data.name , name))
{
p=p->next;
}
return p;
}

//测试链表是否是空表
int
is_empty( List L )
{
return L->next == NULL;
}

//测试当前位置是否是表尾
int
is_last( position p, List L )
{
return p->next == NULL;
}

//输出姓名为xx的考生信息
void
put_name_information( List L )
{
position p = find(L);
if(p!=NULL)
{
printf("您要查找的考生信息: ");
printf("准考证号:%s 姓名:%s 性别:%s 年龄:%hd 报考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
}
else
{
printf("没有您要找的学生。 ");
}

}

//循环创建考生信息
int
ciculation_make()
{
int n = 2;
do
{
printf("是否继续创建考生信息?是请输入“1”,不是请输入“0”:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
return n;
}

//是否输出考生信息
void
put_information( position p )
{
int n=2;
do
{
printf("是否输出该考生信息?是请输入“1”,不是请输入“0”:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
if(n)
{
printf("准考证号:%s 姓名:%s 性别:%s 年龄:%hd 报考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
}
}


//是否输出所有考生信息
int
judge_put_all()
{
int n = 2;
do
{
printf("是否输出所有考生信息?是请输入“1”,不是请输入“0”:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
return n;
}

//输出所有考生信息
void
put_all(List L)
{
if(L->next == NULL)
{
printf("现无考生报名! ");
}
else
{
position p=L->next;
while( p != NULL )
{
printf("准考证号:%s 姓名:%s 性别:%s 年龄:%hd 报考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
p=p->next;
}
}
//getchar();

}

//询问是否删除考生数据
int
judge_delete_val()
{
int n = 2;

do
{
printf("是否要删除某个考生数据?是请输入“1”,不是输入“0”:");
scanf("%d",&n);
getchar();
}
while( n != 0 && n != 1);
return n;
}

//查找第一个姓名为xx的元素并返回其直接前驱的位置
position
find_previous( List L )
{
position q = L;
position p = L->next;
char name[10];
printf("请输入你要查找的考生姓名:");
gets(name);
while( p != NULL && 0 != strcmp( p->data.name , name))
{
q=p;
p=p->next;
}
if( p != NULL )
{
return q;
}
else
return p;
}

//删除指定考生信息并输出其信息
int
delete_val(List L)
{
int n=2;
position q=NULL;
position p=find_previous( L ); //返回考生信息地址
if( NULL == p )
{
printf("你要删除的考生不存在 ");
return 0;
}
else
{
q = p->next;
p->next = q->next;
printf("删除成功。 删除的考生信息为: ");
printf("准考证号:%s 姓名:%s 性别:%s 年龄:%hd 报考科目:%s ",q->data.examno,q->data.name,q->data.sex,q->data.age,q->data.examtype);
free(q);
return 1;
}

}

//输出该地址考试信息
int
put_pos_information( position p )
{
if(p != NULL )
{
printf("准考证号:%s 姓名:%s 性别:%s 年龄:%hd 报考科目:%s ",p->data.examno,p->data.name,p->data.sex,p->data.age,p->data.examtype);
return 1;
}
else
{
printf("没有您要查找的学生。");
return 0;
}
}
//菜单函数
void
menu(List L)
{
printf(" a. 考生报名入口 ");
printf(" b. 查询考生信息 ");
printf(" c. 修改考生信息 ");
printf(" d. 删除考生信息 ");
printf(" e. 全部考生信息 ");
printf(" f. 程序作者信息 ");
printf(" g. 退出程序 ");
char n='h';

while(n != 'g')
{
do //确定正确输入
{
printf("请通过字母序号选择功能:");
n = getchar();
getchar();
putchar(' ');
if( n < 'a' || n > 'g')
{
printf("错误的字母序号。 ");
}
}
while( n < 'a' || n > 'g' );
switch (n)
{
case 'a':
{
printf("请输入报名考生信息: ");
position p = make_node( p, 1 ); //创建新结点
link_to_tail( L, p ); //将新结点连接到表上
put_information( p ); //是否输出该考生信息
putchar(' ');
}
break;

case 'b':
{
put_name_information( L );
putchar(' ');
}
break;

case 'c':
{
int n=0;
position p = NULL;
printf("您正在进行修改操作。 ");
p = find(L);
n = put_pos_information( p );
if(n)
{
make_node( p , 0 );
put_information( p ); //是否输出该考生信息
}
putchar(' ');
}
break;

case 'd':
{
printf("您正在进行删除操作。 ");
delete_val( L );
putchar(' ');
}
break;

case 'e':
{
put_all( L );
putchar(' ');
}
break;

case 'f':
{
printf(" 修改日期 版本号 修改人 修改内容 ");
printf(" -------------------------------------------------------- ");
printf(" 2018.6.19 v2.0 陈百川 增加主菜单 ");
printf(" 2018.6.23 v3.0 陈百川 增加生成文件功能 ");
printf(" 该版本号为v2.0 ");
putchar(' ');
}
break;

default:
break;
}
}
printf(" 感谢本次使用,祝您生活愉快。");
getch();
}

(3)c语言社团管理代码扩展阅读:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1]目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

参考资料:

网络——C语言

④ c语言图书管理系统代码,一定要能运行!!急!!详细要求在补充里~~,谢谢啊!!!

#include "stdio.h"
#include<graphics.h>
#include "conio.h"
#include<stdlib.h>
#include<string.h>

void main()
{void adm1(),adm2(),build(),huan(),borrow(),dele();
adm1();

}

void adm1()
{ FILE *fp,*p ;
char adp[20],password[20];
int i,n=0;
textbackground(2);
clrscr();
gotoxy(25,12);
fp=fopen("pass","r");
if(fp==NULL) { printf("no exit ");getch();exit(0);}
printf("input password:");
for(;;)
{

window(42,12,53,12);
textbackground(0);
clrscr();
gets(adp);
for(i=0;adp[i]!='\0';i++);
fgets(password,i+1,fp);
gotoxy(55,12);
if(strcmp(password,adp)==0)
{ window(55,12,70,12);clrscr();cprintf("YES");getch();adm2();getch();exit(0);}
else{ n++;
window(55,12,60,12);clrscr();gotoxy(55,12);cprintf("error");
for(i=0;i<30;i++) delay(8000);
if(n==2)
{ window(55,12,70,12);clrscr();gotoxy(55,12);cprintf("once
again");for(i=0;i<=30;i++) delay(8000);}
if(n==3)
{ window(55,12,70,12);clrscr();gotoxy(55,12);cprintf("3 second
out");for(i=0;i<=30;i++) { delay(8000);}
exit(0);
}
}
fclose(fp);clrscr();

}
}
void adm2()
{ char a;
window(1,1,80,25);
clrscr();
for(;;)
{ clrscr();
gotoxy(30,8);printf("built a new user (B)");
gotoxy(30,10);printf("return book (R)");
gotoxy(30,12);printf("borrow books (J)");
gotoxy(30,14);printf("delete user (D)");
a=getch();
if(a=='b') build();
if(a=='r') huan();
if(a=='j') borrow();
if(a=='d') dele();
else continue;

}

}

void build()
{ FILE *f,*p;
char id[20],name[20],sex[2],age[3],grad[50];
window(1,1,80,25);
clrscr();
printf("ID number:");
scanf("%s",id);
printf("name:");
scanf("%s",name);
printf("sex:");
scanf("%s",sex);
printf("grad:");
scanf("%s",grad);
p=fopen(id,"w+");
if(p==NULL) { printf("can't build that user");getch();adm2();}

fprintf(p,"%s ",name);
fprintf(p,"%s ",id);
fprintf(p,"%s ",sex);
fprintf(p,"%s ",grad);
printf("bulid success");
getch();
fclose(p);
}

void huan()
{
FILE *fp,*p,*f;
char id[20],a[5][50],name[20],c;
int i=0,m,k; clrscr();
printf("input ID number:");
scanf("%s",id);
p=fopen(id,"r");
if(p==NULL) { printf("error");getch();fclose(p);exit(0);}
fscanf(p,"%s",name);
fclose(p);
fp=fopen(name,"r");
do{ fscanf(fp,"%s",a[i++]); }while(!feof(fp));

for(k=0;k<i-1;k++) printf("\nbook %d: %s",k+1,a[k]);
fclose(fp);
f=fopen(name,"w+");
for(;;)
{
printf("\n\npress the book number that you want to return. \n
\nPress 6 if you want to return all. \n\npress 7 to cancle.\n");
scanf("%d",&m);
if(m==7) { for(k=0;k<i-1;k++)
{
fprintf(f,"%s\n",a[k]);
}
fclose(f);
adm2();
}
if(m==6) remove(name);
if(m<6)
for(k=0;k<i-1;k++)
{ if(k!=m-1)
fprintf(f,"%s\n",a[k]);
}
printf("book %d has returned.",m);
printf("\ncontinue? (Y/N)");
c=getch();
if(c=='y') continue;
if(c=='n') { fclose(f);adm2(); }
}
}

void borrow()
{ FILE *f,*m,*p;
char id[20],book[5][50],name[20],c;
int i=0,n=0,k;
window(1,1,80,25);clrscr();
printf("please input the user's ID:");
scanf("%s",id);
m=fopen(id,"r");
if(m==NULL) { printf("user no exit"); getch();fclose(m);adm2();}
fscanf(m,"%s",name);
fclose(m);
p=fopen(name,"r");
if(p==NULL);
else
{ while(!feof(p))
{
fscanf(p,"%s",book[i]);
i++;
}
i--;
for(k=0;k<i;k++) printf("\nbook %d :%s",k+1,book[k]);
}
fclose(p);
f=fopen(name,"w");
printf("\nhow many book do you want to borrow?:");
do{printf("\ninput:");scanf("%d",&n); }while(i+n>=6);
for(k=i;k<i+n;k++)
{ printf("\nbook %d :",k+1);
scanf("%s",book[k]);
}
for(k=0;k<i+n;k++) fprintf(f,"%s\n",book[k]);
fputc('\0',f);
printf("success");
fclose(f);

}

void dele()
{ FILE *fp,*f;
char id[20],a[4][20],c,b[5][50];
int i=0,j=0,k;
window(1,1,80,25);clrscr();
printf("Input ID number:");
scanf("%s",id);
fp=fopen(id,"r");
if(fp==NULL) { printf("\nuser isn't exit");getch();
fclose(fp);adm2();}
else while(!feof(fp))
{ fscanf(fp,"%s",a[i++]);}
printf("\nname: %s",a[0]);
printf("\nID: %s",a[1]);
printf("\nsex: %s",a[2]);
printf("\ngrad: %s",a[3]);
f=fopen(a[0],"r");
if(f==NULL);
else {
while(!feof(f))
{ fscanf(f,"%s",b[j++]);}
for(k=0;k<j-1;k++) printf("\nbook %d: %s",k+1,b[k]);
}
printf("\nDo you want to delete? (Y/N): ");
c=getch();
fclose(fp);
fclose(f);
if(c=='y')
{ remove(id);remove(a[0]);printf("\nsuccess");getch();adm2();}
if(c=='n') adm2();

⑤ c语言学生管理系统,请把每行代码解释清楚,谢谢了

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#define LEN sizeof(struct student)
#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"
#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
struct student/*定义学生成绩结构体*/
{ int num;/*学号*/
char name[15];/*姓名*/
double elec;/*选修课*/
double expe;/*实验课*/
double requ;/*必修课*/
double sum;/*总分*/
};
struct student stu[50];/*定义结构体数组*/
void in();/*录入学生成绩信息*/
void show();/*显示学生信息*/
void order();/*按总分排序*/
void del();/*删除学生成绩信息*/
void modify();/*修改学生成绩信息*/
void menu();/*主菜单*/
void insert();/*插入学生信息*/
void total();/*计算总人数*/
void search();/*查找学生信息*/
void main()/*主函数*/
{ int n;
menu();
scanf("%d",&n);/*输入选择功能的编号*/
while(n)
{ switch(n)
{ case 1: in();break;
case 2: search();break;
case 3: del();break;
case 4: modify();break;
case 5: insert();break;
case 6: order();break;
case 7: total();break;
case 8: show();break;
default:break;
}
getch();
menu();/*执行完功能再次显示菜单界面*/
scanf("%d",&n);
}
}

void in()/*录入学生信息*/
{ int i,m=0;/*m是记录的条数*/
char ch[2];
FILE *fp;/*定义文件指针*/
if((fp=fopen("data.txt","a+"))==NULL)/*打开指定文件*/
{
printf("can not open\n");
return;
}
while(!feof(fp))
{
if(fread(&stu[m] ,LEN,1,fp)==1)
m++;/*统计当前记录条数*/
}
fclose(fp);
if(m==0)
printf("No record!\n");
else
{
system("cls");
show();/*调用show函数,显示原有信息*/
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("can not open\n");
return;
}
for(i=0;i<m;i++)
fwrite(&stu[i] ,LEN,1,fp);/*向指定的磁盘文件写入信息*/

printf("please input(y/n):");
scanf("%s",ch);
while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要录入新信息*/
{
printf("number:");
scanf("%d",&stu[m].num);/*输入学生学号*/
for(i=0;i<m;i++)
if(stu[i].num==stu[m].num)
{
printf("the number is existing,press any to continue!");
getch();
fclose(fp);
return;
}
printf("name:");
scanf("%s",stu[m].name);/*输入学生姓名*/
printf("elective:");
scanf("%lf",&stu[m].elec);/*输入选修课成绩*/
printf("experiment:");
scanf("%lf",&stu[m].expe);/*输入实验课成绩*/
printf("required course:");
scanf("%lf",&stu[m].requ);/*输入必修课成绩*/
stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ;/*计算出总成绩*/
if(fwrite(&stu[m],LEN,1,fp)!=1)/*将新录入的信息写入指定的磁盘文件*/
{
printf("can not save!");
getch();
}
else
{
printf("%s saved!\n",stu[m].name);
m++;
}
printf("continue?(y/n):");/*询问是否继续*/
scanf("%s",ch);
}
fclose(fp);
printf("OK!\n");
}

void show()
{ FILE *fp;
int i,m=0;
fp=fopen("data.txt","rb");
while(!feof(fp))
{
if(fread(&stu[m] ,LEN,1,fp)==1)
m++;
}
fclose(fp);
printf("number name elective experiment required sum\t\n");
for(i=0;i<m;i++)
{
printf(FORMAT,DATA);/*将信息按指定格式打印*/
}
}

void menu()/*自定义函数实现菜单功能*/
{
system("cls");
printf("\n\n\n\n\n");
printf("\t\t|---------------------STUDENT-------------------|\n");
printf("\t\t|\t 0. exit |\n");
printf("\t\t|\t 1. input record |\n");
printf("\t\t|\t 2. search record |\n");
printf("\t\t|\t 3. delete record |\n");
printf("\t\t|\t 4. modify record |\n");
printf("\t\t|\t 5. insert record |\n");
printf("\t\t|\t 6. order |\n");
printf("\t\t|\t 7. number |\n");
printf("\t\t|\t 8. show |\n");
printf("\t\t|-----------------------------------------------|\n\n");
printf("\t\t\tchoose(0-8):");
}

void order()/*自定义排序函数*/
{ FILE *fp;
struct student t;
int i=0,j=0,m=0;
if((fp=fopen("data.txt","r+"))==NULL)
{
printf("can not open!\n");
return;
}
while(!feof(fp))
if(fread(&stu[m] ,LEN,1,fp)==1)
m++;
fclose(fp);
if(m==0)
{
printf("no record!\n");
return;
}
if((fp=fopen("data.txt","wb"))==NULL)
{
printf("can not open\n");
return;}
for(i=0;i<m-1;i++)
for(j=i+1;j<m;j++)/*双重循环实现成绩比较并交换*/
if(stu[i].sum<stu[j].sum)
{ t=stu[i];stu[i]=stu[j];stu[j]=t;}
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not open\n");return;}
for(i=0;i<m;i++)/*将重新排好序的内容重新写入指定的磁盘文件中*/
if(fwrite(&stu[i] ,LEN,1,fp)!=1)
{
printf("%s can not save!\n");
getch();
}
fclose(fp);
printf("save successfully\n");
}
void del()/*自定义删除函数*/
{FILE *fp;
int snum,i,j,m=0;
char ch[2];
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not open\n");return;}
while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++;
fclose(fp);
if(m==0)
{
printf("no record!\n");
return;
}
printf("please input the number:");
scanf("%d",&snum);
for(i=0;i<m;i++)
if(snum==stu[i].num)
break;
printf("find the student,delete?(y/n)");
scanf("%s",ch);
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/
for(j=i;j<m;j++)
stu[j]=stu[j+1];/*将后一个记录移到前一个记录的位置*/
m--;/*记录的总个数减1*/
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not open\n");return;}
for(j=0;j<m;j++)/*将更改后的记录重新写入指定的磁盘文件中*/
if(fwrite(&stu[j] ,LEN,1,fp)!=1)
{ printf("can not save!\n");
getch();}
fclose(fp);
printf("delete successfully!\n");
}

void search()/*自定义查找函数*/
{ FILE *fp;
int snum,i,m=0;
char ch[2];
if((fp=fopen("data.txt","rb"))==NULL)
{ printf("can not open\n");return;}
while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++;
fclose(fp);
if(m==0) {printf("no record!\n");return;}
printf("please input the number:");
scanf("%d",&snum);
for(i=0;i<m;i++)
if(snum==stu[i].num)/*查找输入的学号是否在记录中*/
{ printf("find the student,show?(y/n)");
scanf("%s",ch);
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{
printf("number name elective experiment required sum\t\n");
printf(FORMAT,DATA);/*将查找出的结果按指定格式输出*/
break;
}
}
if(i==m) printf("can not find the student!\n");/*未找到要查找的信息*/
}

void modify()/*自定义修改函数*/
{ FILE *fp;
int i,j,m=0,snum;
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not open\n");return;}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1) m++;
if(m==0) {printf("no record!\n");
fclose(fp);
return;
}
show();
printf("please input the number of the student which do you want to modify!\n");
printf("modify number:");
scanf("%d",&snum);
for(i=0;i<m;i++)
if(snum==stu[i].num)/*检索记录中是否有要修改的信息*/
break;
printf("find the student!you can modify!\n");

printf("name:");
scanf("%s",stu[i].name);/*输入名字*/
printf("elective:");
scanf("%lf",&stu[i].elec);/*输入选修课成绩*/
printf("experiment:");
scanf("%lf",&stu[i].expe);/*输入实验课成绩*/
printf("required course:");
scanf("%lf",&stu[i].requ);/*输入必修课成绩*/
printf("modify successful!");
stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not open\n");return;}
for(j=0;j<m;j++)/*将新修改的信息写入指定的磁盘文件中*/
if(fwrite(&stu[j] ,LEN,1,fp)!=1)
{ printf("can not save!"); getch(); }
fclose(fp);
}

void insert()/*自定义插入函数*/
{ FILE *fp;
int i,j,k,m=0,snum;
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not open\n");return;}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1) m++;
if(m==0) {printf("no record!\n");
fclose(fp);
return;
}
printf("please input position where do you want to insert!(input the number)\n");
scanf("%d",&snum);/*输入要插入的位置*/
for(i=0;i<m;i++)
if(snum==stu[i].num)
break;
for(j=m-1;j>i;j--)
stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/
printf("now please input the new information.\n");
printf("number:");
scanf("%d",&stu[i+1].num);
for(k=0;k<m;k++)
if(stu[k].num==stu[i+1].num)
{
printf("the number is existing,press any to continue!");
getch();
fclose(fp);
return;
}
printf("name:");
scanf("%s",stu[i+1].name);
printf("elective:");
scanf("%lf",&stu[i+1].elec);
printf("experiment:");
scanf("%lf",&stu[i+1].expe);
printf("required course:");
scanf("%lf",&stu[i+1].requ);
stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ;
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("can not open\n");return;}
for(k=0;k<=m;k++)
if(fwrite(&stu[k] ,LEN,1,fp)!=1)/*将修改后的记录写入磁盘文件中*/
{ printf("can not save!"); getch(); }
fclose(fp);
}

void total()
{ FILE *fp;
int m=0;
if((fp=fopen("data.txt","r+"))==NULL)
{ printf("can not open\n");return;}
while(!feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;/*统计记录个数即学生个数*/
if(m==0) {printf("no record!\n");fclose(fp);return;}
printf("the class are %d students!\n",m);/*将统计的个数输出*/
fclose(fp);
}


⑥ C语言!!!学生社团管理程序!!!追加分哦~~~

课程设计还是自己下吧,那样你会学到很多的

⑦ 同学录管理C语言程序代码!!!!!跪求啊!!

用链表写了一个简单的程序
可以添加,删除。。按照学号查找。。

#include<string.h>
#define NULL 0
#define TYPE struct xinxi
#define LEN sizeof(struct xinxi)

struct xinxi /*定义一个名为“xinxi”的结构型,共含5个成员*/
{
int xuehao; /*学号*/
char xingming[6]; /*姓名*/
char xingbie; /*性别*/
int nianling; /*年龄*/
float chengji[5]; /*5科成绩*/
char mima[10]; /*密码口令*/
struct xinxi *next; /*指针*/
};

TYPE *creat(int n)
{
struct xinxi *head,*pf,*pb;
int i;
for(i=0;i<n;i++)
{
pb=(TYPE *)malloc(LEN);
printf("\n输入学号:");
scanf("%d",&pb->xuehao);
printf("\n输入姓名:");
scanf("%s",&pb->xingming);
printf("\n输入年龄:");
scanf("%d",&pb->nianling);
printf("\n输入性别,用‘f’‘m’表示:");
scanf("%c",&pb->xingbie);
if(i==0)
pf=head=pb;
else
pf->next=pb;
pb->next=NULL;
pf=pb;
}
return(head);
}

TYPE * delete(TYPE *head,int xuehao)
{
TYPE *pf,*pb;
if(head==NULL) /*如为空表, 输出提示信息*/
{
printf("\n没有信息!\n");
goto end;
}
pb=head;
while (pb->xuehao!=xuehao&&pb->next!=NULL) /*当不是要删除的结点,而且也不是最后一个结点时,继续循环*/
{
pf=pb;
pb=pb->next; /*pf指向当前结点,pb指向下一结点*/
}
if(pb->xuehao==xuehao)
{
if(pb==head) /*如找到被删结点,且为第一结点,则使head指向第二个结点*/
head=pb->next;
else
pf->next=pb->next; /*否则使pf所指结点的指针指向下一结点*/
free(pb);
printf("找到信息,已删除!\n");
}
else
printf("没找到信息!\n");
end:
return head;
}

TYPE * insert(TYPE * head,TYPE * pi)
{
TYPE *pb ,*pf;
pb=head;
if(head==NULL) /*空表插入*/
{
head=pi;
pi->next=NULL;
}
else
{
while((pi->xuehao>pb->xuehao)&&(pb->next!=NULL)) /*找插入位置*/
{
pf=pb;
pb=pb->next;
}
if(pi->xuehao<=pb->xuehao)
{
if(head==pb)
head=pi; /*在第一结点之前插入*/
else
pf->next=pi; /*在其它位置插入*/
pi->next=pb;
}
else
{
pb->next=pi; /*在表末插入*/
pi->next=NULL;
}
}
return head;
}

void print(TYPE * head)
{
printf("学号\t\t姓名\t\t年龄\t\t性别\n");
while(head!=NULL)
{
printf("%d\t\t%s\t\t%\t\t%c\n",head->xuehao,head->xingming,head->nianling,head->xingbie);
head=head->next;
}
}

main()
{
TYPE *head,*pnum;
int n,xuehao;
printf("输入人员数: ");
scanf("%d",&n);
head=creat(n);
print(head);
printf("输入要删除人的学号: ");
scanf("%d",&xuehao);
head=delete(head,xuehao);
print(head);
printf("输入要加入的数据: ");
pnum=(TYPE *)malloc(LEN);
printf("\n输入学号:");
scanf("%d",&pnum->xuehao);
printf("\n输入姓名:");
scanf("%s",&pnum->xingming);
printf("\n输入年龄:");
scanf("%d",&pnum->nianling);
printf("\n输入性别,用‘f’‘m’表示:");
scanf("%c",&pb->xingbie);
head=insert(head,pnum);
print(head);
}

⑧ c语言编程,求帮助!!!

给你个社团管理的可以吗?要考试了的确没有时间,自己改下。

#include<stdio.h>
#include<stdlib.h>
struct comunity
{
char name[20];
char major[20];
char studynum[20];
char phonenum[20];
int length;
comunity *next;
};
comunity *head=(comunity *)malloc(sizeof(comunity));

void initial(comunity *head)//初始化
{
/*head->next=NULL;
(head->studynum)[0]=NULL;
(head->major)[0]=NULL;
(head->name)[0]=NULL;
(head->phonenum)[0] =NULL;*/
head->next =NULL;
}

void creat()//创建或者添加
{
char ch1;
//char ch2;
if((head->next)==NULL){

struct comunity *q;

q=(comunity *)malloc(sizeof(comunity));

initial(q);
q=head;
do{
printf("是否继续创建,'y' or 'n'\n");
getchar();
scanf("%c",&ch1);
if(ch1=='y'){
comunity *temp=(comunity *)malloc(sizeof(comunity));
printf("请你依次输入姓名 专业 学号 电话号码\n");
scanf("%s%s%s%s",temp->name,temp->major,temp->studynum ,temp->phonenum );
q->next=temp;
q=temp ;

}
else
break;
}
while(1);
q->next =NULL;

//free(q);
}
else{
printf("该数据内容已被初始化\n");
//while(1){
//printf("增加的为:姓名 专业 学号 电话号码\n");
//comunity *temp=(comunity *)malloc(sizeof(comunity));
//q=temp;
//scanf("%s%s%s%s",temp->name,temp->major,temp->studynum ,temp->phonenum);
//printf("是否继续,'y' or 'n'");
//scanf("%c",&ch2);
//if(ch2=='n')
// break;
// }
comunity *p;
p=head;
while(p->next!=NULL)
{
p=p->next ;

}
//while(1){
printf("增加的为:姓名 专业 学号 电话号码\n");
comunity *corss=(comunity *)malloc(sizeof(comunity));
scanf("%s%s%s%s",corss->name,corss->major,corss->studynum ,corss->phonenum);
p->next=corss;
p->next->next =NULL;
//}
}

}
void showall()//显示社团里的人得所有信息
{
if(head->next ==NULL){
printf("没有输入数据\n");
}
else {
comunity *q;//=(comunity *)malloc(sizeof(comunity));
//initial(q);
q=head ;
while( q!=NULL&&(q->next)!=NULL)
{

printf("%s %s %s %s",q->next->name ,q->next->major,q->next->studynum,q->next->phonenum);
printf("\n");
q=q->next ;
}
}

}
/*int compare(char a[],char b[])//判断两个字符串是否相等
{
int i;
for(i=0,a[i]!='\n';i++)
if(a[i]=b[i])
re
}*/

int checkeq(char a[],char b[])//判断字符串是否相等
{
int i;
for(i=0;a[i]!=NULL;i++)
{
if(a[i]!=b[i])
return 0;
}
if(b[i]!=NULL)
return 0;

return 1;
}
/*
bool checkeq(char a[],char b[])
{
int i;
for( i=0;b[i]!='\0';i++){
if(a[i]!=b[i]){
return false;
}
}
if(a[i]!='\0'){
return false;
}
return true;
}
*/

void find()//查找社团中是否存在此人
{
char finder[20];
comunity * p;

if(head->next==NULL)
printf("还没有输入数据\n");
else{

p=head;
printf("请你输入你要查找的数据\n");
getchar();
scanf("%s",finder);

while(checkeq(p->name,finder)==0 && p->next!=NULL)
{
p=p->next;
}
if(checkeq(p->name,finder)){

printf("找到了这个人%s %s %s %s\n",p->name,p->major,p->studynum,p->phonenum);

//else
// printf("找到了这个人%s %s %s %s\n",p->name,p->major,p->studynum,p->phonenum");
}
else
printf("社团中没有这个人\n");
}

}

void disappear()//删除成员
{
comunity *p,*q;

if(head->next==NULL)
printf("还没有输入数据\n");
else{
char finder[20];
p=head;
printf("请你输入你要删除的成员\n");
getchar();
scanf("%s",finder);

while(checkeq(p->name,finder)==0&&(p->next)!=NULL)
{
q=p;
p=p->next;
}
if(p==NULL){
printf("社团中没有这个人\n");
}
else{
q->next=p->next ;
free(p);
printf("删除完成\n");
}

}

}

void change()
{
comunity *p;
char changer[20];
if(head->next==NULL)
printf("还没有输入数据\n");
printf("请你输入你要更改的数据\n");
scanf("%s",changer);
p=head;
while(checkeq(p->name,changer)==0 && p->next!=NULL)
{
p=p->next;
}
if(checkeq(p->name,changer)==1 )
{
printf("找到了这个人%s %s %s %s\n",p->name,p->major,p->studynum,p->phonenum);
printf("请你将更改好了的数据输入:姓名 专业 学号 电话号码\n");
scanf("%s%s%s%s",p->name,p->major,p->studynum ,p->phonenum );
printf("修改完成\n");
}
else
printf("你要修改的数据无法找到\n");
}

void main()
{
initial(head);
int ch;
do
{
printf("这是高校社团管理系统\n");
printf("有以下几个功能,供你选择:1:输入社团信息;2:删除社团成员;3:查找社团成员;4:更改社团成员信息;5:输出社团信息;0:退出\n");
printf("请你选择:");
scanf("%d",&ch);
switch(ch)
{
case 1:creat(); break;
case 2:disappear();break;
case 3:find(); break;
case 4:change();break;
case 0: exit(0);
case 5:showall();break;
default: printf("输入错误,请你从新输入\n");
}

}
while(1);
}

⑨ 大一学生用c语言编写社团管理系统

大一真悲剧咯,到学期末了把,要交作业咯

⑩ C语言用户管理系统代码谢谢了,大神帮忙啊

#include <stdio.h> #include <string.h> #include <windows.h> struct student { long int num; char name[20]; int age; char sex[4]; char b[30]; char p[15]; }; int n=0; struct student stu[100]; struct student *p; void lr(); void ll(); void cx(); void xg(); void sc(); void main() { int z; printf("+---------------------------+\n"); printf("| 欢迎使用学生信息管理系统 |\n"); printf("+---------------------------+\n"); printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n"); do { printf("\n\t\t\t--------------------------------\n"); printf("\t\t\t+ 主菜单 |\n"); printf("\t\t\t--------------------------------\n"); printf("\t\t\t+ [1]----录入学生信息 |\n"); printf("\t\t\t+ [2]----浏览学生信息 |\n"); printf("\t\t\t+ [3]----查询学生信息 |\n"); printf("\t\t\t+ [4]----删除学生信息 |\n"); printf("\t\t\t+ [5]----修改学生信息 |\n"); printf("\t\t\t+ [0]----退出系统 |\n"); printf("\t\t\t--------------------------------\n"); printf("请输入您的选择:"); scanf("%d", &z); system("color 2f"); switch(z) { case 0 : break; case 1 :lr();break; case 2 :ll();break; case 3 :cx();break; case 4 :sc();break; case 5 :xg();break; default:printf("\n无效选项!"); } } while(z!= 0); } void lr()/*录入函数*/ { int y; if(n==0) p=stu; do { printf("--------------------\n"); printf("请输入学生的学号:"); scanf("%ld",&p->num); printf("请输入学生的姓名:"); scanf("%s",p->name); printf("请输入学生的年龄:"); scanf("%d",&p->age); printf("请输入学生的性别:"); scanf("%s",p->sex); printf("请输入学生的地址:"); scanf("%s",p->b); printf("请输入学生的电话:"); scanf("%s",p->p); n++; p++; printf("\n1.继续输入.\n0.输入完毕.\n"); printf("请选择:"); scanf("%d",&y); } while(y==1); printf("提示:输入完毕!你一共输入%d个\n",n); } void ll()/*浏览函数*/ { int i,j; if(n!=0) { printf("学生总数:%d\n", n); printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n"); printf("-----------------------------------------------------\n"); for(i=0;i<n;i++) printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); } else printf("提示:无学生数据,请输入数据!"); } void cx()/*查询函数*/ { int c; int w,i,j=0; char name[20]; if(n!=0) { do{ printf("\n"); printf("+--------------------+\n"); printf("| 按学号查询 请按 1 |\n"); printf("| 按姓名查询 请按 2 |\n"); printf("| 取消 请按 0 |\n"); printf("+--------------------+\n"); printf("请输入您的选择:"); scanf("%d", &c); switch(c) { case 0:break; case 1: printf("请输入学生的学号;"); scanf("%ld", &w); printf("\n"); for(i=0;i<n;i++) if(stu[i].num==w) { printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n"); printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); j=1; } if(j==0) printf("提示:没有该学生记录,请核对!"); break; case 2: printf("请输入学生的姓名:"); scanf("%s", name); printf("\n"); for(i=0;i<n;i++) if(strcmp(name,stu[i].name)==0) { printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n"); j=1; printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); } if(j==0) printf("提示:没有该学生记录,请核对!"); break; default: printf("\n提示:无效选项!"); break; } }while(c!= 0); }else printf("提示:无学生数据,请输入数据!"); return; } void xg()/*修改函数*/ { long int num; int i,j,c; if(n!=0) { printf("请输入您要修改的学生的学号:"); scanf("%ld", &num); printf("\n"); for(i=0;i<n;i++) if(stu[i].num==num) j=i; do{ printf("请选择您要修改的学生的信息内容:\n"); printf("+----------------------+\n"); printf("| 姓名 请按 1 |\n"); printf("| 年龄 请按 2 |\n"); printf("| 性别 请按 3 |\n"); printf("| 学号 请按 4 |\n"); printf("| 地址 请按 5 |\n"); printf("| 电话 请按 6 |\n"); printf("| 取消 请按 0 |\n"); printf("+----------------------+\n"); printf("请输入您的选择:"); scanf("%d", &c); printf("\n"); switch(c) { case 0:break; case 1:printf("请输入新姓名:"); scanf("%s",stu[j].name); break; case 2:printf("请输入新年龄:"); scanf("%d",&stu[j].age); break; case 3:printf("请输入新性别:"); scanf("%s",stu[j].sex); break; case 4:printf("请输入新学号:"); scanf("%ld",&stu[j].num); break; case 5:printf("请输入新地址:"); scanf("%s",stu[j].b); break; case 6:printf("请输入新电话:"); scanf("%s",stu[j].p); break; default: printf("\n无效选项!"); break; } }while(c!= 0); }else printf("提示:无学生数据,请输入数据!"); } void sc()/*删除函数*/ { long int num; int i,j,e; if(n!=0) { printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n"); printf("-----------------------------------------------------\n"); for(i=0;i<n;i++) printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p); printf("请输入您要删除的学生的学号:"); scanf("%ld", &num); printf("\n"); for(i=0;i<n;i++) if(num==stu[i].num) j=i; if(j!=(n-1)) { for(e=i-1;e<n;e++,j++) { stu[j].num=stu[j+1].num; strcpy(stu[j].name,stu[j+1].name); strcpy(stu[j].sex,stu[j+1].sex); stu[j].age=stu[j+1].age; strcpy(stu[j].b,stu[j+1].b); strcpy(stu[j].p,stu[j+1].p); n--;p--; } }else {n--;p--;} printf("提示:删除完毕!"); }else printf("提示:无学生数据,请输入数据!"); }