当前位置:首页 » 编程语言 » c语言添加学生信息
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言添加学生信息

发布时间: 2022-04-03 01:58:42

❶ 用c语言实现对学生信息增删改,怎么做啊

要更详细答案,联系我,这个很难做的,起码要给点悬赏分作为酬劳啊!!!
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
//数据结构的定义
typedef struct node{
int id; //学号
char name[10]; // 姓名
int grade; //成绩
struct node * next; //指向下一节点的指针
}node,*list;

//函数的声明,必须按照声明来定义函数
void showMenu(); //显示菜单
void start(); // 主控程序
void init(list &h);// 初始化链表h
void printAnRecord(node * p);//输出p所指节点的值(id,name,grade)
void printList(list h);// 输出链表h的各节点的值
int del(list h,int n);//删除链表h中id为n的节点,成功删除返回1,若不存在则返回0
int insert(list h,int id,char * name,int grade);//在链表h中,插入节点(n,name,grade),若id重复返回0,否则返回1
node * searchByID(list h, int n);// 在链表h中查找id为n的节点,查找成功返回其指针,否则返回NULL
int update(list h,int n,int grade);// 将链表h中id为n的节点的成绩改为grade,若不存在该节点返回0,否则返回1
float average(list h); //返回链表h中各个节点成绩的平均值
int bulkInsert(list h);//在链表h中批量插入节点,以id=0结束,返回成功插入的节点数
void clearList(list h);//清空链表h(使其成为空链表)

void showMenu()
{ //显示菜单
puts(" 0----Bulk Insert ");
puts(" 1----Insert an Record");
puts(" 2----Delete an Record");
puts(" 3----Update an Record's grade");
puts(" 4--- Search an Record by stu_id");
puts(" 5----Print all Record");
puts(" 6----Average of grade");
puts(" 7----Clear list");
puts(" 9----Exit");

}

//主控程序
void start()
{
list h; //链表
int choice; //功能选择
int id,grade,flag=1,m;
char name[10];

showMenu();
init(h); //初始化链表h,即建立空链表

while(flag){//若未退出程序
puts(" ******** Please input 1...9 ********* ");
scanf("%d",&choice);

switch(choice){ //根据选择的功能号,执行不同的操作
case 0 :
puts("input Stu_ID, Name , Grade (end by 0)");
m=bulkInsert(h);
printf(" %d Record insert successfully\n",m);
break;
case 1:
puts("input Stu_ID, Name , Grade: ");
scanf("%d",&id);
scanf("%s",name);
scanf("%d",&grade);
if( insert(h,id,name,grade) )
puts("Insert an Record successfully!");
else
puts("Sorry, blicate ID ");
break;
case 2:
puts("input Stu_ID to delet");
scanf("%d",&id);
if( del(h,id) )
puts("Delete an Record successfully");
else
puts("Sorry, ID no exit ");
break;
case 3:
puts("input Stu_ID and grade to update");
scanf("%d",&id);
scanf("%d",&grade);
if ( update(h,id,grade) )
puts("Update an Record successfully ");
else
puts("Sorry, ID no exit ");
break;
case 4:
puts("input Stu_ID to search");
scanf("%d",&id);
node *p;
if( p=searchByID(h,id) )
printAnRecord(p);
else
puts("Sorry, ID no exit ");
break;
case 5:
printList(h);
break;
case 6:
printf("The average grade is %6.2f \n ", average(h) );
break;
case 7:
clearList(h);
break;
case 9:
flag=0; //退出循环
break;

default:
puts(" Error ! Must Input (1...9) ");

}
}
}

void main()
{
//编程时要一个一个函数的调试完成后,最后再调用主控程序
start();

}

❷ 编写一个c语言程序,实现录入学生学号和姓名信息的功能

#include<stdio.h>

#include<stdlib.h>

intmain(void)

{

chars[10];//姓名

intnum;//学号

printf("请输入姓名: ");

gets(s);

printf("请输学号: ");

scanf("%d",&num);

printf("姓名是:%s 学号是:%d ",s,num);

system("pause");

return0;

}

(2)c语言添加学生信息扩展阅读

c语言建立学生档案

#include<stdio.h>

#include<string.h>

结构学生

{

整数

字符名称[10];

intEng;

垫子;

};

//s_number-检索的学号

//numebr-文档已经存储的学号

//按学号查找

布尔搜索(chars_New[],charNew[])

{

如果(strcmp(s_New,New))

{

返回true;//查找成功

}

其他

{

returnfalse;//查找失败

}

}

无效menu()

{

printf(“----------------------------------------------------------- “);

printf(“菜单: ”);

printf(“ 1。建立学生档案 ”);

printf(“ 2。读取所有学生记录 ”);

printf(“ 3。在文件尾添加学生记录 ”);

printf(“ 4。查询学生姓名 ”);

printf(“ 5。结束程序 ”);

printf(“----------------------------------------------------------- “);

}

无效menu_2()

{

printf(“----------------------------------------------------------- “);

printf(“查找选择菜单: ”);

printf(“ 1。按名字查找 ”);

printf(“ 2。按学号查找 ”);

printf(“请选择: ”);

printf(“----------------------------------------------------------- “);

}

intmain()

{

而(1)

{

菜单();

法官

printf(“请输入你的选项:”);

判断=scanf(“%d”,&n);

如果(判断==0)

{

printf(“输入格式错误! ”);

}

开关(n)

{

情况1:

{

FILE*pf=fopen(“Student.txt”,“w+”);

字符标志='Y';

while(flag=='Y'|flag=='y')

{

学生stu;//创建学生结构体

printf(“请输入学生的学号: ”);

scanf(“%d”,&stu.number);

getchar();//吃掉以上一个输入的回车符

printf(“请输入学生的姓名: ”);

scanf(“%s”,stu.name);

printf(“请输入学生的语文成绩: ”);

scanf(“%d”,&stu.Chi);

printf(“请输入学生的英语成绩: ”);

scanf(“%d”,&stu.Eng);

printf(“请输入学生的数学成绩: ”);

scanf(“%d”,&stu.Mat);

//把学生档案导入Student.txt文档

fprintf(pf,“#姓名:%s 学号:%d 语言成绩:%d 英语成绩:%d 数学成绩:%d ”,stu.name,stu.number,stu.Chi,stu.Eng,stu.Mat);

getchar();//吃掉以上一个输入的回车符

printf(“是否继续输入学生档案?(是或否) ”);

判断=scanf(“%c”,&flag);

如果(判断==0)

{

printf(“输入格式错误! ”);

}

}

fclose(pf);

打破;

}

❸ c语言程序设计学生信息管理系统中如何插入学生信息

真有点累人啊,汗~~~~~~
不过,你的要求这些代码都能满足了,
可能会有点小错误,我这儿也无法验证,总之总体的思路是完全正确的。
#include <stdio.h>
#include <string.h> //字符串头文件
#include <windows.h> //Sleep函数的头文件
#include <conio.h> //getch函数的头文件
#define N 50

//定义全局变量

//定义学员结构体
typedef struct Student
{

char name[10];//姓名
int NO;//学号
char sex[10];//性别
char subject[20];//专业
int phone;//电话
char jianli[200];//简历

}STU;

//声明这种学员类型的数组
STU stu[N];
//计数器n
int n=0; //代表数组的实际人数

//登录函数
void login()
{
system("color 2A");//定义背景和前景颜色
//登录模块实现代码
char Yonghu[30];
char Mima[30];

for(int i=0;i<3;i++)
{
// 打印登陆界面
Sleep(500);//定时打印
printf("\n\n\t\t\t\t学员管理系统平台\n");

Sleep(500);

printf("\n\t\t\n");
Sleep(500);
printf("\n\t\t\t\t用户名:");
gets(Yonghu);
printf("\n\t\t\t\t密码:");

char let=NULL;//定义一个字符变量为空值
int j=0; //代表密码的实际长度

while(j<10 && let!=13)//定义密码长度和当接收的字符不为回车键(回车键的ASCLL码值为13)时
{
let=getch();//获得字符 不显示

if(let!=8)//当接收的字符不为退格键(退格键的ASCLL码值为8)时
{
Mima[j++]=let;//将接收的字符赋给数组Mima并自加一个长度
printf("*");
}
else
{
if(j>0)//当密码长度不为0时
{
//删除字符的操作
putchar(8);
putchar(' ');
putchar(8);
Mima[--j]=NULL;//将空值赋给数组Mima并自减一个长度
}
}
}
Mima[--j]=NULL;
putchar(8);//消除因回车键所打印的*
putchar(' ');
putchar(8);
putchar('\0');//字符串结束标记

//验证密码
if(strcmp(Yonghu,"姓名")==0 && strcmp(Mima,"123456")==0)//用比较函数判断用户输入的用户名和密码是否正确
{
//调用dos命令清空控制台屏幕
system("cls");
printf("\n\n\n\n\n\t\t\t正在登录菜单界面,请稍候...");
for(int i=0;i<=5;i++)
{
Sleep(666);
printf(">>>");
}

for(int i=0;i<=100;i++)
{
system("cls");
//%%为百分号
printf("\n\n\n\n\n\n\n\t\t\t\t正在加载数据中...%d%%",i);
}
system("cls");
printf("\n\n\n\n\n\n\n\t\t\t\t加载数据成功,loding.....\n");
break;//跳出for循环
}
else
{
if(i<2)//用户输入错误不超过2次
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n");
Sleep(1000);
printf("\t:抱歉,您输入的用户名或密码错误,请重新输入!\n");
}
else//用户3次输入都错误时
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n");
Sleep(1000);
printf("\t:Sorry,您输入的用户名或密码错误次数太多,请休息一会再来!\n");break;
}
}
Sleep(2000);
//调用dos命令清空控制台屏幕
system("cls");
}
}

//菜单函数
void menu()
{
Sleep(2000);
//调用dos命令清空控制台屏幕
system("cls");

//打印功能菜单界面
Sleep(500);
printf("\n\n\t\t\t\t学员管理系统平台\n");

Sleep(500);
printf("\n\t\t************************************************\n");
Sleep(500);
printf("\n\t\t功能菜单:\n\n");
Sleep(1000);

printf("\t\t 1、录入单个学员信息 2、显示所有学员信息\n");

Sleep(1000);

printf("\t\t 3、排序显示学员信息 4、插入单个学员信息\n");

Sleep(1000);

printf("\t\t 5、删除单个学员信息 6、查找单个学员信息\n");

Sleep(1000);

printf("\t\t 7、读取所有学员信息 8、保存所有学员信息\n");

Sleep(1000);

printf("\t\t 9、清空全部学员信息 0、退出学员管理系统\n");

}

//录入函数
void input()
{
int i;
char answer;

do
{
//录入学号
do
{
printf("学号:");
scanf("%d",&stu[n].NO);

// 判断输入格式是否有错
while(stu[n].NO<=0 || stu[n].NO>50)
{
printf("\t:输入格式有误,请重新输入!\n");
fflush(stdin); //判断输入其它字符(如:a,b,aa,skd...)时报错
printf("学号:");
scanf("%d",&stu[n].NO);
}

//循环遍历输入的学号是否重复
for(i=0;i<n;i++)
{
if(stu[i].NO==stu[n].NO)
{
printf("\t:学号重复,请重新输入!\n");
break;
}
}
}while(i<n);

//录入姓名
do
{
printf("姓名:");
scanf("%s",stu[n].name);

//判断输入时姓名是否为空
while(strlen(stu[n].name)==0)
{
printf("\t:姓名不能为空,请重新输入!\n");
printf("姓名:");
scanf("%s",stu[n].name);
}

// 判断输入时姓名是否含有数字
for(i=0;i<strlen(stu[n].name);i++)
{
if(stu[n].name[i]>='0'&&stu[n].name[i]<='9')
{
printf("提示:姓名不能含有数字,请重新输入!\n");
break;
}
}
}while(i<strlen(stu[n].name));

//录入性别
do
{
printf("性别");
scanf("%s",stu[n].sex);
}while(i<strlen(stu[n].sex));

//录入专业
do
{
printf("专业");
scanf("%s",stu[n].subject);
}while(i<strlen(stu[n].subject));

//录入联系电话
do
{
printf("电话号码");
scanf("%s",&stu[n].phone);
}while(i<strlen(stu[n].phone));

//录入简历
do
{
printf("简历\n");
scanf("%s",stu[n].jianli);
}while(i<strlen(stu[n].jianli);

n++;//实际的人数自加一次

//判断输入成绩的实际人数是否超出已定内存空间
if(n<N)
{
printf("是否继续录入?(y/n):");
fflush(stdin);//清空缓存
scanf("%c",&answer);
}
else
{
printf("实际人数超出已定存储空间的内存,程序终止!\n");
break;
}
}while(answer=='Y' || answer=='y');
}

//显示函数
void display()
{
//打印表头
printf("********************************************************************************\n");
printf("学号\t姓名\t性别\t专业\n");
printf("********************************************************************************\n");

//循环打印学员信息
for(int i=0;i<n;i++)
{
printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].NO,stu[i].name,stu[i].sex,stu[i].subject);
printf("********************************************************************************\n");
}
printf("\n联系电话\n");
for(int i=0;i<n;i++)
{
printf("%d\n",stu[i].phone);
printf("********************************************************************************\n");
}
printf("\n学历\n");
for(int i=0;i<n;i++)
{
printf("%s",stu[i].jianli);
printf("********************************************************************************\n");
}
}

//排序函数
void sort()
{
STU temp;//定义临时变量
int i,j;

//冒泡排序
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(stu[j].avg<stu[j+1].avg)
{
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
}

//插入函数
void insert()
{
int i,j;//定义循环变量
STU newStu;//定义实行插入功能时输入的类型
char answer;

printf("单个学员信息的循环插入:\n");
do
{
do
{
printf("学号:");
scanf("%d",&newStu.NO);

// 判断输入格式是否有错
while(newStu.NO<=0 || newStu.NO>50)
{
printf("\t:输入格式有误,请重新输入!\n");
fflush(stdin); //判断输入其它字符(如:a,b,aa,skd...)时报错
printf("学号:");
scanf("%d",&newStu.NO);
}

//循环遍历输入的学号是否重复
for(i=0;i<n;i++)
{
if(stu[i].NO==newStu.NO)
{
printf("\t:学号重复,请重新输入!\n");
break;
}
}
}while(i<n);

do
{
printf("姓名:");
scanf("%s",&newStu.name);

//判断输入时姓名是否为空
while(strlen(newStu.name)==0)
{
printf("\t:姓名不能为空,请重新输入!\n");
printf("姓名:");
scanf("%s",newStu.name);
}

// 判断输入时姓名是否含有数字
for(i=0;i<strlen(newStu.name);i++)
{
if(newStu.name[i]>='0' && newStu.name[i]<='9')
{
printf("提示:姓名不能含有数字,请重新正确输入!\n");
break;
}
}
}while(i<strlen(newStu.name));

n++;//实际的人数自加一次

sort();//调用排序函数

//循环遍历找位置
for(i=0;i<n;i++)
{
if(newStu.avg>stu[i].avg)
{
j=i;
break;
}
}

//移位
for(i=n;i>j;i--)
{
stu[i]=stu[i-1];
}

stu[j]=newStu;//将newStu插入到j的位置

//判断插入的实际人数是否超出已定内存空间
if(n<N)
{
printf("是否继续插入?(y/n):");
fflush(stdin);//清空缓存
scanf("%c",&answer);
}
else
{
printf("实际人数超出已定存储空间的内存,程序终止!\n");
break;
}
}while(answer=='Y' || answer=='y');
}

//删除函数
void remove()
{
int i,j,no;
char answer;

do
{
printf("请输入要删除学员的学号:");
scanf("%d",&no);

//循环遍历找位置
for(i=0;i<n;i++)
{
if(no==stu[i].NO)
{
j=i;
break;
}
}

//移位
if(i<n)
{
for(i=j;i<n-1;i++)
{
stu[i]=stu[i+1];
}

n--;//实际人数自减一个

printf("\n\n系统在第%d个位置找到了学号为%d的学员!\n",j+1,no);
}
else
{
printf("没有找到您要删除的学员学号,请重新选择功能!\n");
}

//判断是否已经没有可以删除的人数
if(n>0)
{
printf("是否继续删除?(y/n):");
fflush(stdin);//清空缓存
scanf("%c",&answer);
}
else
{
printf("已经没有可以删除的人数了,程序终止!\n");
break;
}
}while(answer=='Y' || answer=='y');
}

//查找函数
void search()
{
int i,no;
char answer;
printf("请输入您要查找学员的学号:");
scanf("%d",&no);

do
{
//循环遍历找位置
for(i=0;i<n;i++)
{
if(stu[i].NO==no)
{
break;
}
}
if(i<n)
{
printf("\n\n系统在第%d个位置找到了学号为%d的学员!\n",i+1,no);
printf("该学员的信息如下:\n");
printf("********************************************************************************\n");
printf("学号\t姓名\t成绩一\t成绩二\t成绩三\t平均分\t总分\n");
printf("********************************************************************************\n");
printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].NO,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg,stu[i].sum);
printf("********************************************************************************\n");
}
else
{
printf("\n提示:对不起,没有找到学号为%d的学员\n",no);
}

//判断是否继续查询
printf("是否继续查询?(y/n):");
fflush(stdin);//清空缓存
scanf("%c",&answer);
}while(answer=='Y' || answer=='y');
}

//读取函数
int read()
{
FILE *fp;//定义文件指针变量
fp=fopen("e:\\xueyuanguanlixitong.txt","rt");
int n=fread(stu,sizeof(STU),N,fp);
return n;

}

//保存函数
void save()
{
FILE *fp;//定义文件指针变量
fp=fopen("e:\\xueyuanguanlixitong.txt","wb");
fwrite(stu,sizeof(STU),n,fp);
fclose(fp);
printf("已保存在:e:\\xueyuanguanlixitong.txt\n");
printf("\n\n\n\n\n\t\t\t\t保存成功!O(∩_∩)O~\n");
}

//主函数
void main()
{
login();//调用登录函数
int choice,i;//定义用户选择变量

do
{
//显示菜单
menu();
printf("\n\t请选择:");
scanf("%d",&choice); //接受用户选择

switch(choice)
{
case 1:
system("cls"); //清屏
printf("\n单个学员信息的循环录入\n");
input();
display();
system("pause");
break;

case 2:
system("cls");
display();
system("pause"); //暂停一下程序
break;

case 3:
system("cls");

if(n==0)
{
printf("\t\t学员个数为0,无法排序,请先录入!\n");
system("pause");
break;
}
else
{
sort(); ;//调用排序函数
system("pause");
break;
}

case 4:
system("cls");
insert(); //调用插入函数
system("pause");
break;

case 5:
system("cls");
remove(); //调用删除函数
system("pause");
break;
case 6:
system("cls");
search(); //调用查找函数
system("pause");
break;

case 7:
system("cls");
n=read(); //调用读取函数
printf("读取成功!\n");
system("pause");
break;

case 8:
system("cls");
save(); //调用保存函数
system("pause");
break;

case 9:
system("cls");
n=0; //清空学员个数
printf("清空完成!\n");
system("pause");
break;

case 0: //退出程序
system("cls");

for(i=5;i>=0;i--)
{
Sleep(1000);
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t请稍等,还有%d秒推出程序!\n\n\n",i);
}
system("cls");
printf("\n\n\n\n\n\n你已经成功退出程序\n\t\t谢谢使用,欢迎再次登录!\n");
exit(0);
break;

default:
system("cls");
printf("\n\n\n\n\n\t\t请选择0-9之间的数!\n");
system("pause");
}
}while(1);
}

❹ c语言怎么编写学生信息

#include "stdio.h"
#include <stdlib.h>
#define SIZE 10

struct student{
char id[20];
char sex[10];
int age;
int score[3];
float average;
} stud[SIZE];

void input() /* 输入学生的信息 */
{
int i;

for(i=0;i<SIZE;i++)
{
printf("第%d个学生的信息:\n",i+1);
scanf("%s%s%d%d%d%d",stud[i].id,stud[i].sex,&stud[i].age,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
stud[i].average=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0;
}
}

void output() /* 输出学生的信息 */
{
int i;

printf("\n");
for(i=0;i<SIZE;i++)
printf("%s %s %d %d %d %d %3.1f\n",stud[i].id,stud[i].sex,stud[i].age,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].average);
}

void sortput() /* 排序输出学生信息 */
{
int i,j;
struct student temp;

for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE-i-1;j++)
{
if(stud[j].average<stud[j+1].average)
{
temp=stud[j];
stud[j]=stud[j+1];
stud[j+1]=temp;
}
}
}
printf("\n");
for(i=0;i<SIZE;i++)
printf("%s %s %d %d %d %d %3.1f\n",stud[i].id,stud[i].sex,stud[i].age,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].average);
}

void main()
{
input();
output();
sortput();
}

❺ c语言用链表添加学生信息

#include<stdio.h>
#include<string.h>
#include"stdlib.h"
#defineLENsizeof(structstu)
structstu
{
longnum;
charname[20];
charsex;
intage;
charaddr[30];
structstu*next;
};
intmain()
{
intn;
structstu*head;
structstu*p1,*p2;
head=(structstu*)malloc(LEN);
head->next=NULL;
p1=head;
p2=(structstu*)malloc(LEN);
p2->next=NULL;
printf("学号 姓名 性别 年龄 住址 ");
scanf("%ld, %s, %c, %d, %s",&p2->num,&p2->name,&p2->sex,&p2->age,&p2->addr);
while(p2->num!=0)
{
p1->next=p2;
p1=p2;
fflush(stdin);
p2=(structstu*)malloc(LEN);
printf("学号 姓名 性别 年龄 住址 ");
scanf("%ld,%s,%c,%d,%s",&p2->num,&p2->name,&p2->sex,&p2->age,&p2->addr);
}
}

纯手打,希望采纳。

❻ 如何用c语言添加学生信息

构造一个关于学生信息的数据类型
如:
struct studengt_type
{
int number; //学号
char *name; //姓名
char sex; //性别
int score; // 入学成绩
}

❼ 求用C语言怎么实现学生信息录入功能

* 1。根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。*/
struct stu_info{
char stuNo[10];/* No */
char stuName[30];/* Name */
float stuScore[3];/* the three scores */
float aveScore; /* average score */
float totalScore; /* total score */
}stu[10];
/* 2。用input函数从键盘上输入10个学生的数据。 */
void input()
{ int i = 0;
printf("Input the students' infomation(FORMAT LIKE:No Name score1 score2 score3):\n");
while(i < 10)
{ printf("Input %d:",i + 1);
scanf("%s%s%f%f%f",stu[i].stuNo,stu[i].stuName,&stu[i].stuScore[0],&stu[i].stuScore[1],&stu[i].stuScore[2]);
i++;
}
}

❽ 用C语言知识如何去做学生基本信息系统,插入学生信息,删除学生信息,按照学号进行查询

使用结构体+单链表
或者使用 结构体+数组的形式。
定一个一个表示学生的结构体,类似:
struct studentstr
{
int stuNo;
char name[20];
int age;
int sex;
};
然后,使用数组或单链表来存储你所输入的信息后,就可以进行相关的操作了。

❾ c语言学生管理系统中的增加学生信息

#include<iostream.h>
#include<iomanip.h>
#include<windows.h>
#include <conio.h>
void back();//返回开始菜单
void out();//输出信息
int w=1; //用于记录学生人数,全局变量

class Data//日期类
{public:
double Year,Month,Day;
Data()
{ Year=0;Month=0;Day=0; }
};

class student //学生类
{
public:
char name[10]; //姓名
char sex[5]; //性别
char jiguan[10]; //籍贯
int num,age;//学号,年龄
char adr[30];//住址
Data year;
friend class Data;//date作为student的友元 //定义一个日期类
void operator=(student s); //=重载
int operator == (student s);//==重载
}stu[100];

void main()
{
system("cls");//清屏 DOC调用
system("color f4"); //颜色 同样是调用doc
int i;
void comp();
void input();
void find();
void alt() ;
void del();
void exit();
void show();

cout<<setw(53)<<"欢迎进入学生管理系统!"<<endl;
cout<<setw(55)<<"1 添加学生信息 2 查询学生信息"<<endl<<endl;
cout<<setw(55)<<"3 删除学生信息 4 修改学生信息"<<endl<<endl;
cout<<setw(55)<<"5 比较学生信息 6 显示学生信息"<<endl<<endl;
cout<<setw(45)<<"0 推出系统"<<endl;

cout<<"请选择:";
cin>>i;
if(i>6||i<0)
{
cout<<"输入有误!"<<endl;
back();
}
switch(i)
{
case 1:input();break;
case 2:find();break;
case 3:del();break;
case 4:alt();break;
case 5:comp();break;
case 6:show();break;
case 0:exit();break;
default:cout<<"你的输入有误!\n";
}
}

void input() //添加学生
{
system("color 84"); //颜色 同样是调用doc
system("cls");//清屏
int n;
cout<<"请输入要添加的学生个数:\n";
cin>>n;
if(n>=100||n<=0)
{cout<<"输入有误!<<endl";
main(); }

else
{
for(;n>0;w++,n--)
{
cout<<"请输入姓名、性别、籍贯,年龄,学号,住址:"<<endl;
cin>>stu[w].name>>stu[w].sex>>stu[w].jiguan>>stu[w].age >>stu[w].num>>stu[w].adr ;
cout<<"请输入该生生日(年 月 日)"<<endl;
cin>>stu[w].year.Year;
cin>>stu[w].year.Month;
cin>>stu[w].year.Day;
}

out();
}
cout<<"添加完毕2秒后返回"<<endl;
Sleep(2000); //延时2秒
main();
}

void find() //按学号查找学生
{
system("color f4"); //颜色 同样是调用doc
system("cls");
int i,id,j=0;//j是用以记录是否有信息被找到
cout<<"请输入你要查找学生的学号:";
cin>>id;
for(i=1;i<w;i++)
if(stu[i].num ==id)
{
cout<<i<<" "<<stu[i].name<<" "<<stu[i].sex<<" "<<stu[i].jiguan<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<stu[i].adr<<endl;
j++;
}
if(j==0)
cout<<"没有你要查找的信息";
back();
}

void del()//删除指定学号学生信息
{
system("color f4"); //颜色 同样是调用doc
int i,a,y=0;
char x;
cout<<"请输入要删除的学生学号";
cin>>a;
for(i=1;i<w;i++)
if(stu[i].num==a)
{
cout<<"该生情况:"<<endl;
cout<<i<<" "<<stu[i].name<<" "<<stu[i].sex<<" "<<stu[i].jiguan<<" "<<stu[i].age<<" "<<stu[i].num<<" "<<stu[i].year.Year<<" "<<stu[i].year.Month<<" "<<stu[i].year.Day<<" "<<stu[i].adr<<endl;
cout<<"是否确认删除?(Y/N)"<<endl;
cin>>x;
if(x=='Y'||x=='y')
{
y++;
for(;i<w-1;i++)
stu[i]=stu[i+1];
w--;//每删除一个对总是减少一个
}
}

❿ 求C语言代码:如何添加,删除,修改文件中的学生信息记录

楼主解压运行下看看是不是你要的!是的话我就把代码贴上来!