-
2021-05-20 04:47:09
#include
#include
#include
#define M 50
/********************************全局变量***************************/
typedef struct
{ long id; /*学号*/
char name[20]; /* 姓名 */
char sex[10];
int math; /* 数学成绩 */
int english;
int c_program;
int total;
}STUDENTS;
STUDENTS stu[M]; /* 定义学生结构体变量 */
int num=-1; /* num+1:当前学生个数*/
/* 函数声明// */
/* 主功能模块/ */
void page_title(); /* 主菜单 */
void student_new(); /* 录入学生 */
void student_edit(); /* 修改学生信息 */
void student_del(); /* 删除学生信息 */
void score_search(); /* 根据学号查询学生信息 */
void id_sort(); /* 通过学号递增排序输出 */
void score_sort( ); /* 按成绩递减排序输出 */
void show(int s); /* 显示学生信息 */
/* 子功能模块// */
int find(long id); /* 通过学号查询数组下标 */
void show_one( int n); /* 显示一个学生信息 */
void input_one(int n); /* 输入一个学生信息 */
void count(int n); /* 计算总成绩 */
void into_menu(); /* 从功能模块进入主菜单 */
void left(); /* 保存退出 */
void page_head1();
void page_head2();
/* /文件操作 */
void load(); /* 读取文件 */
void save(); /* 保存文件 */
/* 主函数/// */
void main()
{
load();
while(1)
{
page_title();
}
}
/* 主菜单/// */
void page_title()
{
char c;
system("cls"); /* 清屏 */
printf("\n\n>>>>>>>>>>>>> 学 生 成 绩 管 理 系 统 <<<<<<<<<<<<
printf("\t1 录入学生成绩记录\n\n");
printf("\t2 显示学生成绩记录\n\n");
printf("\t3 修改学生成绩记录\n\n");
printf("\t4 删除学生成绩记录\n\n");
printf("\t5 按学号查询学生记录\n\n");
printf("\t6 按学号显示学生记录\n\n");
printf("\t7 按总成绩递减输出\n\n");
printf("\t8 保存\n\n");
printf("\t0 退出\n\n");
printf("***************************************************\n");
printf(" 请用数字键0-8选择操作\n\n");
c=getch();
system("cls");
switch(c)
{
case '1' : student_new();break; /* 录入学生基本信息 */
case '2' : show(0);break; /* 显示所有记录 */
case '3' : student_edit();break; /* 修改记录
*/
case '4' : student_del();break; /* 删除记录 */
case '5' : score_search();break; /* 查询记录 */
case '6' : id_sort();break; /* 按学号排
更多相关内容 -
【C语言】学生成绩链表的录入
2021-05-20 04:48:10输入10个学生5门课的成绩,分别用函数实现下列功能:1>计算每个学生的平均分。2>计算每门课的平均分。3>找出所有50个分数中最高的分数所对应的学生和课程。#include#include#includetypedefstructstudent{...输入10个学生5门课的成绩,分别用函数实现下列功能:
1>计算每个学生的平均分。
2>计算每门课的平均分。
3>找出所有50个分数中最高的分数所对应的学生和课程。
#include
#include
#include
typedef struct student
{
char name[15];
float Chinese;
float English;
float math;
float Physics;
float Chemistry;
struct student *next;
}Stu,*PStu;
PStu creat(PStuhead)
{
PStu p1 =NULL;
PStu p2 =NULL;
int n = 0;
p1 =(PStu)malloc(sizeof(Stu));
p2 = p1;
if(p1==NULL) //节点开辟不成功
{
printf ("\nCann't create it, try it again in a moment!\n");
return NULL;
}
else
{
printf("请输入名字,语文成绩,英语成绩,数学成绩,物理成绩,化学成绩\n");
scanf("%s %f %f %f %f %f",&(p1->name),&(p1->Chinese),&(p1->English),&(p1->math),\
&(p1->Physics),&(p1->Chemistry));
}
while(strcmp(p1->name,"end"))
{
if(head == NULL)
{
head = p1;
p2->next = NULL;
}
else
p2->next = p1;
p2 = p1;
p1 = (PStu)malloc(sizeof(Stu));
printf("请输入名字,语文成绩,英语成绩,数学成绩,物理成绩,化学成绩\n");
scanf("%s %f %f %f %f %f",&p1->name,&p1->Chinese,&p1->English,&p1->math,\
&p1->Physics,&p1->Chemistry);
}
p2->next=NULL;
free(p1);
p1 = NULL;
return head;
}
void print(PStu head)/*出以head为头的链表各节点的值*/
{
PStu temp;
printf ("\nNow , These records are:\n");
temp=head;/*取得链表的头指针*/
while(temp!=NULL)/*只要是非空表*/
{
printf("姓名:%s\n语文%f\n英语%f\n数学%f\n物理%f\n化学%f\n",temp->name,\
temp->Chinese,temp->English,temp->math,temp->Physics,temp->Chemistry);/*输出链表节点的值*/
temp=temp->next;/*跟踪链表增长*/
}
}
void avScore(PStu head)
{
float aScore;
PStu temp;
temp = head;
while(temp != NULL)
{
aScore = (temp->Chinese + temp->English + temp->math + temp->Physics + temp->Chemistry)/5;
printf("%s的平均成绩为:%f\n",temp->name,aScore);
temp=temp->next;
}
}
void avClass(PStu head)
{
float aChinese = 0;
float aEnglish = 0;
float amath = 0;
float aPhysics = 0;
float aChemistry = 0;
int count = 0;
PStu temp = head;
while(temp != NULL)
{
aChinese += temp->Chinese;
aEnglish += temp->English;
amath += temp->math;
aPhysics += temp->Physics;
aChemistry += temp->Chemistry;
count++;
temp=temp->next;
}
printf("语文平均分是:%f\n英语平均分是:%f\n数学平均分是:%f\n物理平均分是:%f\n化学平均分是:%f\n",\
aChinese/count,aEnglish/count,amath/count,aPhysics/count,aChemistry/count);
}
void maxScore(PStu head)//出现共同最高分为第一个出现的为准:
{
float mScore = 0;
char work[20] = {0};
char name[10];
PStu temp = head;
mScore = temp->Chinese;
while(temp != NULL)
{
strcpy(name,temp->name);
if(temp->Chinese > mScore)
{
mScore = temp->Chinese;
strcpy(work,"chinese");
/*work = "chinese";*/
}
else if(temp->English >mScore)
{
mScore = temp->English;
strcpy(work,"english");
/*work = "english";*/
}
else if(temp->math >mScore)
{
mScore = temp->math;
strcpy(work,"math");
/*work = "math";*/
}
else if(temp->Physics >mScore)
{
mScore = temp->Physics;
strcpy(work,"physics");
/*work = "physics";*/
}
else if(temp->Chemistry >mScore)
{
mScore = temp->Chemistry;
strcpy(work,"chemistry");
/*work = "chemistry";*/
}
temp = temp->next;
}
printf("同学%s的%s成绩为所有成绩中的最高分:%f\n",name,work,mScore);
}
int main()
{
PStu head = NULL;
head = creat(head);
print(head);
avScore(head);
avClass(head);
maxScore(head);
return 0;
}
-
C语言实现简单学生成绩管理系统
2020-12-31 01:07:17实现所有学生成绩的录入(利用结构体数组),当输入字符为end时候,结束成绩的录入; 2.实现所有学生信息的输出 3.输入指定学生姓名,并能输出这名学生的信息 4.将学生成绩按照语文和数学成绩排序 思路: 1. ... -
C语言实现学生成绩学习管理系统.docx
2020-12-13 16:26:08实用标准文案 学号 102128121 武汉理工大学华夏学院 课程设计报告书 课程名称 数据结构 题 目 用 C 语言实现成绩统计程序的设计 系 名 信息工程系 专业班级 软件工程 1121 姓 名 指导教师 : 黄启荃 2013 年 6月 28日... -
C语言实现学生成绩管理系统实战教学
2021-05-20 10:24:08学生成绩管理系统实现的功能有:成绩录入、学生成绩查询、删除、修改、通过文件保存等。开发这样一个系统需要具备的知识:线性表(链表)、文件操作、排序(如果需要成绩排序)。开发环境为VS2015;在Linux下没有conio.h...趁着放假无事,开始用C语言开发一些小的项目,巩固基础知识的同时学习新的知识。
学生成绩管理系统实现的功能有:成绩录入、学生成绩查询、删除、修改、通过文件保存等。
开发这样一个系统需要具备的知识:线性表(链表)、文件操作、排序(如果需要成绩排序)。
开发环境为VS2015;在Linux下没有conio.h的头文件,需要修改与getch()函数相关的代码。
#include
#include
#include
#include
/*学生信息结构体*/
typedef struct Node
{
char Name[10];//学生姓名
char ID[15];//学生学号
int Score[3];//三科成绩(数学、英语、数据结构)
float Ave_Sco;
struct Node *next;
}Lnode;
void Display(); /*界面显示函数*/
void GetScore(Lnode *&h); /*成绩录入函数*/
void PrintScore(Lnode *h); /*成绩打印函数*/
void ModifyScore(Lnode *h); /*成绩修改函数*/
void FindInf(Lnode *h); /*查找信息*/
void Delete(Lnode *h); /*删除函数*/
void Quit(Lnode *h); /*退出函数*/
void SaveInf(Lnode *h);
void LoadInf(Lnode *h);
/*初始化链表*/
void InitList(Lnode *&head)
{
head = (Lnode *)malloc(sizeof(Lnode));
if (head == NULL)
{
printf("error!");
exit(1);
}
head->next = NULL; //使头节点指针域为空
}
int main()
{
Lnode *ScoreList; //建立成绩链表,所有学生信息存放在此链表
int Function;
char flag;
int t = 0;
InitList(ScoreList);
LoadInf(ScoreList);
while (1)
{
Display();
printf("请选择操作: ");
scanf("%d", &Function);
switch (Function)
{
case 1: while (1)
{
GetScore(ScoreList);
printf("是否继续输入 (Y/N)");
scanf("%s", &flag);
if (flag == 'N' || flag == 'n')break;
} system("cls"); break;
case 2: PrintScore(ScoreList);_getch(); system("cls"); break;
case 3: ModifyScore(ScoreList);system("cls"); break;
case 4: FindInf(ScoreList); _getch(); system("cls"); break;
case 5: Delete(ScoreList); _getch(); system("cls"); break;
case 6: Quit(ScoreList); break;
default: printf("Error!!! 请重新输入:");
break;
} //switch结束
}
return 0;
}
/*系统界面显示*/
void Display()
{
printf("\t\t**********************************************\n");
printf("\t\t*************欢迎使用成绩管理系统*************\n");
printf("\t\t**********************************************\n");
printf("\t\t\t\t1、录入成绩\n");
printf("\t\t\t\t2、打印成绩\n");
printf("\t\t\t\t3、修改成绩\n");
printf("\t\t\t\t4、查找学生信息\n");
printf("\t\t\t\t5、删除学生信息\n");
printf("\t\t\t\t6、退出系统\n");
printf("\n\n\n\n\n\n");
}
/*成绩录入*/
void GetScore(Lnode *&h)
{
Lnode *p, *q = h;
char name[10], id[15];
int Math, English, Datastruct;
p = (Lnode *)malloc(sizeof(Lnode));//为学生信息申请节点
printf("请依次输入学生信息:\n");
printf("姓名 学号 数学 英语 数据结构\n");
scanf("%s %s %d %d %d", &name, &id, &Math, &English, &Datastruct);
for (; q->next != NULL; q = q->next){;} //移动到尾节点
strcpy(p->Name, name);
strcpy(p->ID, id);
p->Score[0] = Math;
p->Score[1] = English;
p->Score[2] = Datastruct;
p->Ave_Sco = ((float)((p->Score[0] + p->Score[1] + p->Score[2]) - 150)) / 30;
p->next = NULL;
q->next = p;
q = p;
}
/*成绩打印*/
void PrintScore(Lnode *h)
{
Lnode *p = h->next;
printf("%-14s%-8s%-8s%-8s%-8s%-8s\n","排名", "学号", "姓名", "数学", "英语", "数据结构", "平均绩点");
while (p != NULL)
{
printf("%-14s%-8s%-8d%-8d%-8d%.2f\n", p->ID, p->Name, p->Score[0], p->Score[1], p->Score[2], p->Ave_Sco);
p = p->next;
}
}
/*成绩修改*/
void ModifyScore(Lnode *h)
{
Lnode *p = h->next;
char name[10], id[15];
int Math, English, Datastruct;
printf("请输入学生姓名:");
scanf("%s", name);
printf("请输入学生学号:");
scanf("%s", id);
while (p)
{
if (strcmp(p->Name, name)==0 && strcmp(p->ID, id)==0)
{
printf("当前学生信息:\n");
printf("%-14s%-8s%-8s%-8s%-8s\n", "学号", "姓名", "数学", "英语", "数据结构");
printf("%-14s%-8s%-8d%-8d%-8d\n", p->ID, p->Name, p->Score[0], p->Score[1], p->Score[2]);
printf("请输入更正后的数学成绩:");
scanf("%d", &Math);
printf("请输入更正后的英语成绩:");
scanf("%d", &English);
printf("请输入更正后的数据结构成绩:");
scanf("%d", &Datastruct);
p->Score[0] = Math;
p->Score[1] = English;
p->Score[2] = Datastruct;
break;
}
else
{
p = p->next;
}
}//while循环结束
}
/*信息查找*/
void FindInf(Lnode *h)
{
Lnode *p = h->next;
char name[10], id[15];
printf("请输入学生姓名:");
scanf("%s", name);
printf("请输入学生学号:");
scanf("%s", id);
while (p)
{
if (strcmp(p->Name, name) == 0 && strcmp(p->ID, id) == 0)
{
printf("当前学生信息:\n");
printf("%-14s%-8s%-8s%-8s%-8s\n", "学号", "姓名", "数学", "英语", "数据结构");
printf("%-14s%-8s%-8d%-8d%-8d\n", p->ID, p->Name, p->Score[0], p->Score[1], p->Score[2]);
break;
}
else
{
p = p->next;
}
}//while循环结束
}
/*删除*/
void Delete(Lnode *h)
{
Lnode *p = h, *q;
q = p->next;
char name[10], id[15];
printf("请输入学生姓名:");
scanf("%s", name);
printf("请输入学生学号:");
scanf("%s", id);
while (q)
{
if (strcmp(q->Name, name) == 0 && strcmp(q->ID, id) == 0)
{
p->next = q->next;
free(q); //删除p节点
printf("删除成功\n");
break;
}
else
{
p = p->next;
q = q->next;
}
}//while循环结束
}
/*退出系统*/
void Quit(Lnode *h)
{
SaveInf(h); //退出时保存信息
exit(0);
}
/*打开文件*/
void LoadInf(Lnode *h)
{
Lnode *p = h;
Lnode *q; //临时变量 用于保存从文件中读取的信息
FILE* file = fopen("./Information.dat", "rb");
if (!file)
{
printf("文件打开失败!");
return ;
}
/*
使用feof判断文件是否为结束要注意的问题:
当读取文件结束时,feof函数不会立即设置标志符为-1,而是
需要再读取一次后,才会设置。所以要先读一次。
*/
q = (Lnode *)malloc(sizeof(Lnode));
fread(q, sizeof(Lnode), 1, file);
while (!feof(file)) //一直读到文件末尾
{
p->next = q;
p = q;
q = (Lnode *)malloc(sizeof(Lnode));
fread(q, sizeof(Lnode), 1, file);
} //while循环结束
p->next = NULL;
fclose(file);
}
/*保存信息到文件中*/
void SaveInf(Lnode *h)
{
Lnode *p = h->next;
int flag;
FILE* file = fopen("./Information.dat", "wb");
if (!file)
{
printf("文件打开失败!");
return;
}
while (p != NULL)
{
flag = fwrite(p, sizeof(Lnode), 1, file); //将p的内容写到文件中
if (flag != 1)
{
break;
}
p = p->next;
}
fclose(file);
}
虽然是很简单的小项目,还是有很多问题。
一:链表相关
在写成绩录入和成绩打印功能时,发现始终只能保存(没加入文件保存)最后一个数据,确定链表的相关操作没有问题,仔细判断逻辑关系后,发现是每次在头节点传到GetScore()函数,为新节点申请内存后,直接将数据保存在了新申请的节点里面,没有将链表移动到尾节点,导致每次录入成绩,都会覆盖前一次输入的数据。解决办法是链表传到函数后,先移动到最后一个节点,将新申请的节点挂接在最后一个节点之后。
/*成绩录入*/
void GetScore(Lnode *&h)
{
Lnode *p, *q = h;
char name[10], id[15];
int Math, English, Datastruct;
p = (Lnode *)malloc(sizeof(Lnode));//为学生信息申请节点
printf("请依次输入学生信息:\n");
printf("姓名 学号 数学 英语 数据结构\n");
scanf("%s %s %d %d %d", &name, &id, &Math, &English, &Datastruct);
for (; q->next != NULL; q = q->next){;} //移动到尾节点
//保存数据
strcpy(p->Name, name);
strcpy(p->ID, id);
p->Score[0] = Math;
p->Score[1] = English;
p->Score[2] = Datastruct;
p->Ave_Sco = ((float)((p->Score[0] + p->Score[1] + p->Score[2]) - 150)) / 30;
//始终指向最后一个节点
p->next = NULL;
q->next = p;
q = p;
}
二、文件操作
用文件保存遇到的问题主要是每次打印数据时除正常数据外,始终多一行乱码。判断方法是while(!feof(file))。排除错误时确定了两种可能性:多保存了一行;多读取了一行。经过某度feof()与EOF的关系后,确定是多读取了一行数据。
用feof()函数进行文件尾判断时,当文件已经到达尾部后,还需要在读取一次后,feof()函数才会返回-1,所以会出现多读一次的情况;解决办法时,在循环读取之前先将第一个数据读取出来,然后在正常读取。即注意多读一次的问题。
/*打开文件*/
void LoadInf(Lnode *h)
{
Lnode *p = h;
Lnode *q; //临时变量 用于保存从文件中读取的信息
FILE* file = fopen("./Information.dat", "rb");
if (!file)
{
printf("文件打开失败!");
return ;
}
/*
使用feof判断文件是否为结束要注意的问题:
当读取文件结束时,feof函数不会立即设置标志符为-1,而是
需要再读取一次后,才会设置。所以要先读一次。
*/
q = (Lnode *)malloc(sizeof(Lnode));
fread(q, sizeof(Lnode), 1, file);
while (!feof(file)) //一直读到文件末尾
{
p->next = q;
p = q;
q = (Lnode *)malloc(sizeof(Lnode));
fread(q, sizeof(Lnode), 1, file);
} //while循环结束
p->next = NULL;
fclose(file);
}
-
用C语言编写学生信息管理系统
2021-05-19 14:09:58《用C语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统(14页珍藏版)》请在人人文库网上搜索。1、一、设计目的通过对高级语言程序设计课程设计的学习,来验证自身的学习...《用C语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统(14页珍藏版)》请在人人文库网上搜索。
1、一、设计目的通过对高级语言程序设计课程设计的学习,来验证自身的学习效果,同时希望利用所学的基本知识和技能,进行简单的C语言程序设计。希望通过项目实践,熟悉巩固所学知识,以使自己熟练掌握高级语言程序设计,为日后学习计算机科学技术的专业知识能有进一步深入了解,奠定基础。二、设计内容1、 问题描述:设计一个学生信息管理系统设计。学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。2、 功能要求:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能算法按学号查询按姓名查询5、学生信息的删除与修改(可选项)三、详细设计1。
2、、菜单:void menu()2、建立信息:void readfile()3、 查找:void seek()4、 修改信息:void modify()5、 插入函数:void insert()6、 删除信息:void del()7、 浏览信息:void display()8、 保存:void save()4、 调试与测试1、 系统功能菜单2、 选择菜单“0”,进入系统帮助及说明功能3、 选择菜单“4”,添加学生信息(1)输入增加人数(2)依次输入学生学号,姓名,年龄,性别,出生年月,地址,电话,E-mail(3)录入完毕,弹出菜单4、 选择菜单“3”,修改学生信息:输入被修改者学号(1)选择子。
3、菜单“1,修改姓名(2)选择子菜单“2”,修改年龄(3)选择子菜单“3”,修改性别(4)选择子菜单“4”,修改出生年月(5)选择子菜单“5”,修改地址(6)选择子菜单“6”,修改电话(7)选择子菜单“7”,修改E-mail5、 选择菜单“2”,查询学生信息(1)选择子菜单“1”,按学号查询(2)选择子菜单“2”,按姓名查询(3)选择子菜单“3”,退出子菜单,弹出主菜单6、选择菜单“6”,显示当前信息7、选择菜单“5”,按学号删除信息(1)输入要删除的学生学号(2)再次输入“6”,确认是否删除该学生信息五、源程序清单源程序代码如下#include #include#include#define 。
4、BUFLEN 100#define LEN 15 #define N 100 struct record char codeLEN+1; char nameLEN+1; int age; char sex3; char timeLEN+1; char add30; char telLEN+1; char mail30; stuN;int k=1,n,m; void readfile();void seek();void modify();void insert();void del();void display();void save();void menu(); int main() whi。
5、le(k)menu();system(pause);return 0; void help() printf(n0.欢迎使用系统帮助!n);printf(n1.进入系统后,先刷新学生信息,再查询;n);printf(n2.按照菜单提示键入数字代号;n);printf(n3.增加学生信息后,切记保存按;n);printf(n4.谢谢您的使用!n); void readfile()char *p=student.txt;FILE *fp;int i=0;if (fp=fopen(student.txt,r)=NULL) printf(Open file %s error! Strike any k。
6、ey to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.code,stui.name,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+;i=i;fclose(fp);n=i;printf(录入完毕!n); void seek() int i,item,flag;char s121; printf(-n);printf(-1.按学号查询-n);printf(-2.按姓名查询-n);printf(-3.退出本菜单-n);。
7、printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item)case 1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;ii;j-)if(strcmp(stuj-1.code,stuj.code)0)strcpy(temp,stuj-1.code);strcpy(stuj-1.code,stuj.code);strcpy(stuj.code,temp);strcpy(temp,stuj-1.name);strcpy(stuj-1.name,stuj.name);strc。
8、py(stuj.name,temp);strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1.time);strcpy(stuj-1.time,stuj.time);strcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel);str。
9、cpy(stuj.tel,temp);strcpy(temp,stuj-1.mail);strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp);p=&stuj-1.age;q=&stuj.age;s=*q;*q=*p;*p=s; void insert()int i=n,j,flag;printf(请输入待增加的学生数:n);scanf(%d,&m);doflag=1;while(flag)flag=0;printf(请输入第%d 个学生的学号:n,i+1);scanf(%s,stui.code);for(j=0;ji;j+)if(strcmp。
10、(stui.code,stuj.code)=0)printf(已有该学号,请检查后重新录入!n);flag=1;break; printf(请输入第%d 个学生的姓名:n,i+1);scanf(%s,stui.name);printf(请输入第%d 个学生的年龄:n,i+1);scanf(%d,&stui.age);printf(请输入第%d 个学生的性别:n,i+1);scanf(%s,stui.sex);printf(请输入第%d 个学生的出生年月:(格式:年.月)n,i+1);scanf(%s,stui.time);printf(请输入第%d 个学生的地址:n,i+1);scanf(%s。
11、,stui.add);printf(请输入第%d 个学生的电话:n,i+1);scanf(%s,stui.tel);printf(请输入第%d 个学生的E-mail:n,i+1);scanf(%s,stui.mail);if(flag=0)i=i;i+;while(in+m);n+=m;printf(录入完毕!nn);sort(); void del()int i,j,flag=0;char s1LEN+1;printf(请输入要删除学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;for(j=i;jn-1。
12、;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在!n);if(flag=1)printf(删除成功,显示结果请选择菜单n);n-; void display()int i;printf(所有学生的信息为:n);printf(学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);for(i=0;in;i+) printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stu。
13、i.mail); void save()int i;FILE *fp;fp=fopen(student.txt,w); for(i=0;in;i+)fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp); void menu()int num;printf( nn 学生信息管理系统 nn);printf(*系统功能菜单* n);printf(友情提示:查询前请先刷新系统!n);printf( - - n)。
14、;printf( * n);printf( * 0.系统帮助及说明 * * 1.刷新学生信息 * n);printf( * n); printf( * 2.查询学生信息 * * 3.修改学生信息 * n);printf( * n);printf( * 4.增加学生信息 * * 5.按学号删除信息 * n);printf( * n);printf( * 6.显示当前信息 * * 7.保存当前学生信息* n);printf( * * n);printf( * 8.退出系统 * n);printf( * n);printf( - - n);printf(请选择菜单编号:);scanf(%d,&num);switch(num) case 0:help();break;case 1:readfile();break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf(请在-8之间选择n);14欢迎下载。
-
学生成绩管理系统(C语言)
2018-02-02 13:59:19主要实现学生信息,课程,成绩的录入,学生信息的修改,查找学生的信息,删除学生的信息,保存为文件, -
C语言编写学生成绩管理系统
2020-08-28 06:37:12主要为大家详细介绍了C语言编写学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
利用C语言结构体实现学生成绩录入系统
2022-06-14 16:49:18输入2则调用print函数打印学生成绩单 输入3可以根据学号匹配学生并对其成绩进行修改 输入4可以对当前所有学生的总成绩进行排序 输入5则可以计算当前学生平均分 输入6可以打印出成绩单中所有存在不及格科目的学生 ... -
C语言-学生成绩管理系统-02.zip
2019-09-15 15:37:05C语言-学生成绩管理系统02--可用来学习C语言 1. 可实现对学生信息进行登记、删除、查询、修改的基本功能 2. 可对录入的信息进行保存,并采用文件存储的形式 3. 可输出全部学生的信息,从文件中读取 4. 可对学生各科... -
c语言版学生成绩管理系统(实验报告)
2017-07-22 13:37:273)学生成绩管理系统 需要处理的基础数据 学生基本信息:如班级、学号、姓名、性别、年龄等。 学生选修课程的基本信息:课程编号、课程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*0.7+平时成绩*0.3... -
C语言开发简单的学生成绩管理系统
2019-10-12 08:11:50C语言开发简单的学生成绩管理系统,包含如下功能: 1.录入学生信息:用户可以自由输入学生信息到系统中。 2.打印学生信息:格式化展示系统中的学生信息。 3.保存学生信息:将系统中的学生信息保存到本地文档。 4.... -
C语言 学生成绩管理 txt存储数据
2021-12-24 11:20:30} } /*数据录入*/ lx() { FILE *fp; char ch; if((fp=fopen("cj.txt","a+"))==NULL) { printf("Cannot open file strike any key exit!"); getch(); exit(0); } printf("ClssNO. NO. Name Score1 Score2 Score3\n")... -
c语言 实训学生成绩管理 显示录入等功能
2020-11-28 12:47:23多功能结合一体的小程序,是C语言期末实训的必有小帮手 程序有点粗糙但是可以凑活的使用,欢迎各位来下载观看, void jiemian();//登入后显示的功能界面 void zhanghao(); //账号的界面 void shuru(); //成绩的... -
C语言编写学生成绩信息管理系统
2020-07-07 08:18:08(1)具有数据录入功能 (2)具有数据浏览功能 (3)具有各种查询(如按学号查询、按姓名查询)及查询结果输出功能 (4)具有数据修改功能(单项修改) (5)具有数据删除功能 (6)具有数据文件建立和读写功能(7)... -
学生成绩管理系统 大一的C语言大作业
2021-06-24 17:23:581.录入每个学生的学号、姓名和各科考试成绩 2.计算每门课程的总分和平均分 3.计算每个学生的总分和平均分 4.按每个学生的总分由高到低排出名次表 5.按每个学生的总分由低到高排出名次表 6.按学号由小到大排出... -
学生成绩管理系统(C语言实现)
2020-07-13 10:29:42设计一个学生成绩管理系统,包括学生成绩数据的增删改查等基本操作,通过编程实现如下菜单驱动的学生成绩管理系统。 -
C语言—学生成绩管理系统
2018-11-30 15:18:34作者大一刚学完谭浩强C语言课程设计(第四版)之后所写,代码简单容易读,适合C语言课程设计大作业,初学,不好勿喷,我会慢慢学的 -
c语言项目学生成绩管理系统
2020-07-19 22:54:34程序主要实现的功能有:学生信息的录入(动态链表创建),输出所有学生信息(链表遍历),输出排名(单向链表排序),以及一系列基于链表操作的查询,修改,添加学生成绩和求平均分,统计分数区域人数等功能。 -
C语言期末作业学生成绩管理系统,适合初学者使用,附源码和设计文档
2021-08-06 22:35:01C语言期末作业学生成绩管理系统(免积分下载) ... 6、录入学生成绩 单个录入 批量导入 7、重置学生密码 8、显示所有在校学生信息 9、显示所有退出学生信息 10、三次密码错误锁定帐号,由校长解锁 0、返回上一级 -
基于C语言的学生成绩管理系统.zip
2022-06-15 20:59:11实现:学生信息的录入;修改;删除和查询,按学期、学号、成绩不及格等查询。 ⑴ 输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩 ⑵ 显示全部学生各科成绩信息; ⑶ 对各科成绩统计分析(总分、平均... -
学生成绩管理系统 (C语言版)课程设计
2018-10-27 16:42:411.可实现对学生成绩的录入、查询、增加、删除、输出基本操作 2.可对学生的成绩进行排序,按总分排序、按科目排序、按平均分排序等 3.录入学生的基本分数,可计算并输出学生的操行分,成绩等级等 4.采用了文件的读和... -
用c语言做学生成绩统计程序
2022-01-10 22:47:141.录入学生信息和成绩 2.查找学生信息和 3.增加学生信息 4.修改学生信息 5.删除学生信息 6.打印学生成绩排名 7.打印出优秀和不及格学生 8.退出程序 二、程序设计的思想 我们的思路要对它有一个大概的轮廓,... -
成绩管理系统——c语言例题_C语言_学生成绩管理系统_
2021-10-03 18:24:56简单的学生成绩管理系统。有操作界面,可以对学生成绩进行录入、查询、求平均。 -
用c语言编写学生成绩管理系统
2021-05-19 16:08:24用c语言编写学生成绩管理系统代码留念(1)给出所选课程设计题目以及本题目具体所要完成的功能要求说明。1.课程设计题目:学生成绩管理系统2.完成的功能要求:(1).主要实现的功能:1---学生输入2---学生插入3---学生... -
基于C语言的学生成绩管理系统
2022-06-10 14:47:53该学生管理系统利用C语言管理学生成绩,高效处理学生信息,主要功能为录入、打印学生信息,对学生信息进行保存和读取,统计学生人数,查找学生信息,修改和删除学生信息等。 -
C语言:学生成绩管理系统
2021-12-14 10:32:011.学生学习成绩录入 2.学生学习成绩输出 3.删除某学生信息 4.按姓名查询某学生信息并输出 5.修改某学生信息 6.添加某学生信息 7.按总成绩排名 等等功能! 二:实现: 为了方便修改,同时增加代码的可读性... -
c语言作业——学生成绩统计.docx
2021-07-13 15:07:57(2)学生成绩录入; (3)统计学生成绩分布情况(每个分数段人数); (4)查找最高分、最低分;计算学生成绩均值和方差;并输出这四个结果; (5)判断成绩是否服从正态分布; (6)统计不同生源地学生的平均成绩...