‘壹’ 用标准c语言编写学生信息管理系统
把我之前做的给你吧,差不多的
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"conio.h"
#define N 50 //定义符号常量,代表学生人数最大值
int count=0; //全局变量,用于记录数组的当前位置
struct student //定义结构体类型,代表学生信息*/
{
char name[9];
char number[10];
float math;
float english;
float physics;
float computer;
};
void input(struct student *arr); //函数声明,输入学生信息*/
void sort(struct student *arr); //函数声明,按总分排序*/
void find(struct student *arr); //函数声明,查找某位学生信息*/
void main()
{
char selmenu; //定义局部变量,用于记录用户选择的功能编号*/
struct student stud[N]; //定义结构体数组,用于记录学生信息*/
do //利用循环显示界面*/
{
system("cls"); //清屏函数*/
printf("\n\n");
printf("欢迎使用学生管理系统\n");
printf("------------------------\n");
printf("学生成绩管理系统 \n\n");
printf("1.输入学生信息 \n");
printf("2.按总分进行排榜 \n");
printf("3.查找相应的学生信息 \n");
printf("4.退出学生成绩管理系统 \n\n");
printf("请输入功能选择编号:");
fflush(stdin); //清空输入缓冲区
scanf("%c",&selmenu); //接受用户选择的功能编号
switch(selmenu) //输入不同功能编号调用相应函数来完成功能
{
case'1':
input(stud); //调用输入学生信息函数,参数为学生信息数组名
break;
case'2':
sort(stud); //调用按总分排榜函数,参数是数组名
break;
case'3':
find(stud); //调用按学号和姓名查找学生信息函数
break;
}
}while(selmenu!='4'); //判断是否退出
printf("*^-^* 谢谢使用 *^-^*\n"); //输出告别词
printf(" 任务完成 ");
getch();
}
void input(struct student *arr) //定义输入学生信息函数
{
char ch; //用于接收用户指令
do //利用循环,由用户控制输入学生成绩
{
system("cls");
printf("\n输入第%d个学生的信息:\n输入学生姓名:",count+1);
scanf("%s",arr[count].name);
printf("\n输入学生学号:");
scanf("%s",arr[count].number);
printf("\n输入数学成绩:");
scanf("%f",&arr[count].math);
printf("\n输入英语成绩:");
scanf("%f",&arr[count].english);
printf("\n输入物理成绩:");
scanf("%f",&arr[count].physics);
printf("\n输入计算机成绩:");
scanf("%f",&arr[count].computer);
count++; //记录当前输入的学生资料的个数
printf("\n是否继续输入(y/n)\n");
fflush(stdin); //清空输入缓冲区
ch=getchar();
}while(ch=='y'||ch=='Y'); //判断用户指令,是否继续输入
}
void sort(struct student *arr) //定义按总分排榜函数
{
int i,j,k; //定义循环变量i,j,最小数位置k
struct student t; //定义交换临时变量
if(count==0) //判断数组中学生成绩是否存在
printf("无学生成绩,请先录入学生信息\n");
else
{
for(i=0;i<count-1;i++) //用选择法按总分对学生成绩排序
{
k=i;
for(j=i+1;j<count;j++) //k为arr[i]到arr[count-1]中最小数的位置
if((arr[k].math+arr[k].english+arr[k].physics+arr[k].computer)<(arr[j].math+arr[j].english+arr[j].physics+arr[j].computer))
k=j;
if(k!=i) //如果最小数不是比较数列中第一个,对调
{
t=arr[k];
arr[k]=arr[i];
arr[i]=t;
}
}
printf("\n总分排榜版:\n\n");
printf("\t姓名\t学号\t数学\t英语\t物理\t计算机\t总分\t名次\n");
for(j=0;j<count;j++) //输出按总分排榜后的学生成绩和名次
printf("\t%-6s\t%-4s\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\t%-5d\n",
arr[j].name,arr[j].number,arr[j].math,arr[j].english,arr[j].physics,arr[j].computer,arr[j].math+arr[j].english,j+1);
}
printf("\n回车键返回主程序\n");
fflush(stdin);
getchar();
}
void find(struct student *arr) //定义查找函数
{
int j;
char name[9]; //用于接收用户输入的学生姓名
char number[10]; //用于接收用户输入的学生学号
system("cls"); //清屏函数
printf("\n请输入要查找的学生资料:\n");
printf("\n学生姓名:");
scanf("%s",name);
printf("\n学生学号:");
scanf("%s",number);
for(j=0;j<count;j++) //使用字符串比较函数查找兵书出符合条件的学生成绩
{
if((strcmp(name,arr[j].name)==0)&&(strcmp(number,arr[j].number)==0))
{
printf("\n\t姓名\t学号\t数学\t英语\t物理\t计算机\t总分\n");
printf("\t%-6s\t%-4s\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\t%-6.1f\n",
arr[j].name,arr[j].number,arr[j].math,arr[j].english,arr[j].physics,arr[j].computer,arr[j].math+arr[j].english);
break;
}
}
if(j>=count) //如果没找到,会从循环条件退出
printf("\n未找到该学生纪录,请核对后重新查找!\n");
fflush(stdin); //清空输入缓冲区
printf("\n回车键返回\n");
getchar();
}
‘贰’ 如何用c语言编写学生信息管理系统
性别也就两种状态,你就 定义 1 表示男性 0 表示女性,用一个int类型存储,名字就定义一个20个字符长度的字符串,电话,学号这些都可以定义为字符串(长度自己选择) 寝室号看情况也可以定义int类型或者字符串类型;
输入就用字符串和整型数字的输入方式啊 scanf
存储的话,一般写入文件里面去,用结构体数组或链表进行 增删改查
‘叁’ 用C语言设计一个学生信息查询系统程序
1、首先创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。
‘肆’ 学生信息管理系统编程(c语言)
挺好的一个题目啊
但我可不愿意帮人写作业
网上很多类似的,你可以参考下:
#include <stdio.h>
#include <string.h> struct student {
char name[30];
float math;
float chinese;
float english;
float average;
};
int MenuChoice(void);
int EnterAccount(void);
void Enter(struct student *fst);
void Amend(struct student *src);
void Delete(struct student *next);
void Print(struct student *out);
main()
{
struct student one[100] = {0}, *look = one;
int menu, t;
while ((menu = MenuChoice()) != 0)
if (menu >= 1 && menu <= 4 && (t = EnterAccount())) {
look = one + t;
switch (menu) {
case 1:
Enter(look);
break;
case 2:
if (strcmp(look->name, ""))
printf("学号:%d\n姓名: %s\n语文成绩: %.1f\n数学成绩:%.1f\n英语成绩: %f\n平均"成绩:%.1f\n",
t, look->name, look->chinese, look->math, look->english, look->average);
else
printf("对不起,该学号不存在!\n");
break;
case 3:
Amend(look);
break;
case 4:
Delete(look);
break;
}
}
else if (menu == 5)
Print(one);
else
printf("错误的请求!\n");
return 0;
}
int MenuChoice(void)
{
int choice;
printf("请选择:\n"
"1 - 新建学生信息\n"
"2 - 查找学生信息\n"
"3 - 修改学生信息\n"
"4 - 删除学生信息\n"
"5 - 打印学生信息\n"
"0 - 退出\n");
scanf("%d", &choice);
return choice;
}
int EnterAccount(void)
{
int ret;
printf("请输入学号:\n");
scanf("%d", &ret);
if (ret >= 1 && ret <= 100)
return ret -1;
return 0;
}
void Enter(struct student *fst)
{
printf("请输入学生姓名、语文成绩、数学成绩、英语成绩和平均成绩\n");
scanf("%s%f%f%f%f", fst->name, &fst->chinese, &fst->math, &fst->english, &fst->average);
}
void Amend(struct student *src)
{
int t;
printf("请选择:\n"
"1 - 修改学生姓名\n"
"2 - 修改学生语文成绩\n"
"3 - 修改学生数学成绩\n"
"4 - 修改学生英语成绩\n"
"5 - 修改学生平均成绩\n");
scanf("%d", &t);
switch (t) {
case 1:
printf("请输入学生的新名字\n");
scanf("%s", src->name);
break;
case 2:
printf("请输入学生新的语文成绩\n");
scanf("%f", &src->chinese);
break;
case 3:
printf("请输入学生新的数学成绩\n");
scanf("%f", &src->math);
break;
case 4:
printf("请输入学生新的英语成绩\n");
scanf("%f", &src->english);
break;
case 5:
printf("请输入学生新的平均成绩\n");
scanf("%f", &src->average);
break;
}
}
void Delete(struct student *next)
{
strcpy(next->name, "");
next->math = next->english = next->chinese = next->average = 0.0;
}
void Print(struct student *out)
{
struct student *up;
for (up = out; out < &up[100]; out++)
if (strcmp(out->name, ""))
printf("学号:%d\n姓名: %s\n语文成绩: %.1f\n数学成绩:%.1f\n英语成绩: %.1f\n平均成绩:%.1f\n",
out-up + 1, out->name, out->chinese, out->math, out->english, out->average);
}
‘伍’ c语言编写学生信息管理系统
稍微用了点c++(你给的分太低)
如下图所示:
studf.txt
操作日志文件:
‘陆’ 用C语言创建学生信息处理系统,要求如下
你这来可以用基本的链表来创建。
链表就是结构体用指针连接起来。
学生的信息可以定义成结构类型。
每个学生就是一个结构体的变量。
每个结构体都有一个指针成员next指向下一个学生的结构体变量。
这样就构成了链表。对链表的增删就是对这个链表指针操作,并释放删除节点空间。
具体链表代码,在我回答记录里,我已经回答过很多次。各种都有,你需要去我回答记录找吧。
‘柒’ 建立一个学生信息系统C语言编程
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
intbExit=0;
inttotal=0;
#defineCreate(the_one)the_one=(Stu*)malloc(sizeof(Stu))
typedef
structStudent
{
charcnum[20]; //字符串学号
intinum; //数字学号
charname[20]; //姓名
floatscore; //成绩
structStudent*next;
}Stu;
Stu*the_one,*h,*pr,*last,*end;//1.添加学生函数
voidADD()
{
intFour=0;
printf("================================
");
Create(the_one);
the_one->next=NULL;
end=last;//end指向倒数第二个结点
last->next=the_one;//将the_one放在链表的最后
last=the_one;//last指向倒数第一个结点
//输入学号
printf("输入学生信息:
学号:");
while(!Four)
{
gets(the_one->cnum);
if(strlen(the_one->cnum)!=4)
printf("输入非法:学号必须是4位,请重新输入!
学号:");
else
Four=1;
}
the_one->inum=atoi(the_one->cnum); //int型学号
//输入姓名
printf("学生姓名:");
gets(the_one->name);
//输入成绩
printf("学生成绩:");
scanf("%f",&the_one->score);
getchar();//接收回车
//总数+1
total++;
//排序
//pr从空head开始,last指向下一个(前趋pr,后趋last)
for(pr=h,last=pr->next;last->next;pr=pr->next,last=pr->next)
{
if(last->inum>the_one->inum)
{
//插入元素the_one
the_one->next=last;
pr->next=the_one;
last=end;//插入完成,将last移到最后。
end->next=NULL;//最后结点指针域置空,last->next为NULL,跳出循环
break;
}
}
printf("================================
");
}
//2.查询学生函数
voidCHECK()
{
Stu*target,*p;
intfond=0;
printf("================================
");
printf("输入要查找学生的学号:
学号:");
Create(target);
gets(target->cnum);
for(p=h->next;p;p=p->next)
{
if(!strcmp(p->cnum,target->cnum))
{
printf("学号为%s的学生信息:姓名(%s),分数(%.2f)
",p->cnum,p->name,p->score);
free(target);
fond=1;
}
}
if(!fond)
printf("WrongStudentNO.!
");
printf("================================
");
}
//3.编辑学生
voidEDIT()
{
Stu*target,*p;
intfond=0;
printf("================================
");
printf("输入要编辑学生的学号:
学号:");
Create(target);
gets(target->cnum);
for(p=h->next;p;p=p->next)
{
if(!strcmp(p->cnum,target->cnum))
{
printf("学号为%s的学生信息:姓名(%s),分数(%.2f)
",p->cnum,p->name,p->score);
printf("请选择修改项目:
1:姓名
2:分数
");
charc;
c=getch();
switch(c)
{
case'1':
printf("输入正确的姓名:");
gets(p->name);
break;
case'2':
printf("输入最新成绩:");
scanf("%f",&p->score);
break;
}
printf("学号为%s的学生最新信息:姓名(%s),分数(%.2f)
",p->cnum,p->name,p->score);
free(target);
fond=1;
}
}
if(!fond)
printf("NotExitThisNO.!
");
printf("================================
");
}
//4.删除学生
voidDELETE1()
{
voidPRINALL();
PRINALL();
Stu*target,*p,*pr;
intfond=0;
printf("================================
");
printf("输入要删除学生的学号:(如果删除所有学生信息,请输入0000)
学号:");
Create(target);
gets(target->cnum);
target->inum=atoi(target->cnum);
// char*zero=&"0000";
if(!strcmp(target->cnum,"0000"))
{
h->next=NULL;
total=0;
}
else
{
for(pr=h,p=h->next;p;pr=pr->next,p=p->next)
{
if(!strcmp(p->cnum,target->cnum))
{
printf("学号为%s的学生信息已删除
",p->cnum);
free(target);
pr->next=p->next;
p->next=NULL;
// free(p);此句报错
fond=1;
total--;
}
}
if(!fond)
printf("没有找到学号为%s的学生,请确认学号输入是否正确
");
}
printf("================================
");
}
//5.打印全部
voidPRINALL()
{
intamounts=1;
Stu*Op;
printf("================================
");
printf("所有学生信息:
");
for(Op=h->next;Op;Op=Op->next)
printf("%d.%s,%s,%.2f
",amounts++,Op->cnum,Op->name,Op->score);
printf("================================
");
}
//6.总人数
voidTOTAL()
{
printf("================================
");
printf("学生总人数:%d
",total);
printf("================================
");
}
//菜单函数
voidMenu()
{
charorder;
printf("================================
");
printf("|1.添加学生.|
");
printf("|2.查询学生.|
");
printf("|3.编辑学生.|
");
printf("|4.删除学生.|
");
printf("|5.打印全部.|
");
printf("|6.总人数.|
");
printf("|7.退出.|
");
printf("================================
");
order=getch();
system("cls");
switch(order)
{
case'1':
ADD();
break;
case'2':
CHECK();
break;
case'3':
EDIT();
break;
case'4':
DELETE1();
break;
case'5':
PRINALL();
break;
case'6':
TOTAL();
break;
case'7':
bExit=1;
break;
}
while(!bExit)
{
getch();
system("cls");
Menu();
}
}
voidmain()
{
//创建链表头
Create(h);
pr=last=end=the_one=h;
the_one->next=NULL; Menu();
}
‘捌’ 如何用c语言制作一个学生信息管理系统,要求以文件形式保存
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//链表结点结构体声明
typedef struct subjects
{
char name[20];
float score;
}sub;
typedef struct student
{
int num;
char name[20];
sub subject[3];
struct student* next;
}stu,*pstu;
#define SIZE sizeof(stu)
//函数申明
pstu LoadInfo();
void PrintMenu();
pstu AddStu(pstu );
pstu DeleStu(pstu );
pstu RwrStu(pstu );
void FindStu(pstu , char );
void Count(pstu ,char * ,float ,float );
void Rank(pstu ,char * );
void SaveQuit(pstu );
//创建菜单,进入选择循环
while(1)
{
PrintMenu();
printf("请输入您的选择编号:");
scanf("%d",&n);
getchar();
switch(n)
{
case 1:
{
system("cls");
j=0;
while(4!=j)
{
printf("欢迎进入信息管理版块! ");
printf("