您的位置:

学生档案管理系统c语言代码,学生档案管理系统c语言代码查询

本文目录一览:

用c语言制作学生档案管理系统

我以前做的

给你了

#includestdio.h

#includestdlib.h

#includestring.h

struct student

{char name[30];

char number[20];

char sex[10];

char nation[10];

char address[60];

char born[20];

char family[60];

char course[60];

int sign;

struct student *next;

}record;

struct student *head;

static int n;

int menu_select(),i;

void enter();

void delete();

void search();

void group();

void change();

void savefile();

void openfile();

main()

{char s[80],choice;

head=NULL;

for(;;)

switch(menu_select())

{case 1:enter();break;

case 2:delete();break;

case 3:search();break;

case 4:change();break;

case 5:group();break;

case 6:savefile();break;

case 7:openfile();break;

case 8:exit(0);

}

}

void group()

{struct student *p,*p1;

int j=1;

p1=head;

printf("\nyou can know every student's main information from this\n");

do

{printf("Sign number:%4d. Name:%10s. Number:%8s. Sex:%4s. Nation:%4s. Born:%6s\n",p1-sign,p1-name,p1-number,p1-sex,p1-nation,p1-born);

p1=p1-next;j++;

}while(p1-name!=0);

}

int menu_select()

{char s[80];

int n;

printf("1----Enter a name\n");

printf("2----Delete arecord\n");

printf("3----Search\n");

printf("4----Change\n");

printf("5----Group\n");

printf("6----savefile\n");

printf("7----openfile\n");

printf("8----Quit\n");

do

{printf("please input you choice:\n");

gets(s);

n=atoi(s);

}

while(n1||n8);

return(n);

}

void enter()

{struct student *info;

void circle();

float a;

for(n=0;;n++)

{info=(struct student *)malloc(sizeof(record));

if(info==NULL)

{printf("\n Out of memory");

return;

}

getchar();

printf("enter name:");

gets(info-name);

if(info-name[0]=='0')

{info-next=0;break; }

else

{

printf("enter number:");

gets(info-number);

printf("enter Sex:");

gets(info-sex);

printf("enter nation:");

gets(info-nation);

printf("enter Address:");

gets(info-address);

printf("enter Born date:");

gets(info-born);

printf("enter Family:");

gets(info-family);

printf("enter Course:");

gets(info-course);

printf("enter Sign number:");

scanf("%d",info-sign);

circle(info);

}

}

}

void circle(struct student *info)

{ struct student *p2,*p1,*p0;

p1=head;

p0=info;

if(head==NULL)

{head=p0;p0-next=NULL;}

else

{while((p0-signp1-sign)(p1-next!=NULL))

{p2=p1;

p1=p1-next;}

if(p0-signp1-sign)

{if(head==p1)head=p0;

else p2-next=p0;

p0-next=p1;}

else

{p1-next=p0;p0-next=NULL;}

}

}

void display(info)

struct student *info;

{printf("Name:%s\n",info-name);

printf("Number:%s\n",info-number);

printf("Sex:%s\n",info-sex);

printf("Nation:%s\n",info-nation);

printf("Address:%s\n",info-address);

printf("Born date:%s\n",info-born);

printf("Family:%s\n",info-family);

printf("Course:%s\n",info-course);

printf("Sign number:%d\n",info-sign);

printf("\n\n");

}

void search()

{char name[40],street[30],s[30],t[30];

struct student *info,*find();

printf("you want by what to find name? number? sign(_number)?");

gets(t);

printf("\n input please:");

gets(s);

if((info=find(s))==NULL)

printf("not found\n");

else display(info);

}

struct student *find(char *s)

{

struct student *info;

info=head;

while(info)

{if((!strcmp(s,info-name))||(!strcmp(s,info-number))||(!strcmp(s,info-sign)))

return(info);

else

info=info-next;

}

return(info);

}

void delete()

{char s[80];

struct student *p1,*p2,*info;

printf("enter name:");

gets(s);

info=find(s);

if(info!=NULL)

{

if(head==info)

{

head=info-next;

printf("delete:%s\n",info-name);

free(info);

}

else

{p2=head;

p1=head-next;

while(info!=p1)

{p2=p1;p1=p1-next;}

p2-next=p1-next;

printf("delete:%s\n",info-name);

free(info);

}

}else

printf("%s not found!\n",info-name);

}

void change()

{char s[30],a[30];

float sum,b;

int i;

struct student *p;

printf("enter name:");

gets(s);

p=find(s);

if(p!=NULL)

{printf("what you want to change:\n name? number? sex? nation? born? family? course?");

gets(a);

printf("please enter %s:",a);

if(strcmp(a,"name")==0)

scanf("%s",p-name);

if(strcmp(a,"number")==0)

scanf("%s",p-number);

if(strcmp(a,"sex")==0)

scanf("%s",p-sex);

if(strcmp(a,"nation")==0)

scanf("%s",p-nation);

if(strcmp(a,"born")==0)

scanf("%s",p-born);

if(strcmp(a,"family")==0)

scanf("%s",p-family);

if(strcmp(a,"course")==0)

scanf("%s",p-course);

circle(p);

}

}

void savefile()

{struct student *p;

FILE *fp;

p=head;

fp=fopen("xue.c","wb");

printf("saving ...");

while(head)

{

fwrite(head,sizeof(record)-2,1,fp);

head=head-next;

}

fclose(fp);

printf("\n the file has been saved\n");

}

void openfile()

{FILE *fp;

struct student *back,*next;

fp=fopen("xue.c","rb");

printf("loading ...");

head=back=next=(struct student *)malloc(sizeof(record));

while(fread(next,sizeof(record)-2,1,fp)==1)

{

back=next;

next=(struct student *)malloc(sizeof(record));

back-next=next;

}

free(next);

back-next=NULL;

printf("\nfile has been opened\n");

}

c语言课程设计--班级档案管理系统

//****************************************************************************

//**** 说明:密码所在的文件位于c盘,文件名为1.txt。

//**** 学生基本信息最好保存在C盘,文件名为student.txt。

//****************************************************************************

#include stdio.h

#include stdlib.h

#include string.h

#include conio.h

#define N 3

struct student

{

char name[10];

char no[10];

char sex;

int age;

char bnote[100];

};

void print(bool menu)//打印基本信息

{

if (!menu)

{

printf("学生基本信息录入 ,press 1\n");

}

else

{

printf("学生基本信息显示 ,press 2\n");

printf("学生基本信息保存 ,press 3\n");

printf("学生基本信息删除 ,press 4\n");

printf("学生基本信息修改 ,press 5\n");

printf("学生基本信息查询 ,press 6\n");

}

printf("退出学生信息系统 ,press 7\n");

}

bool Check(char pas[6])//密码验证

{

FILE *fp;

char ch;

char a[7]={" "};

int i = 0;

if ((fp=fopen("c:\\1.txt","r"))==NULL)

{

printf("打开文件失败!\n");

exit(0);

}

ch=fgetc(fp);

while (ch!=EOFi6)

{

a[i] = ch;

ch=fgetc(fp);

i++;

}

a[6] = '\0';

if (!strcmp(pas,a))

{

return true;

}

else

{

printf("密码错误\n");

return false;

}

fclose(fp);

}

void GetInfo(struct student *arr,int n)//学生基本信息录入

{

for (int i = 0;in;i++)

{

printf("输入学生的基本信息:name no sex age bnote\n");

scanf("%s %s %c %d %s",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);

}

}

void Display(struct student* arr,int n)//学生基本信息显示

{

printf("学生信息: Name NO Sex age Note\n");

for (int i = 0;in;i++)

{

printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);

}

}

void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt

{

FILE * fp;

fp= fopen("c:\\student.txt","w+");

if (fp == NULL)

{

printf("文件不存在!\n");

exit(0);

}

fwrite(arr,sizeof(struct student)*n,n,fp);

fclose(fp);

}

void Modfiy(struct student* arr,int n)//学生基本信息修改

{

char number[10];

bool flag=false;

char pass[6];

printf("请输入密码:\n");

scanf("%s",pass);

if (Check(pass))

{

printf("修改学生信息:\n");

printf("请输入学号:\n");

scanf("%s",number);

for (int i =0;in;i++)

{

if (!strcmp(number,arr[i].no))

{

printf("infor: name no sex age note\n");

printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

printf("please input information:\n");

scanf("%s%s%c%d%s",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);

Save(arr,n);

flag = true;

}

}

if (flag == false)

{

printf("该学生不存在!:\n");

}

}

}

void Delete(struct student* arr,int n)//学生基本信息删除

{

char number[10];

bool flag=false;

printf("Delete information:\n");

printf("please input the no:\n");

scanf("%s",number);

for (int i =0;in;i++)

{

if (!strcmp(number,arr[i].no))

{

strcpy(arr[i].name," ");

strcpy(arr[i].no," ");

strcpy(arr[i].bnote," ");

arr[i].sex = ' ';

arr[i].age = 0;

Save(arr,n);

flag = true;

}

}

if (flag == true)

{

printf("该学生不存在!:\n");

}

}

void Search(struct student* arr,int n)//学生基本信息查询

{

int temp,i;

bool flag=false;

printf("---------------通过学号查询,press 1-------------\n");

printf("---------------通过姓名查询,press 2-----------\n");

printf("---------------通过性别查询,press 3------------\n");

printf("---------------通过年龄查询,press 4------------\n");

printf("---------------退出,press 5 ------------\n");

scanf("%d",temp);

switch (temp)

{

case 1://按照学号查询

{

char num[10];

printf("请输入学号:\n");

scanf("%s",num);

for ( i =0;in;i++)

{

if (!strcmp(num,arr[i].no))

{

printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag = true;

}

}

if (!flag)

{

printf("该学生不存在.\n");

}

}

break;

case 2://按照名字查询

{

char num[10];

printf("please input name:\n");

scanf("%s",num);

for ( i =0;in;i++)

{

if (!strcmp(num,arr[i].name))

{

printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag = true;

}

}

if (!flag)

{

printf("该学生不存在.\n");

}

}

break;

case 3://按照性别查询

{

char ch;

printf("请输入性别:\n");

//scanf("%c",ch);

ch = getch();

for ( i =0;in;i++)

{

if (ch == arr[i].sex)

{

printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag = true;

}

}

if (!flag)

{

printf("t该学生不存在.\n");

}

}

break;

case 4://按照年龄查询

{

char num_age;

printf("请输入年龄:\n");

scanf("%d",num_age);

for ( i =0;in;i++)

{

if (num_age == arr[i].age)

{

printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,

arr[i].sex,arr[i].age,arr[i].bnote);

flag = true;

}

}

if (!flag)

{

printf("该学生不存在.\n");

}

}

break;

default:

break;

}

}

void main()

{

struct student arr[N];

char ps[6];

bool flag =false;

printf("请输入密码:\n");

scanf("%s",ps);

flag = Check(ps);

if (flag)

{

int select;

print(false);

scanf("%d",select);

while (0select select 7 )

{

switch (select)

{

case 1:

GetInfo(arr,N);

print(true);

break;

case 2:

Display(arr,N);

print(true);

break;

case 3:

Save(arr,N);

print(true);

break;

case 4:

Delete(arr,N);

print(true);

break;

case 5:

Modfiy(arr,N);

print(true);

break;

case 6:

Search(arr,N);

print(true);

break;

default:

break;

}

printf("请选择:\n");

scanf("%d",select);

}

}

}

用C语言设计学生档案管理

/*用C语言设计学生档案管理

1. 题目描述

编写一个程序来管理学生档案,系统能实现以下功能:

输入信息:学生信息的输入;

修改信息:对学生信息进行添加、删除与修改;

查询:能够根据学号或姓名查询某个学生的信息;

输出:输出所有学生信息或查询学生信息的结果。

2. 设计提示

1)先确定学生档案管理的数据结构。如每个学生信息:学号、姓名、性别、年龄、地址 ……等,每个数据项各用什么数据类型;

2)划分实现学生档案管理的功能模块:如主菜单、输入数据、修改、查询、输出等功能,并确定各功能模块的实现算法。

3)画出各模块的流程图或S-R图;

4)选择C语言的技术:普通数组、结构体数组、函数、指针、单链表或文件等。

5)编写程序代码。*/

#includestdio.h

#includestdlib.h

#includestring

typedef struct student{

char ID[10];

char name[10];

char sex[3];

int age;

char addr[30];

struct student *next;

}stu;

void Input(stu *head)

{

stu *temp,*current;

temp=(stu *)malloc(sizeof(stu));

printf("输入学生信息:\n");

printf("学号\t姓名\t性别\t年龄\t地址\t\n");

fflush(stdin);

scanf("%s%s%s%d%s",temp-ID,temp-name,temp-sex,temp-age,temp-addr);

temp-next=NULL;

if(head==NULL)

{head=(stu *)malloc(sizeof(stu));head-next=temp;}

else

{

current=head-next;

while(current-next)

current=current-next;

current-next=temp;}

printf("添加成功\n");

system("pause");

}

void FindByID(stu *head)

{

if(head==NULL)

{printf("数据为空\n");

system("pause");return ;}

else

{stu *current =head-next;

bool flag=0;

char a[10];

printf("输入要查询的学号:\n");

fflush(stdin);

scanf("%s",a);

do

{

if(strcmp(current-ID,a)==0)

{flag=1;break;}

current=current-next;

}while(current!=NULL);

if(flag)

{

printf("学号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",current-ID,current-name,current-sex,current-age,current-addr);

system("pause");

}

else

{

printf("没有找到\n");

system("pause");

}

}

}

void FindByName(stu *head)

{

if(head==NULL)

{printf("数据为空\n");

system("pause");return ;}

else

{

stu *current =head-next;

bool flag=0;

char a[10];

printf("输入要查询的姓名:\n");

fflush(stdin);

scanf("%s",a);

do

{

if(strcmp(current-name,a)==0)

{flag=1;break;}

current=current-next;

}while(current!=NULL);

if(flag)

{

printf("学号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",current-ID,current-name,current-sex,current-age,current-addr);

system("pause");

}

else

{

printf("没有找到\n");

system("pause");

}

}

}

void Delete(stu *head)

{

if(head==NULL)

{printf("数据为空\n");

system("pause");return ;}

else

{ stu *current =head-next;

stu *prev=NULL;

char a[10];

printf("输入要删除的学号:\n");

fflush(stdin);

scanf("%s",a);

while(current!=NULL)

{

if(strcmp(current-ID,a)==0)break;

prev=current;

current=current-next;

}

if(prev==NULL)

{head-next=current-next;free(current);}

else

{prev-next=current-next;

free(current);}

printf("删除成功\n");

system("pause");

}

}

void Show(stu *head)

{

stu *current =head-next;

if(current==NULL)

{printf("数据为空\n");

system("pause");return ;}

printf("学号\t姓名\t性别\t年龄\t地址\t\n");

while(current!=NULL)

{

printf("%s\t%s\t%s\t%d\t%s\n",current-ID,current-name,current-sex,current-age,current-addr);

current=current-next;

}

system("pause");

}

void Modify(stu *head)

{

if(head==NULL)

{printf("数据为空\n");

system("pause");return ;}

bool flag=0;

char a[10];

printf("输入要查询的学号:\n");

fflush(stdin);

scanf("%s",a);

stu *current=head-next;

do

{

if(strcmp(current-ID,a)==0)

{flag=1;break;}

current=current-next;

}while(current!=NULL);

if(flag)

{

printf("学号:%s 姓名:%s 性别:%s 年龄:%d 地址:%s\n",current-ID,current-name,current-sex,current-age,current-addr);

printf("请重新输入该学生信息:\n");

printf("学号\t姓名\t性别\t年龄\t地址\t\n");

scanf("%s%s%s%d%s",current-ID,current-name,current-sex,current-age,current-addr);

printf("修改成功\n");

printf("pause");

}

else

{

printf("没有找到\n");

system("pause");

}

}

void Print()

{

system("cls");

printf(" 请选择功能(按0退出)\n");

printf(" 1------添加学生\n");

printf(" 2------通过学号查询学生\n");

printf(" 3------通过姓名查询学生\n");

printf(" 4------删除学生\n");

printf(" 5------修改学生\n");

printf(" 6------显示所有学生\n");

}

int main()

{

char ch;

stu *head=NULL;

do

{

Print();

fflush(stdin);

ch=getchar();

//system("cls");

switch(ch)

{

case '1':Input(head);break;

case '2':FindByID(head);break;

case '3':FindByName(head);break;

case '4':Delete(head);break;

case '5':Modify(head);break;

case '6':Show(head);break;

}

}while(ch!='0');

}

求C语言学生档案管理界面的源代码

# includeiostream.h

# includestring.h

# includestdio.h

# includestdlib.h

# includefstream.h

//*****定义一个学生原子的的数据结构*****//

struct stuatom

{

char *name;

int id;

char sex;

float math, eng, comp, totll, aver;

void show();

void setup();

};

//*********定义一系列对学生的操作**********//

class student

{

private:

stuatom ob[100];

int stulen;

public:

student();

void input();

void order();

void save();

void Query();

void read();

void add();

void del();

};

//********对学生数据的初始化(类的构造函数)**********//

student::student()

{

//用for循环对全部数组中的数据初始化

for(int i=0;i100;i++)

{

ob[i].math=ob[i].eng=ob[i].comp =ob[i].totll =ob[i].aver =0;

ob[i].id =0;

ob[i].sex =' ';

ob[i].name =NULL;

}

this-stulen =0;

}

//********输入学生的数据,并判断是否在规定数据域内*******//

void stuatom::setup()

{

char n[20]; char s;

int b;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

do {

cout" 学号: ";

cinb;

if(b1020||b1001)

cout"Bad data input!!"endlendl;

}while (b1001||b1020);

id=b;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

do{

name=new char[strlen(n)+1];

cout" 姓名: ";

cinn;

if( strlen(n)6 || strlen(n)4 )

cout"Bad data input!!"endlendl;

}while ( strlen(n)6 strlen(n)4 );

strcpy(name,n);

cout" 性别(m/f):" ;

cins;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (s!='m' s!='f')

{

cout"Bad data input!!"endlendl;

cout" 性别(m/f):";

cins;

}

sex=s;

float m, e, co;

cout" 数学: ";

cinm;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (m0 || m100)

{

cout"Bad data input!!"endlendl;

cout" 数学: ";

cinm;

}

math=m;

cout" 英语: ";

cine;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (e0 || e100)

{

cout"Bad data input!!"endlendl;

cout" 英语: ";

cine;

}

eng=e;

cout" 计算机: ";

cinco;

//如果输入学好在数据域内,跳出循环并且赋值。

//如果不再数据域内,一直循环到输入数据符合数据域为止

while (co0 || co100)

{

cout"Bad data input!!"endlendl;

cout" 计算机: ";

cinco;

}

comp=co;

totll=math+eng+comp;

aver=(math+eng+comp)/3;

}

//*******按照规定格式把该学生的数据显示在屏幕上******//

void stuatom::show()

{

cout.setf(ios::left);

cout.width(6);

cout""id" ";

cout.width(8);

coutname;

cout.width(10);

coutsex;

cout.width(9);

coutmath;

cout.width(9);

couteng;

cout.width(11);

coutcomp;

cout.width(10);

couttotllaverendl;

}

//**************输入学生的数据***********************//

void student::input()

{

int n;

coutendl"输入将要录入的学生数目: ";

cinn;

int j;

//通过循环输入要求输入学生个数的学生的数据。

for(j=0; jn; j++)

{

cout" 输入学生信息 "jendl;

ob[j].setup();

}

this-stulen=n; //学生个数赋值

//学生数据显示格式

system("cls");

coutendl"----------------------------- 学生信息表 ------------------------------------"endl;

coutendl" 学号 姓名 性别 数学 英语 计算机 总分 平均分"endl;

//通过循环输出所有学生数据。

for(j=0; jn; j++)

{

ob[j].show();

}

coutendl;

cout" 是否保存? (Y/N): ";

char Y;

cinY;

system("cls");

}

//**************按照一定格式显示所要查询学生的信息。**************//

void student::Query()

{

int x , i;

coutendl" 输入要查询学生的学号: ";

cinx;

coutendl" 学号 姓名 性别 数学 英语 计算机 总分 平均分"endl;

for(i=0;i=this-stulen ;i++)

{ if (x==ob[i].id)

{

cout.setf(ios::left);

cout.width(6);

cout""ob[i].id" ";

cout.width(8);

coutob[i].name;

cout.width(10);

coutob[i].sex;

cout.width(9);

coutob[i].math;

cout.width(9);

coutob[i].eng;

cout.width(11);

coutob[i].comp;

cout.width(10);

coutob[i].totllob[i].averendl;

}

}

getchar();

}

//*******************保存学生数据**************************//

void student::save()

{

int i;

ofstream outfile;

outfile.open("list.txt",ios::trunc);

if(!outfile)

{

cout"Cannot open output file!\n,";

}

//通过循环把所有的学生数据保存在list.txt里边。

for(i=0; ithis-stulen; i++)

{

outfileob[i].id" "ob[i].name" "ob[i].sex" "

ob[i].math" "ob[i].eng" "ob[i].comp" "ob[i].totll" "ob[i].averendl;

}

outfile.close();

}

//*************显示所有学生数据*********************//

void student::read()

{

int i;

system("cls");

coutendl"----------------------------- 学生信息表 ------------------------------------"endl;

coutendl" 学号 姓名 性别 数学 英语 计算机 总分 平均分"endl;

for(i=0; ithis-stulen; i++)

{

ob[i].show();

}

getchar();

}

//*******************一个学生的数据****************//

void student::add()

{

int i, d=this-stulen ;

cout"输入要添加学生的信息:"endl;

ob[d].setup();

coutendl"----------------------------- 学生信息表 ------------------------------------"endl;

coutendl" 学号 姓名 性别 数学 英语 计算机 总分 平均分"endl;

for(i=0; i=d; i++)

{

ob[i].show();

}

ofstream fout("list.txt",ios::app);

if(!fout)

{

cout"Cannot open output file!\n,";

}

//把添加的学生数据添加到list.txt里边去。

foutob[d].id" "ob[d].name" "ob[d].sex" "

ob[d].math" "ob[d].eng" "ob[d].comp" "ob[d].totll" "ob[d].averendl;

fout.close();

getchar();

}

//*********************删除指定名字学生的数据*******************//

void student::del()

{

int i,p; char x[8];

cout" 输入要删除学生名字:"endl;

cinx;

//通过for循环查找要删除学生的姓名

for(i=0; istulen; i++)

{

if(strcmp(ob[i].name,x)==0)

{

p=i;

coutendl"学号 姓名 性别 数学 英语 计算机 总成绩 平均成绩"endl;

coutob[i].id" "ob[i].name" "ob[i].sex" "ob[i].math" "ob[i].eng" "ob[i].comp" "ob[i].totll" "ob[i].averendl;

break;

}

else

continue;

}

coutendl"----------------------------- 学生信息表 ------------------------------------"endl;

coutendl" 学号 姓名 性别 数学 英语 计算机 总分 平均分"endl;

//删除了之后,应该把后面的数据往前移,把要删除的数据覆盖,并且学生长度减1

stulen--;

for(i;istulen;i++)

{

ob[i]=ob[i+1];

}

this-read ();

cout" 删除成功!"endl;

getchar();

}

//***********把学生成绩排序******************//

void student::order()

{

int k,j;

float t; char n[20];

//排序算法。

for(j = 0; j=(2-1); j++)

{

for(k=1; k=(2-j); k++)

{

if(ob[k].totll ob[k + 1].totll)

{

t = ob[k].totll;

ob[k].totll = ob[k+1].totll;

ob[k+1].totll = t;

strcpy(n, ob[k].name);

strcpy(ob[k].name, ob[k+1].name);

strcpy(ob[k+1].name, n);

}

cout" 成绩排名:"endl;

cout" 姓名 总成绩 名次"endl;

for(k=0; k=stulen; k++)

{

cout" ";

cout.setf(ios::left);

cout.width(9);

coutob[k].name;

cout.width(9);

coutob[k].totllkendl;

}

getchar();

}

}

}

//********************选择菜单。*****************//

void menu()

{

cout"\n\n";

cout"------------------ 学生成绩系统 -----------------"endlendl;

cout"\t\t1.录入与保存学生信息.\n";

cout"\t\t2.读取学生信息.\n";

cout"\t\t3.删除学生信息.\n";

cout"\t\t4.追加学生信息.\n";

cout"\t\t5.查询学生信息.\n";

cout"\t\t6.显示成绩名次.\n";

cout"\t\t7.退出系统......\n\n\n";

cout"\t\t请选择功能项: ";

}

//---------------------------------------------------------------------------------------

void main()

{

student a;

while(1)

{

int SEL;

system("cls");

menu();

cinSEL;

switch(SEL)

{

case 1:

system("cls"); a.input();a.save();break;

case 2:

system("cls"); a.read(); break;

case 3:

system("cls"); a.del(); break;

case 4:

system("cls"); a.add();break;

case 5:

system("cls"); a.Query();break;

case 6:

system("cls"); a.order();break;

case 7:

coutendl" 按任意键退出.... "endl;

getchar();

exit(0);

default:

cout"Bad input!!\n";

break;

}

}

} 我比较忙,没有亲自帮你写,你自己改改吧,框架出来了。

c语言学生档案管理系统要全面的,无错的

#includestdio.h

#includestdlib.h

#includeconio.h

#includedos.h

#includestring.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 save();/*保存函数*/

void open();/*打开函数*/

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: save();break;

case 9: open();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("无法打开\n");return;}

while(!feof(fp)) {

if(fread(stu[m] ,LEN,1,fp)==1)

m++;/*统计当前记录条数*/

}

fclose(fp);

if(m==0)

printf("没有记录!\n");

else

{

system("cls");

show();/*调用show函数,显示原有信息*/

}

if((fp=fopen("data.txt","wb"))==NULL)

{ printf("无法打开\n");return;}

for(i=0;im;i++) fwrite(stu[i] ,LEN,1,fp);/*向指定的磁盘文件写入信息*/

printf("确认输入:(Y/N):");

scanf("%s",ch);

while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要录入新信息*/

{

printf("学号:");scanf("%d",stu[m].num);/*输入学生学号*/

for(i=0;im;i++)

if(stu[i].num==stu[m].num)

{

printf("学号存在,输入任意键继续!");

getch();

fclose(fp);

return;

}

printf("姓名:");scanf("%s",stu[m].name);/*输入学生姓名*/

printf("选修课:");scanf("%lf",stu[m].elec);/*输入选修课成绩*/

printf("实验课:");scanf("%lf",stu[m].expe);/*输入实验课成绩*/

printf("必修课:");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("无法保存!"); getch(); }

else { printf("%s 保持成功!\n",stu[m].name);m++;}

printf("继续?(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("学号 姓名 选修课 实验课 必修课 总成绩\t\n");

for(i=0;im;i++)

{

printf(FORMAT,DATA);/*将信息按指定格式打印*/

}

}

void menu()/*自定义函数实现菜单功能*/

{

system("cls");

printf("\n\n\n\n\n");

printf("\t\t|-------------学生信息管理系统-----------by:zxl|\n");

printf("\t\t|\t 0. 退出 |\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 6. 排序学生基本信息 |\n");

printf("\t\t|\t 7. 浏览全班学生信息 |\n");

printf("\t\t|\t 8. 保存学生信息到磁盘 |\n");

printf("\t\t|\t 9. 打开学生信息从磁盘 |\n");

printf("\t\t|-----------------------------------------------|\n\n");

printf("\t\t\t选择(0-9):");

}

void order()/*自定义排序函数*/

{ FILE *fp;

struct student t;

int i=0,j=0,m=0;

if((fp=fopen("data.txt","r+"))==NULL)

{

printf("无法打开!\n");

return;

}

while(!feof(fp))

if(fread(stu[m] ,LEN,1,fp)==1)

m++;

fclose(fp);

if(m==0)

{

printf("没有记录!\n");

return;

}

if((fp=fopen("data.txt","wb"))==NULL)

{

printf("无法打开\n");

return;}

for(i=0;im-1;i++)

for(j=i+1;jm;j++)/*双重循环实现成绩比较并交换*/

if(stu[i].sumstu[j].sum)

{ t=stu[i];stu[i]=stu[j];stu[j]=t;}

if((fp=fopen("data.txt","wb"))==NULL)

{ printf("无法打开\n");return;}

for(i=0;im;i++)/*将重新排好序的内容重新写入指定的磁盘文件中*/

if(fwrite(stu[i] ,LEN,1,fp)!=1)

{

printf("%s 无法保存!\n");

getch();

}

fclose(fp);

printf("保存成功!");

getch();

}

void del()/*自定义删除函数*/

{FILE *fp;

int snum,i,j,m=0;

char ch[2];

if((fp=fopen("data.txt","r+"))==NULL)

{ printf("无法打开\n");return;}

while(!feof(fp)) if(fread(stu[m],LEN,1,fp)==1) m++;

fclose(fp);

if(m==0)

{

printf("没有记录!\n");

return;

}

printf("请输入学号:");

scanf("%d",snum);

for(i=0;im;i++)

if(snum==stu[i].num)

break;

printf("找到学号,删除?(Y/N)");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/

for(j=i;jm;j++)

stu[j]=stu[j+1];/*将后一个记录移到前一个记录的位置*/

m--;/*记录的总个数减1*/

if((fp=fopen("data.txt","wb"))==NULL)

{ printf("无法打开\n");return;}

for(j=0;jm;j++)/*将更改后的记录重新写入指定的磁盘文件中*/

if(fwrite(stu[j] ,LEN,1,fp)!=1)

{ printf("无法保存!\n");

getch();}

fclose(fp);

printf("删除成功!\n");

getch();

}

void search()/*自定义查找函数*/

{ FILE *fp;

int snum,i,m=0;

char ch[2];

if((fp=fopen("data.txt","rb"))==NULL)

{ printf("无法打开\n");return;}

while(!feof(fp)) if(fread(stu[m],LEN,1,fp)==1) m++;

fclose(fp);

if(m==0) {printf("没有记录!\n");return;}

printf("请输入学号:");

scanf("%d",snum);

for(i=0;im;i++)

if(snum==stu[i].num)/*查找输入的学号是否在记录中*/

{ printf("找到学号,显示?(Y/N)");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)

{

printf("学号 姓名 选修课 实验课 必修课 总成绩\t\n");

printf(FORMAT,DATA);/*将查找出的结果按指定格式输出*/

getch();

}break;

}

if(i==m) printf("无法找到该学生!\n");/*未找到要查找的信息*/

}

void modify()/*自定义修改函数*/

{ FILE *fp;

int i,j,m=0,snum;

if((fp=fopen("data.txt","r+"))==NULL)

{ printf("无法打开\n");return;}

while(!feof(fp))

if(fread(stu[m],LEN,1,fp)==1) m++;

if(m==0) {printf("无记录!\n");

fclose(fp);

return;

}

printf("请输入您要修改信息的学生的学号!\n");

scanf("%d",snum);

for(i=0;im;i++)

if(snum==stu[i].num)/*检索记录中是否有要修改的信息*/

break;

printf("找到学号,您可以修改!\n");

printf("姓名:");

scanf("%s",stu[i].name);/*输入名字*/

printf("选修课:");

scanf("%lf",stu[i].elec);/*输入选修课成绩*/

printf("实验课:");

scanf("%lf",stu[i].expe);/*输入实验课成绩*/

printf("必修课:");

scanf("%lf",stu[i].requ);/*输入必修课成绩*/

stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;

if((fp=fopen("data.txt","wb"))==NULL)

{ printf("无法打开\n");return;}

for(j=0;jm;j++)/*将新修改的信息写入指定的磁盘文件中*/

if(fwrite(stu[j] ,LEN,1,fp)!=1)

{ printf("无法保存!"); getch(); }

fclose(fp);

printf("修改成功!");

getch();

}

void insert()/*自定义插入函数*/

{ FILE *fp;

int i,j,k,m=0,snum;

if((fp=fopen("data.txt","r+"))==NULL)

{ printf("无法打开\n");return;}

while(!feof(fp))

if(fread(stu[m],LEN,1,fp)==1) m++;

if(m==0) {printf("无记录!\n");

fclose(fp);

getch();

return;

}

printf("输入要插入的位置(学号):");

scanf("%d",snum);/*输入要插入的位置*/

for(i=0;im;i++)

if(snum==stu[i].num)

break;

for(j=m-1;ji;j--)

stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/

printf("现在请输入新信息.\n");

printf("学号:");

scanf("%d",stu[i+1].num);

for(k=0;km;k++)

if(stu[k].num==stu[i+1].num)

{

printf("学号存在,按任意键继续!");

getch();

fclose(fp);

return;

}

printf("姓名:");

scanf("%s",stu[i+1].name);

printf("选修课:");

scanf("%lf",stu[i+1].elec);

printf("实验课:");

scanf("%lf",stu[i+1].expe);

printf("必修课:");

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("无法打开\n");return;}

for(k=0;k=m;k++)

if(fwrite(stu[k] ,LEN,1,fp)!=1)/*将修改后的记录写入磁盘文件中*/

{ printf("无法保存!"); getch(); }

fclose(fp);

printf("插入成功!");

getch();

}

void total()

{ FILE *fp;

int m=0;

if((fp=fopen("data.txt","r+"))==NULL)

{ printf("无法打开\n");return;}

while(!feof(fp))

if(fread(stu[m],LEN,1,fp)==1)

m++;/*统计记录个数即学生个数*/

if(m==0) {printf("无记录!\n");fclose(fp);return;}

printf("本班有%d个学生!\n",m);/*将统计的个数输出*/

show();

getch();

fclose(fp);

}

这个是成绩管理系统,可行?不过都差不多,课程设计这东西很简单的

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

1、首先创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。

2、然后编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。

3、然后在源文件中创建main源文件和Stu源文件。再main文件中写入int mian()代码。

4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。

5、然后在Stu源文件的Init函数用printf语句,将学生管理系统输出。再创建链表的头节点head。

6、然后用switch函数对操作进行判断。再执行数据结构的增删改查功能。

学生档案管理系统c语言代码,学生档案管理系统c语言代码查询

2023-01-04
c语言学生管理系统for结构,c语言写学生管理系统

2023-01-06
c语言校友管理系统,用c语言写学生信息管理系统

2023-01-06
学生信息管理系统C语言代码详解

2023-05-21
c语言学生成绩管理系统,c语言学生成绩管理系统课程设计

2023-01-07
学生身份管理系统c语言,学生管理系统设计c语言

2022-11-26
c语言学生管理系统,c语言学生管理系统流程图

2022-12-02
学生信息管理系统c语言摘要,c语言中学生信息管理系统

2022-11-26
c语言做的学生成绩管理系统,c语言程序学生成绩管理系统

2022-11-29
成绩管理c语言,成绩管理C语言项目

2023-01-06
c语言课设学生成绩信息管理系统,学生成绩管理系统 c语言

2023-01-07
学生信息管理系统c语言关键技术,c语言的学生信息管理系统

2022-11-23
c语言学生管理系统的删除模块,C语言编写学生管理系统

2022-11-30
c语言学生信息管理系统心得体会,基于c语言的学生信息管理系统

2022-12-01
职工工资管理系统php,职工工资管理系统c语言

2022-11-29
学生社团管理系统php源码,php学生个人信息系统源码

2022-11-24
c语言信息系统,c语言程序管理系统

2022-11-27
培训机构管理系统c语言代码,c++教务管理系统源代码

2023-01-04
c语言图书管理系统心得体会,c语言图书管理系统设计

2023-01-06
关于人事管理系统c语言代码的信息

2023-01-04