📄 huamingce.cpp
字号:
#include "stdio.h" /*I/O函数*/
#include "stdlib.h" /*标准库函数*/
#include "string.h"/*字符串函数*/
#include "ctype.h" /*字符操作函数*/
#define M 50 /*定义常数表示记录数*/
struct studant_list /*定义数据结构*/
{
char xingming[20]; /*姓名*/
char banji[30]; /*班级*/
char xuehao[15]; /*学号*/
}students;
int cai_dan();
int enter(students t[]);
void search(students t[]);
void list(students t[],int n);
void save(students t[],int n);
void delete_student(students *L,long xuehao);
/*主函数*/
int main (void)
{
int i;
int length;
clrscr();
for(;;)
{
switch(cai_dan()){
case 1:add();break;
case 2:reseach();break;
case 3:changge();break;
case 4:list();break;
case 5:Delete();break;
case 0:exit(0);
}
}
return 0;
}
cai_dan() /*菜单函数*/
{
char x[100];
int y;
printf("按任意键继续!\n");
getch();
clrscr();
printf("班级花名册,请选择:\n");
printf(" 1: 添加记录");
printf(" 2: 查找记录");
printf(" 3: 修改记录");
printf(" 4: 显示全部记录");
printf(" 5: 删除记录");
printf(" 0: 退出");
do{
scanf("%s",&x);
y=atois(x);
printf("输入无效,请重新选择!\n");
printf("班级花名册,请选择:\n");
printf(" 1: 添加记录");
printf(" 2: 查找记录");
printf(" 3: 修改记录");
printf(" 4: 显示全部记录");
printf(" 5: 删除记录");
printf(" 0: 退出");
}while(y<0||y>5);
return y;
}
/***添加记录记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/
int enter(students t[])
{
int i,n;
char xingming,banji,xuehao;
printf("\nplease input num \n");
scanf("%d",&n); /*输入记录数*/
printf("请输入新同学的姓名:"); /*提示输入记录*/
scanf("%s",list[i].xingming);
printf("请输入新同学的班级:");
scanf("%s",list[i].banji);
printf("请输入新同学的学号:");
scanf("%s",list[i].xuehao);
save(studant_list[],int n)={studant_list[],n}
return n; /*返回记录条数*/
}
/*查找记录*/
void search(students t[])
{
char xingming;
char banji;
char xuehao/*保存待查找姓名字符串*/
int i;/*保存查找到结点的序号*/
for(i=0;i<n;i++);
if(scrcmp(xuehao,studant_list[i].xuehao)!=0){
printf("not found\n");
else
printf("姓名:%s\t,list[i].xingming");
printf("班级:%s\t,list[i].banji");
printf("学号:%s\t,list[i].xuehao");
}
return 0;
}
/*显示全部*/
void list(students t[],int n)
{
FILE*fp;
int gets[100];
int banji[100];
long num[12];
if((fp=fopen("d:\\students.txt","a"))==NULL){
printf("File open error!\n");
}
else
printf("姓名 班级 学号\n");
while(!feof(fp))
{
fscanf(fp,"%s%s%d",&gets,&banji,&num);
printf("%s %s %ld\n",gets,banji,num);
};
if(fclose(fp)){
printf("Can not close the file!\n");
}
}
/*储存记录*/
void save(students t[],int n)
{
struct stu{
char name[20];
int num;
int age;
char sex[20];
}students[50],*pp;
pp=students;
int i;
FILE*fp;
if((fp=fopen("d:\\students.txt","a"))==NULL){
printf("Can't open the file!");
exit(0);
}
for(i=0;i<50;i++,pp++)
scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->sex);
fwrite(pp,sizeof(struct stu),50,fp);
rewind(fp);
fclose(fp);
return 0;
}
/*删除*/
void delete_student(students *L,long xuehao)
{
int flag = 0;
students * p = L,*q = p->next;
while(q) {
if(q->number == xuehao) {
flag = 1;
q = q->next;
break;
}
else{
p = q;
q = q->next;
/*下一个结点*/
}
}
if(flag == 0)
printf("删除学生失败,不存在这个学号的学生\n");
else{
printf("删除学生成功! \n ");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -